API

Référence CraftScript

Tous les mots-clés, opérateurs, fonctions et membres disponibles.

Mots-clés

Mot-clé Usage
let / var / const Déclarer des variables (const ne peut pas être réaffectée).
fun Fonctions nommées et lambdas fun(x) { }.
class, extends, this, super Classes et héritage.
enum Énumérations.
import, from, as Modules.
if, else, while, for … in, break, continue, return Structures de contrôle.
and, or, not (ou &&, ||, !) Logique.
true, false, null Littéraux.
mod, item, block, recipe Déclarations de contenu.
ore, tree, patch, structure, biome, dimension, terrain, biome_map, carver Déclarations de génération du monde. Voir Génération du monde et Génération par code.
on … priority Gestionnaire d’événement.
command … requires … alias … describe Commandes.
every, after + ticks/seconds/minutes Minuteurs.

Commentaires : // ligne, # ligne, /* bloc */. Les instructions sont séparées par des retours à la ligne (ou ;).

Opérateurs

Opérateur Signification
+ - * / % Arithmétique. + concatène si l’un des côtés est une chaîne ; il joint aussi les listes.
== != < <= > >= Comparaison. Un id et une chaîne sont égaux s’ils représentent le même id.
= += -= *= /= Affectation.
?? Valeur par défaut si le côté gauche est null.
?. Accès sûr : renvoie null au lieu d’échouer.
a..b Intervalle inclusif de nombres.
x[i] Indice de liste (négatif, il compte depuis la fin), clé de map, caractère de chaîne.

Valeurs considérées comme fausses : null, false, 0, "", liste ou map vide.

Fonctions intégrées

Fonction Description
print(...) Écrit dans le journal du serveur.
log(...) Comme print, avec le nom du mod.
str(x) Convertit en chaîne.
num(x) Convertit en nombre (ou null).
int(x) Partie entière.
round, floor, ceil, abs, sqrt Mathématiques.
min(...), max(...) Minimum/maximum de nombres.
sin, cos, atan2, pi() Trigonométrie, en radians.
len(x) Longueur d’une chaîne, d’une liste ou d’une map.
type(x) Nom du type.
is(x, Class) Vérifie une classe ou une énumération.
random(), random(n), random(a, b) Décimal 0–1, entier 0–n, entier a–b.
chance(p) true avec une probabilité p (0–1).
pick(list) Élément au hasard.
now() Millisecondes actuelles.
id("ns:path") Crée un identifiant.
item(id, count?, name?) Crée un ItemStack.
color(text) Convertit & en codes de couleur.
broadcast(msg) Message à tous les joueurs.
run(command) Exécute une commande du jeu en tant que console. Porte de sortie : le format des commandes appartient au jeu et peut changer.
player(name) Joueur en ligne ou null.
players() Liste des joueurs.
world(id?) Monde (la Surface par défaut).
mod_loaded(id) Un autre mod est-il chargé ?
config(name, values?, synced?) Déclare ou lit un fichier de réglages du mod.
listen(channel, fun(data, player)) Reçoit des données sur un canal du mod.
send(player, channel, data) Envoie des données du serveur vers un joueur.
send_to_server(channel, data) Envoie des données du client vers le serveur.
server Le serveur.
tick Tick actuel.
game_version, namespace Version de Minecraft et espace de noms du mod.

Membres des chaînes

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

Membres des listes

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

Membres des maps

keys(), values(), has(k), get(k, default?), remove(k), size ; plus l’accès direct avec map.key ou map["key"].

Objets du jeu

Les noms utilisent le snake_case (max_health) et sont les mêmes membres qu’en Kotlin (maxHealth). Les énumérations s’utilisent comme des chaînes (player.game_mode = "creative"). Les détails de chacun sont dans Le monde et les joueurs.

Type Propriétés Méthodes
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 (avec états facultatifs), 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 tout ce qu’a 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 (stockage) keys ; data["key"] lit et écrit 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

Objets de la génération du monde

Ce que reçoivent les fonctions d’une déclaration de génération du monde pendant la création des chunks. Expliqué sur la page Génération par code.

Objet Propriétés Méthodes
world (structure build) x, y, z, seed, min_y, max_y block, state, is_air, is_in, can_stay, set (avec états optionnels), inside, surface, top, flow, structures, place_file
plan (structure plan) chunk_x, chunk_z, seed, min_y height, biome, column, file_size
site (structure build) x, y, z, radius, min_y, max_y, data, seed
world (terrain) 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 (biome surface) x, y, z, depth_above, depth_below, surface_depth, steep noise

Types d’arguments de commande

player, int, number, bool, string (un mot), text (le reste de la ligne), id. Ajoute ? pour le rendre facultatif.

Limites

  • 2 000 000 étapes par invocation (événement, commande ou minuteur).
  • 200 appels imbriqués (récursivité).
  • Des intervalles de 1 000 000 éléments au maximum.