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.