Writing scripts
The tutorial gets a first script running. This page is about writing scripts that stay easy to read, change and repair.
What a script file contains
A script is one .hs file. Everything in it stands at the left margin and opens a block:
| Block | What it is for |
|---|---|
options: | Settings named once and used throughout the file as {@name} |
command /name: | A command players or the console can run |
item <name>: | An item described once and then asked for by name, in any script; see Actions |
recipe for <item>: | A crafting recipe added to the server; see Recipes |
on <event>: | Code that runs when something happens |
on <event>, <event>: | The same block for each of several events: on player join, player respawn: |
on <event> of <kind>: | The event for one kind of block or creature only: on block break of diamond ore:, on entity death of zombie: |
on chat containing <text>: | Chat messages that have the text in them, whatever the capitals |
on load: | Code that runs each time the file is loaded: defaults, teams |
on unload: | Code that runs when the file is read again or switched off, and when the server stops: taking down what on load: put up, such as a boss bar |
every <time>: | Code that runs again and again, or at a time of day |
function name(): | Code with a name, called from anywhere |
messages: | Text in several languages; see Messages in several languages |
enchantment <name>: | An enchantment of your own; see Enchantments of your own |
advancement "<name>": | An advancement of your own; see Advancements |
test "<name>": | A check of the script itself; see Testing a script |
mob "<name>": | A creature described once and spawned by name; see Mobs of your own |
currency "<name>": | Money of the script's own; see A currency of your own |
placeholder "<name>": | A value other plugins can show; see Other plugins |
They may come in any order. A good order to read is the one the scripts on the Scripts page use: notes, options, functions, commands, events.
# ==============================================================
# Greeter.hs - welcomes players
# ==============================================================
#
# Requires: 1.5.9
# Tags: chat, welcome
#
# Notes
# - Change the messages in the options below.
options:
prefix: "&8[&aHi&8] "
first_time: "&6Welcome to the server, %player.name%!"
on first join:
broadcast "{@prefix}{@first_time}"
give 16 bread to player
on player join:
send "{@prefix}&7Welcome back."
Notes at the top
Lines that begin with # are comments, for people. Start every script with a few that say what it does and what someone might want to change. Three of them mean something more:
| Line | Effect |
|---|---|
# Requires: 1.5.9 | A plugin older than that refuses the file with a clear message |
# Addons: HyperPerms | The file is refused, with a clear message, on a server without that addon |
# Tags: chat, welcome | Shown as tags when the script is on the Scripts page |
Where files go
- Every
.hsfile underplugins/HyperScript/scripts/is loaded, subfolders included. Sort a growing collection into folders:scripts/staff/,scripts/minigames/. - Files load in alphabetical order of their path. It rarely matters: functions may be called before the file that defines them has loaded, and
on load:blocks run after everything is in. - A file named
disabled_<name>.hsis skipped./hyperscript disable <file>renames it for you. - One file per feature is easier to live with than one file for everything: a mistake in a file stops only that file from loading.
Making a script easy to change
- Put every setting in
options:: prefixes, prices, waiting times, permissions. Someone who wants to change the script then never has to read its code. - Give a script one prefix and use it in every message, so players can tell where a message comes from.
- Name variables after the script:
{warp.spawn},{%player%.kits.default}. Two scripts that both use{count}will overwrite each other. - Start a table that is not about players with a fixed word:
{warp.%arg.1%}, never{%arg.1%.warp}, which would land in the data of a player of that name. - Use
local functionfor helpers only one file needs. A plainfunctionis shared by every script, so its name must be unique on the server. - Check what a player typed before using it:
parse arg.1 as numbergives unset for text that is not a number, andif arg.1 is not set:catches a missing argument. - Guard player-only commands with
if player is not set:so the console gets a sensible answer instead of an error.
One file for every setting. With options-file: true in config.yml, HyperScript writes the options: of every script into plugins/HyperScript/options.yml, grouped by file:
Shop.hs:
prefix: '&8[&6Shop&8] '
price: 50
Whoever runs the server can then change prices and messages there without opening a script. While this is on, a value in options.yml is used instead of the one in the script, so change it there; an option is added to the file the first time a script has it. It is off unless you turn it on, because with it on, editing an option inside a script no longer changes anything.
Finding mistakes
| Tool | What it tells you |
|---|---|
| Saving the file | With hot reloading on, a mistake is reported in chat to admins, with the file and line |
/hyperscript check <file> | Reads a script and reports mistakes without loading it, and any variable in it whose name looks like a slip. Without a file it does so for every script, one after the other |
/hyperscript backup | Makes a backup of the saved variables now, in plugins/HyperScript/Backups, beside the ones that are made by themselves |
/hyperscript reload | Loads everything again and lists every file that failed |
/hyperscript list | Which scripts are loaded, and which are disabled |
/hyperscript variables <name> | Look at a saved variable, or everything under a name such as warp; add set <value> or delete to change it. A player's own is written Steve.coins |
/hyperscript help | Every command of /hyperscript with a line about what it is for |
/hyperscript reload <script> | Reads one script again and leaves the others as they are: their on load: does not run again. The quickest way to try a change to one file on a server with many |
/hyperscript uninstall <script> | Takes a script out of the scripts folder and reloads. It is not destroyed: it is moved to plugins/HyperScript/removed-scripts, from where it can be put back |
/hyperscript errors | What went wrong lately: scripts that did not load, and the last failures while running, each with its file, line, the line itself, how often and who caused it. errors clear empties the list |
/hyperscript speed | Measure how fast scripts run on this server: twelve kinds of work, from adding to a variable to asking the world for a block, each as "this many a second". It first finds a number of rounds worth timing, then runs that 25 times and reports the middle result. Takes a few seconds and never holds the server up |
/hyperscript run <line> | Reads one line of script and runs it at once, as you: /hyperscript run send "%amount of diamond in inventory of player%". For trying something without writing a file. The line can call the functions of the scripts that are loaded; what is wrong with it is said in chat |
/hyperscript watch {variable} | Tells you in chat each time that saved variable is set: what it became, and the script and line that ran last. {coins} watches it for every player and everybody's alike, and a name such as {warp} everything under it. /hyperscript watch off stops, /hyperscript watch alone lists what you watch |
/hyperscript debug <player> | Shows you every line of every script as it runs for that player, with its file and number, and under each line what it did: what a variable became ({_coins} = 7, {a player's coins} = 7) and which way an if went. The quickest way to see where a script stops or which branch it takes. At most forty lines a second are shown. /hyperscript debug off stops it |
/hyperscript test [script] | Runs the test "...": blocks of one script, or of all of them, and says which passed. See Testing a script |
/hyperscript search <word> | Looks on the HyperScript website for scripts whose name, author or description has that word: the ready-made ones and those people sent in. Each comes with the id to install it by, and for a player each result can be clicked: the script's name and who made it are shown with the question whether to install it, and a click on [Yes, install it] fetches and loads it at once. [No] leaves it |
/hyperscript addon list | The addons the HyperScript website has, each with its newest version and whether this server has it |
/hyperscript addon install <name> | Fetches the newest jar of that addon into the plugins folder, after checking that the file is the one the website describes. Tab offers the addons this server does not have yet. While it downloads, a player sees how far it is on the action bar, and the console is told at every quarter. The addon is loaded when the server is next started. One that is installed already is left alone: /hyperscript update is what fetches a newer one |
/hyperscript install <id> [folder] | Fetches that script from the website into the scripts folder and loads it. With a folder, such as /hyperscript install Ranks ServerSetup, it goes into that folder inside the scripts folder, which is made if it is not there. The id is what search shows, and what each script's page on the website shows. A file of yours with the same name is never overwritten. Installing a script again that was installed this way updates it, if the website has another text of it by now: the options you changed keep your values, and your old copy is kept beside it as <name>.hs.old. Anything else you changed in the file is in that copy, not in the new file While it downloads, a player sees how far it is on the action bar, and the console is told at every quarter |
/hyperscript update | Looks for a newer HyperScript and for newer versions of the addons that are installed, on Modrinth and, if Modrinth does not answer, on the HyperScript website. A newer HyperScript is downloaded for the next restart. If addons have a newer version it lists them and asks whether to update them as well: /hyperscript update addons is the yes, and a player can click the line. /hyperscript update all fetches everything without asking. Every download shows how far it is, by name: to a player on the action bar, to the console at every quarter. Each file is checked against what it should be before it is kept. A jar named after its version (HyperScript-1.7.24.jar) is followed by one named after the new version, and the old one is removed; a jar you renamed keeps its name. /hyperscript upgrade is the same command, and auto-update: true in config.yml does it by itself a moment after every start, addons included. /hyperscript version shows what is running, with every addon and its version |
/hyperscript update scripts | Brings every script that was installed from the website up to date, each keeping the options you set, with the file as it was beside it as <name>.hs.old. Which scripts those are is kept in plugins/HyperScript/installed-scripts.json: the file, the id it was installed by, its version and when. A script installed before that list existed is found by the line an install writes at its top |
/hyperscript new <kind> <name> | Writes a small script of that kind to the scripts folder and loads it, as something to start from: command (one command), shop (a menu that sells for coins), kit (items once a day), join (welcome messages) or minigame (last player standing). /hyperscript new shop market makes market.hs with the command /market |
/hyperscript timings | Which scripts have taken the most time, and how long each run takes on average. /hyperscript timings <script> times every line of one script for thirty seconds and lists the slowest, so that the one line that is slow can be found Under it stands what HyperScript keeps going by itself between the lines of scripts: particles that stay, text in front of players, action bars, pointers and the rest, each with how much there is of it and what a tick of it costs |
/hyperscript particle [name] | Without a name, lists every particle this server has. With one, draws a ring of it in front of you for five seconds: a quick way to see what a particle looks like, and to find out whether particles are shown in your game at all (Options > Video Settings > Particles) |
/hyperscript docs <word> | Searches this documentation from inside the game: the statements written with that word, then those that mention it, each with what it does, and a link to the examples |
log "..." | Prints a value to the console while you work out what a script is doing |
A slip in a variable's name is pointed out. When the scripts load, a saved variable that is read but that no script ever sets, and whose name is a letter away from one that is set, gets a line in the console: shop.hs:14 {%player%.coinz} is read, but no script ever sets it. Did you mean {%player%.coins}? /hyperscript check <file> says the same for one script. Local variables get the same care inside their own block: {_coinz} that is read where only {_coins} is set is pointed out too. It is a remark, not an error: the script loads all the same. Only such near misses are named, since a variable may well be set by something other than a script.
An error about a word HyperScript does not know suggests the nearest one it does: Unknown event 'player joined'. Did you mean 'player join'? That goes for events, statements, functions, the options of a command, the names in an options: block, the word a block starts with (comand /shop:), and for items, blocks, entities, effects and enchantments (Unknown block 'dimond block'. Did you mean 'diamond block'?).
In chat, a mistake can be clicked. When a script does not load, whoever has hyperscript.admin is shown the report, the line it is about, and, where HyperScript can tell what was meant, the line as it should be:
- shop.hs:12 Unknown block 'dimond block'. Did you mean 'diamond block'?
12 | set block at player to dimond block
fix | set block at player to diamond block [copy]
Click the suggestion or the green line to copy it, and paste it over the old one in your editor. Click the file's name to put /hyperscript check shop.hs in the chat box. The same is shown after /hyperscript reload and /hyperscript check. The console gets the plain report.
Finding out what went wrong. /hyperscript errors lists the scripts that did not load and the last failures of running scripts, newest first:
Failures while running, newest first:
Shop.hs:54 12s ago, 3 times, last by Steve
> give 1 {_material} to player
Cannot give an item: the value is not set
A failure that repeats is listed once, with a count. The player whose command or click failed is told player-error-message from config.yml instead of nothing happening; set it to "" to tell them nothing. Admins see the real message in chat (with notify-script-errors) and not that line.
All at once. When a file has mistakes, HyperScript names one for each part of the file that has any (each command, event and function), not only the first, so they can be fixed in one go. The file is still loaded as a whole or not at all. The first mistake named is always the real one; a later one can be a knock-on of an earlier.
There are two kinds of mistake:
- When a script loads. A line HyperScript cannot read: a missing quote, an unknown event, a misspelt item. The whole file is refused, with the line number, and nothing in it runs. Fix the line and save.
- While a script runs. The line reads fine but cannot be done: adding a number to a location, dividing by zero. That one trigger stops; the rest of the script carries on. The message goes to the console and, with
notify-script-errors: true, to admins in chat, at most once a minute per message.
Most surprises come from a value being unset. An unset value counts as 0 in math, as nothing in text and as false in a condition, so a script keeps going where you might expect an error. When something does nothing, log the values on the line before it.
Testing a script
A script can carry its own checks, so that after a change you know in a second whether it still does what it should:
command /daily:
trigger:
add 100 to {%player%.coins}
send "&aYou got 100 coins."
test "daily pays a hundred":
execute player command "/daily"
expect {%player%.coins} is 100
expect test log contains "You got 100 coins"
/hyperscript test runs every test of every script; /hyperscript test Shop only those of Shop.hs. Each is listed as passed or failed, with the line that did not hold.
| Written | Meaning |
|---|---|
test "<what it shows>": | At the left margin. The block is read when the script loads, so a mistake in it is found then, but it only ever runs for /hyperscript test |
expect <condition> | The test fails here if the condition is not true |
test log | Everything the script has done in this test so far, as text: messages sent, items given, blocks set. Look into it with contains |
- Tests run on a pretend server, the same one the playground uses. Nothing they do reaches your world or your players, and saved variables are not touched: every test starts with none. The player is called Steve.
execute player command "/name"really runs that command of the same script, as Steve. Functions can be called directly.- Because the server is pretend, it knows nothing of your world:
waitdoes not wait, a question about a block or another player has no answer, and what addons add is not there. Tests are for a script's own reasoning: prices, permissions, what is saved, what is said.
Scripts straight from the website. /hyperscript search kits lists matching scripts, and /hyperscript install <id> puts one in the scripts folder and loads it, without leaving the game. The ready-made scripts install by their name (/hyperscript install Kits); those people sent in by the id shown on their page. Scripts people sent in were looked at before they were put on the website, but they are other people's code: read one before you rely on it.
Using scripts other people wrote
The Scripts page has ready-made scripts. Each shows the commands it adds, the settings you can change, the permissions it uses and the version it needs. Download one into the scripts folder and it is live.
Every script on the website has an id, and Copy id next to it copies that. On the server, /hyperscript install <id> fetches the script and loads it.
A script written for Skript can be turned into HyperScript on the From Skript page. It rewrites the common things and leaves the rest for you to finish.
Before adding a script from anywhere else, read it. A script can run console commands, change files in the plugin folder and send web requests. /hyperscript check <file> tells you whether it loads, not whether you want what it does.
Addons
An addon is a separate plugin that adds statements, values and events to the language. Install it next to HyperScript and its syntax works in every script. The Addons page lists the ones published here, and on the Docs page everything an addon adds carries the addon's name and can be shown or hidden with the From filter.
| Addon | Works with | Adds |
|---|---|---|
| HyperVelocity | A Velocity proxy | Players, events and variables across the servers of a network |
| HyperGuard | WorldGuard | Regions: who is in them, entering and leaving, owners, flags, claiming |
| HyperPerms | LuckPerms | Groups, ranks for a while, single permissions, prefixes |
| HyperCitizens | Citizens | NPCs that look like players, walk, talk and are clicked |
| HyperVotes | NuVotifier or Votifier | on vote:, vote counts and streaks, vote parties |
| HyperBedrock | Geyser and Floodgate | Telling Bedrock players apart, and Bedrock's own forms |
| HyperVoice | Simple Voice Chat | Voice groups, muting, who is connected |
| HyperModels | ItemsAdder, Oraxen or Nexo | Custom items, blocks and furniture |
| HyperEdit | WorldEdit or FastAsyncWorldEdit | Schematics, large edits and undo |
| HyperMobs | MythicMobs | Spawning mythic mobs, casting their skills, on mythic mob death |
| HyperHolograms | DecentHolograms | Holograms with pages, for some players only, that can be clicked |
| HyperEconomy | Vault | A currency of your scripts as the server's money, for every plugin that pays through Vault |
A script that uses an addon's syntax does not load without the addon; the error names the line.
Scripts in another language
Scripts are written in English, and can be written with the words of another language as well. Which one is chosen with language: in config.yml:
language: english # english | french | spanish | portuguese | german
/hyperscript reload reads it again, so it can be changed without a restart. With french, a script can say this:
commande /bonjour:
déclencheur:
si le joueur a la permission "bonjour.vip":
envoyer "&6Bonjour, %joueur%!" au joueur
sinon:
envoyer "&aBonjour!" au joueur
attendre 2 secondes
donner 1 diamond au joueur
and it is read as:
command /bonjour:
trigger:
if player has permission "bonjour.vip":
send "&6Bonjour, %player%!" to player
else:
send "&aBonjour!" to player
wait 2 seconds
give 1 diamond to player
On this website, the menu at the top right shows the examples and the syntax of the docs with the words of a language, so they can be read, and copied, the way a server with that setting takes them. *Try it* always opens the English, which is what the Playground reads.
Not everything is translated, and not every translation is correct. What to know:
- It is a list of words, not a grammar. The words of a line stay in the order English has them:
si le joueur a la permission "x":works, a sentence turned round the way the language would have it may not. - English works in every script whatever language is chosen, also mixed into a line. A word that is not in the list is left as it is, so everything that has no translation is written in English: the names of items, blocks, creatures, sounds and worlds, and all the syntax the table below does not name.
- With
englishnothing else is looked for, and a script written in another language does not load. - Text in quotes, comments, the names of variables, commands, options and functions are yours and are never changed. Code inside text is read as code:
"%joueur%"is"%player%". - A word is also known without its accents:
definirfordéfinir,loscheforlösche. - Errors,
/hyperscriptand these docs stay in English, and an error shows the line as it was read, in English. - A word that is an English word of a script already keeps its English meaning. That is why Spanish
yis not *and* (it is the height of a place; writeeorand),si nois *if not* and sosinois *else*, and GermanTagis not *day* (writeTageorday).
Addons bring the words for their own syntax (coller le schéma with HyperEdit, créer région with HyperGuard) and take the language from this setting; they have none of their own. Each addon's page lists its words.
To add words, or to say one differently, put a file named after the language into the plugin's languages folder, such as plugins/HyperScript/languages/french.txt, with a line for each:
send = envoyer | balancer
broadcast = crier
The words each language has:
| English | French | Spanish | Portuguese | German |
|---|---|---|---|---|
| command | commande | comando | comando | befehl |
| trigger | déclencheur, déclenche | disparador, acción | gatilho, ação | auslöser, aktion |
| permission | permiso | permissão | berechtigung, recht | |
| permission message | message de permission | mensaje de permiso | mensagem de permissão | berechtigungsnachricht |
| description | descripción | descrição | beschreibung | |
| usage | utilisation | uso | uso | verwendung |
| aliases | alias | alias | apelidos | aliase |
| cooldown | délai, temps de recharge | enfriamiento, tiempo de espera | recarga, tempo de espera | abklingzeit |
| cooldown message | message de délai | mensaje de enfriamiento | mensagem de recarga | abklingnachricht |
| options | opciones | opções | optionen | |
| variables | variáveis | variablen | ||
| function | fonction | función | função | funktion |
| return | retourner, renvoyer | devolver, retornar | retornar, devolver | zurückgeben |
| on | quand, lorsque | cuando | quando | bei, sobald |
| every | chaque, toutes les, tous les | cada | cada, a cada | jede, jeden, jedes |
| if | si | si | se | wenn, falls |
| else if | sinon si | sino si, de lo contrario si | senão se | sonst wenn, andernfalls wenn |
| else | sinon | sino, de lo contrario | senão | sonst, andernfalls |
| unless | sauf si | a menos que | a menos que | außer wenn |
| loop | boucle, répéter | bucle, repetir | laço, repetir | schleife, wiederhole |
| for each | pour chaque | para cada | para cada | für jeden, für jede, für jedes |
| while | tant que | mientras | enquanto | solange |
| times | fois | veces | vezes | mal |
| switch | selon | según | conforme | je nach |
| case | cas | caso | caso | |
| default | défaut, par défaut | defecto, por defecto | padrão | standard |
| break | sortir | salir | sair | abbrechen |
| continue | continuer | continuar | continuar | weiter |
| stop | arrêter, stop | parar, detener | parar | stopp, stoppen |
| wait | attendre | esperar | esperar | warte, warten |
| wait until | attendre que | esperar hasta que | esperar até que | warte bis |
| try | essayer | intentar | tentar | versuche, versuchen |
| on error | en cas d'erreur, si erreur | en caso de error, si error | em caso de erro, se erro | bei fehler |
| set | définir, mettre | establecer, poner | definir, pôr | setze, setzen |
| to | à, au, aux, vers | al, a la, a los, a las, hacia | para, ao, à, aos, às | auf, zu, zum, zur |
| add | ajouter | añadir, agregar, sumar | adicionar, somar | addiere, hinzufügen, füge |
| subtract | soustraire | restar | subtrair | subtrahiere, abziehen |
| remove | retirer, enlever | quitar, retirar | remover, retirar, tirar | entferne, entfernen |
| from | depuis, de la part de | desde | desde | von, vom, aus |
| delete | supprimer | borrar, eliminar | apagar, excluir | lösche, löschen |
| clear | vider | vaciar, limpiar | limpar, esvaziar | leere, leeren |
| append | ajouter à la fin | anexar | anexar | anhängen, hänge |
| give | donner | dar | dar | gib, geben |
| send | envoyer | enviar, mandar | enviar, mandar | sende, senden, schicke |
| broadcast | annoncer, diffuser | anunciar, difundir | anunciar, transmitir | verkünde, verkünden, rundruf |
| teleport | téléporter | teletransportar | teleportar, teletransportar | teleportiere, teleportieren |
| kill | tuer | matar | matar | töte, töten |
| heal | soigner | curar | curar | heile, heilen |
| feed | nourrir | alimentar | alimentar | füttere, füttern |
| kick | expulser | expulsar, echar | expulsar | kicke, rauswerfen |
| ban | bannir | banear, prohibir | banir | banne, bannen |
| spawn | faire apparaître, invoquer | generar, invocar | gerar, invocar | erschaffe, spawne |
| apply | appliquer | aplicar | aplicar | wende an, anwenden |
| execute | exécuter | ejecutar | executar | führe aus, ausführen |
| console command | commande de console | comando de consola | comando do console | konsolenbefehl |
| cancel event | annuler l'événement, annuler événement | cancelar evento, cancelar el evento | cancelar evento, cancelar o evento | ereignis abbrechen, breche ereignis ab |
| play sound | jouer le son, jouer son | reproducir sonido, tocar sonido | tocar som, reproduzir som | spiele ton, ton abspielen |
| title | titre | título | título | titel |
| subtitle | sous titre | subtítulo | subtítulo | untertitel |
| action bar | barre d'action, barre action | barra de acción | barra de ação | aktionsleiste |
| open | ouvrir | abrir | abrir | öffne, öffnen |
| close | fermer | cerrar | fechar | schließe, schließen |
| player | joueur | jugador | jogador | spieler |
| players | joueurs | jugadores | jogadores | mitspieler |
| all players | tous les joueurs | todos los jugadores | todos os jogadores | alle spieler |
| all | tous, toutes, tout | todos, todas, todo | todos, todas, tudo | alle, allen |
| to player | au joueur | al jugador | ao jogador, para o jogador, para jogador | an spieler, an den spieler, zum spieler |
| to all players | à tous les joueurs | a todos los jugadores | a todos os jogadores, para todos os jogadores | an alle spieler |
| console | consola | konsole | ||
| victim | victime | víctima | vítima | opfer |
| attacker | attaquant | atacante | atacante | angreifer |
| entity | entité | entidad | entidade | wesen, entität |
| block | bloc | bloque | bloco | |
| world | monde | mundo | mundo | welt |
| location | position, emplacement | ubicación, posición | localização, posição | position, ort |
| inventory | inventaire | inventario | inventário | inventar |
| item | objet | objeto | objeto | gegenstand |
| tool | outil | herramienta | ferramenta | werkzeug |
| name | nom | nombre | nome | namen |
| health | vie, santé | vida, salud | vida, saúde | leben, gesundheit |
| max health | vie maximale | vida máxima | vida máxima | maximales leben |
| food | nourriture, faim | comida, hambre | comida, fome | hunger, nahrung |
| level | niveau | nivel | nível | stufe |
| balance | solde | saldo | saldo | kontostand, guthaben |
| gamemode | mode de jeu | modo de juego | modo de jogo | spielmodus |
| survival | survie | supervivencia | sobrevivência | überleben |
| creative | créatif | creativo | criativo | kreativ |
| adventure | aventure | aventura | aventura | abenteuer |
| spectator | spectateur | espectador | espectador | zuschauer |
| message | mensaje | mensagem | nachricht | |
| event | événement | evento | evento | ereignis |
| arg | argument | argumento | argumento | argument |
| value | valeur | valor | valor | wert |
| index | indice | índice | índice | |
| slot | emplacement d'inventaire, case d'inventaire | ranura | espaço | platz |
| create | créer | crear | criar | erstelle, erstellen |
| make | faire | hacer | fazer | lass, lasse |
| say | dire | decir | dizer | sage, sagen |
| show | afficher, montrer | mostrar | mostrar | zeige, zeigen |
| hide | cacher, masquer | ocultar, esconder | ocultar, esconder | verstecke, verstecken |
| exists | existe | existe | existe | existiert |
| replace | remplacer | reemplazar | substituir | ersetze, ersetzen |
| fill | remplir | rellenar | preencher | fülle, füllen |
| copy | copier | copiar | copiar | kopiere, kopieren |
| move | déplacer | mover | mover | bewege, bewegen |
| place | placer | poner en | pôr em | platziere, platzieren |
| take | prendre | tomar | pegar | nimm, nehmen |
| save | sauvegarder, enregistrer | guardar | salvar | speichere, speichern |
| line | ligne | línea | linha | zeile |
| lines | lignes | líneas | linhas | zeilen |
| page | página | página | seite | |
| pages | páginas | páginas | seiten | |
| group | groupe | grupo | grupo | gruppe |
| groups | groupes | grupos | grupos | gruppen |
| amount | quantité, montant | cantidad | quantidade | menge, anzahl |
| reset | réinitialiser | reiniciar, restablecer | reiniciar, redefinir | zurücksetzen, setze zurück |
| named | nommé, nommée | llamado, llamada | chamado, chamada | namens |
| server | serveur | servidor | servidor | |
| servers | serveurs | servidores | servidores | |
| region | région | región | região | |
| regions | régions | regiones | regiões | regionen |
| owner | propriétaire | dueño, propietario | dono, proprietário | besitzer |
| member | membre | miembro | membro | mitglied |
| height | hauteur | altura | altura | höhe |
| radius | rayon | radio | raio | |
| blocks | blocs | bloques | blocos | blöcke |
| text | texte | texto | texto | |
| in front of | devant | delante de, frente a | na frente de, em frente a | vor |
| is | est | es, está | é, está | ist |
| is not | n'est pas, est pas | no es, no está | não é, não está | ist nicht |
| is set | est défini | está definido | está definido | ist gesetzt |
| is not set | n'est pas défini | no está definido | não está definido | ist nicht gesetzt |
| not | pas, non | no | não | nicht |
| and | et | además, e | e | und |
| or | ou | o, u | ou | oder |
| has | possède | tiene | tem, possui | hat, besitzt |
| has permission | a la permission, possède la permission | tiene permiso, tiene el permiso | tem permissão, tem a permissão | hat berechtigung, hat die berechtigung, hat das recht |
| contains | contient | contiene | contém | enthält |
| starts with | commence par | empieza con, comienza con | começa com | beginnt mit |
| ends with | finit par, se termine par | termina con | termina com | endet mit |
| is in | est dans | está en | está em | ist in |
| greater than | plus grand que, supérieur à | mayor que | maior que | größer als |
| less than | plus petit que, inférieur à | menor que | menor que | kleiner als |
| bigger than | plus gros que | más grande que | maior do que | mehr als |
| smaller than | moins que | más pequeño que | menor do que | weniger als |
| at least | au moins | al menos, por lo menos | pelo menos, no mínimo | mindestens |
| at most | au plus | como máximo, a lo sumo | no máximo | höchstens |
| between | entre | entre | entre | zwischen |
| true | vrai | verdadero, cierto | verdadeiro | wahr |
| false | faux | falso | falso | falsch |
| sneaking | accroupi | agachado | agachado | schleichend, schleicht |
| flying | en vol | volando | voando | fliegend, fliegt |
| online | en ligne, connecté | conectado, en línea | conectado | verbunden |
| chance of | chance de | probabilidad de | chance de, probabilidade de | chance von, wahrscheinlichkeit von |
| of | de, du, d'un, d'une | de, del | de, do, da, dos, das | des |
| in | dans, en | en | em, no, na | im |
| at | sur, chez | sobre, en la posición | sobre, na posição | am, bei der position |
| with | avec | con | com | mit |
| for | pour, pendant | por, durante | por, durante | für, lang |
| as | comme, en tant que | como | como | als |
| size of | taille de, taille du | tamaño de, tamaño del | tamanho de, tamanho do, tamanho da | größe von, länge von |
| random | aléatoire, hasard | aleatorio | aleatório | zufällig, zufall |
| number | nombre, numéro | número | número | zahl |
| integer | entier | entero | inteiro | ganzzahl |
| list | liste | lista | lista | liste |
| first | premier, première | primer, primero, primera | primeiro, primeira | erster, erste, erstes |
| last | dernier, dernière | último, última | último, última | letzter, letzte, letztes |
| now | maintenant | ahora | agora | jetzt |
| *(left out)* | le, la, les, un, une | el, la, los, las, un, una | os, um, uma | der, die, das, den, dem, ein, eine, einen, einem, einer |
| tick | ||||
| ticks | ||||
| second | seconde | segundo | segundo | sekunde |
| seconds | secondes | segundos | segundos | sekunden |
| minute | minuto | minuto | ||
| minutes | minutos | minutos | minuten | |
| hour | heure | hora | hora | stunde |
| hours | heures | horas | horas | stunden |
| day | jour | día | dia | |
| days | jours | días | dias | tage, tagen |
| player join | joueur rejoint, joueur se connecte, connexion | jugador entra, jugador se une, entrada | jogador entra, entrada | spieler beitritt, beitritt |
| first join | première connexion | primera entrada, primera vez | primeira entrada, primeira vez | erster beitritt |
| player quit | joueur quitte, joueur se déconnecte, déconnexion | jugador sale, salida | jogador sai, saída | spieler verlässt, verlassen |
| player death | joueur meurt, mort du joueur, mort de joueur | jugador muere, muerte de jugador, muerte del jugador | jogador morre, morte de jogador, morte do jogador | spieler stirbt, spielertod |
| player respawn | joueur réapparaît, réapparition | jugador reaparece, reaparición | jogador renasce, renascimento | spieler respawnt, wiedereinstieg |
| player chat | joueur parle, joueur écrit | jugador habla, jugador escribe | jogador fala, jogador escreve | spieler schreibt, spielerchat |
| player move | joueur bouge, joueur se déplace | jugador se mueve | jogador se move | spieler bewegt sich |
| player kill | joueur tue | jugador mata | jogador mata | spieler tötet |
| player command | commande de joueur | comando de jugador | comando de jogador | spielerbefehl |
| block break | bloc cassé, casse de bloc | bloque roto, romper bloque | bloco quebrado, quebrar bloco | block abgebaut, blockabbau |
| block place | bloc posé, pose de bloc | bloque colocado, colocar bloque | bloco colocado, colocar bloco | block platziert, blockplatzierung |
| entity damage | entité blessée, dégâts d'entité | entidad dañada, daño de entidad | entidade ferida, dano de entidade | wesen verletzt, entitätsschaden |
| entity death | entité meurt, mort d'entité | entidad muere, muerte de entidad | entidade morre, morte de entidade | wesen stirbt, entitätstod |
| left click | clic gauche | clic izquierdo | clique esquerdo | linksklick |
| right click | clic droit | clic derecho | clique direito | rechtsklick |
| inventory click | clic d'inventaire, clic dans l'inventaire | clic de inventario, clic en inventario | clique de inventário, clique no inventário | inventarklick |
| level up | niveau supérieur, gain de niveau | subida de nivel | subida de nível | stufenaufstieg |
| death | mort | muerte | morte | tod |
| load | chargement | carga | carregamento | laden |