API
Referência do CraftScript
Todas as palavras-chave, operadores, funções e membros disponíveis.
Palavras-chave
| Palavra-chave | Uso |
|---|---|
let / var / const |
Declaram variáveis (const não pode ser reatribuída). |
fun |
Funções com nome e lambdas fun(x) { }. |
class, extends, this, super |
Classes e herança. |
enum |
Enumerações. |
import, from, as |
Módulos. |
if, else, while, for … in, break, continue, return |
Controle de fluxo. |
and, or, not (ou &&, ||, !) |
Lógica. |
true, false, null |
Literais. |
mod, item, block, recipe |
Declarações de conteúdo. |
ore, tree, patch, structure, biome, dimension, terrain, biome_map, carver |
Declarações de geração de mundo. Veja Geração de mundo e Geração por código. |
on … priority |
Tratador de evento. |
command … requires … alias … describe |
Comandos. |
every, after + ticks/seconds/minutes |
Timers. |
Comentários: // linha, # linha, /* bloco */. As instruções são separadas por quebras de linha (ou ;).
Operadores
| Operador | Significado |
|---|---|
+ - * / % |
Aritmética. + concatena se um dos lados for string; também junta listas. |
== != < <= > >= |
Comparação. Um id e uma string são iguais se representam o mesmo id. |
= += -= *= /= |
Atribuição. |
?? |
Valor padrão se o lado esquerdo for null. |
?. |
Acesso seguro: retorna null em vez de falhar. |
a..b |
Intervalo inclusivo de números. |
x[i] |
Índice de lista (negativo conta a partir do fim), chave de mapa, caractere de string. |
Valores falsos: null, false, 0, "", lista ou mapa vazio.
Funções embutidas
| Função | Descrição |
|---|---|
print(...) |
Escreve no log do servidor. |
log(...) |
Igual a print, com o nome do mod. |
str(x) |
Converte para string. |
num(x) |
Converte para número (ou null). |
int(x) |
Parte inteira. |
round, floor, ceil, abs, sqrt |
Matemática. |
min(...), max(...) |
Mínimo/máximo de números. |
sin, cos, atan2, pi() |
Trigonometria, em radianos. |
len(x) |
Tamanho de uma string, lista ou mapa. |
type(x) |
Nome do tipo. |
is(x, Class) |
Verifica uma classe ou enum. |
random(), random(n), random(a, b) |
Decimal 0–1, inteiro 0–n, inteiro a–b. |
chance(p) |
true com probabilidade p (0–1). |
pick(list) |
Elemento aleatório. |
now() |
Milissegundos atuais. |
id("ns:path") |
Cria um identificador. |
item(id, count?, name?) |
Cria um ItemStack. |
color(text) |
Converte & em códigos de cor. |
broadcast(msg) |
Mensagem para todos os jogadores. |
run(command) |
Executa um comando do jogo como o console. Saída de emergência: o formato do comando pertence ao jogo e pode mudar. |
player(name) |
Jogador online ou null. |
players() |
Lista de jogadores. |
world(id?) |
Mundo (a Superfície por padrão). |
mod_loaded(id) |
Outro mod está carregado? |
config(name, values?, synced?) |
Declara ou lê um arquivo de ajustes do mod. |
listen(channel, fun(data, player)) |
Recebe dados em um canal do mod. |
send(player, channel, data) |
Envia dados do servidor para um jogador. |
send_to_server(channel, data) |
Envia dados do cliente para o servidor. |
server |
O servidor. |
tick |
Tick atual. |
game_version, namespace |
Versão do Minecraft e o namespace do mod. |
Membros de string
length, upper(), lower(), trim(), contains(s), starts_with(s), ends_with(s), split(sep), replace(a, b), repeat(n), substring(from, to?), is_empty.
Membros de lista
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().
Membros de mapa
keys(), values(), has(k), get(k, default?), remove(k), size; além do acesso direto com map.key ou map["key"].
Objetos do jogo
Os nomes usam snake_case (max_health) e são os mesmos membros que em Kotlin (maxHealth). Os enums são usados como strings (player.game_mode = "creative"). Detalhes de cada um em O mundo e os jogadores.
| Tipo | Propriedades | 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 (com estados opcionais), 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 | tudo 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 (armazenamento) | keys; data["key"] lê e escreve | 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 geração de mundo
O que as funções de uma declaração de geração de mundo recebem enquanto os chunks são criados. Explicados na página Geração por código.
| Objeto | Propriedades | Métodos |
|---|---|---|
| world (construção de estrutura) | 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 (plano de estrutura) | chunk_x, chunk_z, seed, min_y | height, biome, column, file_size |
| site (construção de estrutura) | 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 (solo do bioma) | x, y, z, depth_above, depth_below, surface_depth, steep | noise |
Tipos de argumento de comando
player, int, number, bool, string (uma palavra), text (o resto da linha), id. Adicione ? para torná-lo opcional.
Limites
- 2.000.000 passos por invocação (evento, comando ou timer).
- 200 chamadas aninhadas (recursão).
- Intervalos de até 1.000.000 elementos.