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.