API

Riferimento CraftScript

Tutte le parole chiave, gli operatori, le funzioni e i membri disponibili.

Parole chiave

Parola chiave Uso
let / var / const Dichiarano variabili (const non si può riassegnare).
fun Funzioni con nome e lambda fun(x) { }.
class, extends, this, super Classi ed ereditarietà.
enum Enumerazioni.
import, from, as Moduli.
if, else, while, for … in, break, continue, return Controllo del flusso.
and, or, not (o &&, ||, !) Logica.
true, false, null Letterali.
mod, item, block, recipe Dichiarazioni di contenuti.
ore, tree, patch, structure, biome, dimension, terrain, biome_map, carver Dichiarazioni della generazione del mondo. Vedi Generazione del mondo e Generazione tramite codice.
on … priority Gestore di eventi.
command … requires … alias … describe Comandi.
every, after + ticks/seconds/minutes Timer.

Commenti: // riga, # riga, /* blocco */. Le istruzioni sono separate da a capo (o da ;).

Operatori

Operatore Significato
+ - * / % Aritmetica. + concatena se uno dei due lati è una stringa; unisce anche le liste.
== != < <= > >= Confronto. Un id e una stringa sono uguali se rappresentano lo stesso id.
= += -= *= /= Assegnazione.
?? Valore predefinito se il lato sinistro è null.
?. Accesso sicuro: restituisce null invece di fallire.
a..b Intervallo inclusivo di numeri.
x[i] Indice di lista (i negativi contano dalla fine), chiave di mappa, carattere di stringa.

Valori falsi: null, false, 0, "", lista o mappa vuota.

Funzioni integrate

Funzione Descrizione
print(...) Scrive nel log del server.
log(...) Come print, con il nome della mod.
str(x) Converte in stringa.
num(x) Converte in numero (o null).
int(x) Parte intera.
round, floor, ceil, abs, sqrt Matematica.
min(...), max(...) Minimo/massimo di numeri.
sin, cos, atan2, pi() Trigonometria, in radianti.
len(x) Lunghezza di una stringa, lista o mappa.
type(x) Nome del tipo.
is(x, Class) Controlla una classe o un enum.
random(), random(n), random(a, b) Decimale 0–1, intero 0–n, intero a–b.
chance(p) true con probabilità p (0–1).
pick(list) Elemento casuale.
now() Millisecondi attuali.
id("ns:path") Crea un identificatore.
item(id, count?, name?) Crea un ItemStack.
color(text) Converte & in codici colore.
broadcast(msg) Messaggio a tutti i giocatori.
run(command) Esegue un comando del gioco come la console. Via di fuga: il formato del comando appartiene al gioco e può cambiare.
player(name) Giocatore online o null.
players() Elenco dei giocatori.
world(id?) Mondo (l’Overworld per impostazione predefinita).
mod_loaded(id) Un’altra mod è caricata?
config(name, values?, synced?) Dichiara o legge un file di impostazioni della mod.
listen(channel, fun(data, player)) Riceve dati su un canale della mod.
send(player, channel, data) Invia dati dal server a un giocatore.
send_to_server(channel, data) Invia dati dal client al server.
server Il server.
tick Tick attuale.
game_version, namespace Versione di Minecraft e namespace della mod.

Membri delle stringhe

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

Membri delle liste

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().

Membri delle mappe

keys(), values(), has(k), get(k, default?), remove(k), size; più l’accesso diretto con map.key o map["key"].

Oggetti del gioco

I nomi usano lo snake_case (max_health) e sono gli stessi membri di Kotlin (maxHealth). Gli enum si usano come stringhe (player.game_mode = "creative"). I dettagli di ciascuno sono in Il mondo e i giocatori.

Tipo Proprietà Metodi
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 stati facoltativi), 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 tutto ciò che ha 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 (archivio) keys; data["key"] legge e scrive 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

Oggetti della generazione del mondo

Ciò che ricevono le funzioni di una dichiarazione della generazione del mondo mentre i chunk vengono creati. Spiegati nella pagina Generazione tramite codice.

Oggetto Proprietà Metodi
world (costruzione della struttura) 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 (piano della struttura) chunk_x, chunk_z, seed, min_y height, biome, column, file_size
site (costruzione della struttura) 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 (suolo del bioma) x, y, z, depth_above, depth_below, surface_depth, steep noise

Tipi di argomenti dei comandi

player, int, number, bool, string (una parola), text (il resto della riga), id. Aggiungi ? per renderlo facoltativo.

Limiti

  • 2.000.000 di passi per invocazione (evento, comando o timer).
  • 200 chiamate annidate (ricorsione).
  • Intervalli fino a 1.000.000 di elementi.