API

Referencia de CraftScript

Todas las palabras clave, operadores, funciones y miembros disponibles.

Palabras clave

Palabra Uso
let / var / const Declarar variables (const no se puede reasignar).
fun Funciones con nombre y lambdas fun(x) { }.
class, extends, this, super Clases y herencia.
enum Enumeraciones.
import, from, as Módulos.
if, else, while, for … in, break, continue, return Control de flujo.
and, or, not (o &&, ||, !) Lógica.
true, false, null Literales.
mod, item, block, recipe Declaraciones de contenido.
ore, tree, patch, structure, biome, dimension, terrain, biome_map, carver Declaraciones de generación de mundo. Ver Generación de mundo y Generación por código.
on … priority Manejador de eventos.
command … requires … alias … describe Comandos.
every, after + ticks/seconds/minutes Temporizadores.

Comentarios: // línea, # línea, /* bloque */. Las sentencias se separan con saltos de línea (o ;).

Operadores

Operador Significado
+ - * / % Aritmética. + concatena si un lado es texto; también une listas.
== != < <= > >= Comparación. Un id y un texto son iguales si representan el mismo id.
= += -= *= /= Asignación.
?? Valor por defecto si el izquierdo es null.
?. Acceso seguro: devuelve null en vez de fallar.
a..b Rango inclusivo de números.
x[i] Índice de lista (negativos desde el final), clave de mapa, carácter de texto.

Valores falsos: null, false, 0, "", lista o mapa vacíos.

Funciones integradas

Función Descripción
print(...) Escribe en el log del servidor.
log(...) Igual que print, con el nombre del mod.
str(x) Convierte a texto.
num(x) Convierte a número (o null).
int(x) Parte entera.
round, floor, ceil, abs, sqrt Matemáticas.
min(...), max(...) Mínimo/máximo de números.
sin, cos, atan2, pi() Trigonometría, en radianes.
len(x) Longitud de texto, lista o mapa.
type(x) Nombre del tipo.
is(x, Clase) Comprueba clase o enum.
random(), random(n), random(a, b) Decimal 0–1, entero 0–n, entero a–b.
chance(p) true con probabilidad p (0–1).
pick(lista) Elemento al azar.
now() Milisegundos actuales.
id("ns:path") Crea un identificador.
item(id, cantidad?, nombre?) Crea un ItemStack.
color(texto) Convierte & en códigos de color.
broadcast(msg) Mensaje a todos los jugadores.
run(comando) Ejecuta un comando del juego como la consola. Salida de emergencia: el formato de los comandos es del juego y puede cambiar.
player(nombre) Jugador conectado o null.
players() Lista de jugadores.
world(id?) Mundo (por defecto el overworld).
mod_loaded(id) ¿Está cargado otro mod?
config(nombre, valores?, sincronizado?) Declara o lee un archivo de ajustes del mod.
listen(canal, fun(data, player)) Recibe datos por un canal del mod.
send(player, canal, data) Envía datos del servidor a un jugador.
send_to_server(canal, data) Envía datos del cliente al servidor.
server El servidor.
tick Tick actual.
game_version, namespace Versión de Minecraft y namespace del mod.

Miembros de textos

length, upper(), lower(), trim(), contains(s), starts_with(s), ends_with(s), split(sep), replace(a, b), repeat(n), substring(desde, hasta?), is_empty.

Miembros de listas

size, is_empty, first, last, add(x)/push(x), remove(x), remove_at(i), contains(x), index_of(x), join(sep), reverse(), sort(), clear(), map(f), filter(f), each(f), any(f), all(f), sum().

Miembros de mapas

keys(), values(), has(k), get(k, porDefecto?), remove(k), size; y acceso directo mapa.clave o mapa["clave"].

Objetos del juego

Los nombres van en snake_case (max_health) y son los mismos miembros que en Kotlin (maxHealth). Los enums se usan como texto (player.game_mode = "creative"). Detalle de cada uno en El mundo y los jugadores.

Tipo Propiedades Métodos
Player name, uuid, health, max_health, food_level, game_mode, inventory, held_item, is_op, is_sleeping, has_crafting_client, location, world, custom_name, is_alive, data send, action_bar, title, give, set_held_item, play_sound, teleport, heal, damage, has_permission, kick, set_rotation, add_tag, has_tag, set_cooldown, has_cooldown
World id, players, time, is_raining, data block_at, set_block (con estados opcionales), spawn, drop_item, explode, strike_lightning, spawn_particle, play_sound, light_at, container_at, set_sign_text, set_chunk_loaded, entities, living_near, shoot, summon
Block type, x, y, z, world, location, is_solid, data set_type, relative
Entity uuid, type, world, location, custom_name, is_alive, data, direction, vehicle teleport, remove, set_rotation, add_tag, has_tag
LivingEntity lo de Entity, health, max_health damage, heal, set_ai, add_effect, remove_effect, has_effect, effects, add_modifier, remove_modifier, attribute, set_attribute, equipment, set_equipment
Inventory size get, set, add, count, clear
Location world, x, y, z, yaw, pitch, block_x, block_y, block_z add, distance_to
data (almacén) keys; data["key"] lee y escribe get, set, get_int, get_number, get_string, get_boolean, remove, clear
ItemStack item, count, name, lore, data, enchantments with_count
Server players, worlds, motd, tps, is_dedicated player, world, broadcast, stop, run_command

Objetos de generación de mundo

Lo que reciben las funciones de una declaración de generación de mundo mientras se crean los chunks. Se explica en la página Generación por código.

Objeto Propiedades Métodos
world (construcción de estructura) x, y, z, seed, min_y, max_y block, state, is_air, is_in, can_stay, set (with optional states), inside, surface, top, flow, structures, place_file
plan (plan de estructura) chunk_x, chunk_z, seed, min_y height, biome, column, file_size
site (construcción de estructura) x, y, z, radius, min_y, max_y, data, seed
world (terreno) seed, min_y, height biome
world (biome_map) seed tagged
ctx (carver) seed, start_x, start_z, chunk_x, chunk_z, min_y, max_y carve
at (suelo del bioma) x, y, z, depth_above, depth_below, surface_depth, steep noise

Tipos de argumentos de comandos

player, int, number, bool, string (una palabra), text (el resto de la línea), id. Añade ? para hacerlo opcional.

Límites

  • 2.000.000 de pasos por invocación (evento, comando o temporizador).
  • 200 llamadas anidadas (recursión).
  • Rangos de hasta 1.000.000 de elementos.