
Befehl
/function
Führt eine Funktion aus einem Datenpaket aus oder jede Funktion in einem Funktions-Tag.
| /function <name> |
| /function <name> <arguments> |
| /function <name> with (block <source>|entity <source>|storage <source>) [<path>] |
| Argument | Wertart | Einzugeben |
|---|---|---|
| <name> | Funktion | Die ID der Funktion, zum Beispiel my_pack:setup, oder ein Funktions-Tag, das mit # beginnt. |
| <arguments> | Daten in geschweiften Klammern | Die Makrowerte als Daten-Compound, zum Beispiel {name:"Alex"}. |
| <source> | Blockposition | Bei with: die Blockposition, die einzelne Entität oder die Storage-ID, aus der die Makrowerte gelesen werden. |
| <path> | Datenpfad | Bei with: der Datenpfad des Compounds, der die Makrowerte enthält. Optional. |
| Berechtigungsstufe | 2: Operatoren, Welten mit aktivierten Cheats, Befehlsblöcke und Funktionen |
| Funktioniert in | Operatoren auf Mehrspielerservern, Einzelspielerwelten mit aktivierten Cheats sowie Befehlsblöcke und Funktionen. |
| Ergebnis | Meldet „Funktion wird ausgeführt“ mit der Funktions-ID. Gibt eine Funktion einen Wert zurück, meldet sie zusätzlich „Funktion ... hat ... zurückgegeben“, und dieser Wert ist die Zahl, die /execute store speichert. Wenn mehrere Funktionen eines Tags Werte zurückgeben, ist das Ergebnis ihre Summe. |
| Funktions-Tags | Ein Name, der mit # beginnt, führt jede Funktion in diesem Funktions-Tag aus. Enthält der Tag keine Funktionen, schlägt der Befehl mit „Keine Funktionen gefunden“ fehl. |
| Argumente für Makros | Funktionen mit Makrozeilen brauchen Werte. Als Daten-Compound hinter dem Namen schreiben oder mit dem Unterbefehl with aus einem Block, einer Entität oder einem Speicher lesen. |
| with | with block, with entity und with storage übernehmen die Werte aus vorhandenen Daten. Ein optionaler Pfad wählt einen Teil dieser Daten aus, der ein Compound sein muss; sonst schlägt der Befehl fehl mit „Compound erwartet“. |
| Berechtigung in Funktionen | Befehle innerhalb der Funktion laufen höchstens mit Berechtigungsstufe 2, auch wenn die Funktion von jemandem mit höherer Stufe gestartet wird, und sie geben keine eigene Ausgabe aus. |
| Fehlende Werte | Fehlt ein Makrowert oder wird eine Makrozeile zu einem ungültigen Befehl, schlägt der Befehl mit „Funktion konnte nicht instanziiert werden“ fehl. |
/function my_pack:setupFührt die Funktion setup aus dem Datenpaket-Namensraum my_pack aus.
/function #my_pack:start_roundFührt jede Funktion im Funktions-Tag start_round aus.
/function my_pack:greet {name:"Alex"}Führt die Funktion greet aus und setzt ihren Makro-Wert name auf Alex.
/function my_pack:greet with storage my_pack:settings greetingFührt die Funktion greet mit den Makro-Werten aus, die unter greeting im Speicher my_pack:settings abgelegt sind.

