News
Spiel
Anleitungen
Downloads
Versionen
/function
BEFEHLE BEFEHLSBLÖCKE & MAPS CHEATS · STUFE 2 Hinzugefügt in 1.14 oder früher

/function Befehl in Minecraft

/function führt alle Befehle einer .mcfunction-Datei aus einem Datenpaket der Reihe nach aus, mit demselben Ausführenden und derselben Position wie der Aufrufer. So werden aus langen Befehlsketten lesbare Dateien, und Makro-Funktionen bekommen Argumente. Ein Funktions-Tag startet mehrere Funktionen auf einmal.

Syntax

/function <name> [<arguments>|with]
ArgumentErwartetWas es macht
nameFunktionID der Funktion oder des Funktions-Tags, zum Beispiel mypack:start oder #minecraft:load.
argumentsoptionalNBT-VerbundCompound mit den Makrowerten, zum Beispiel {name:"Alex",count:3}.
sourceoptionalBlockkoordinaten (x y z)Woher die Makrowerte kommen: Blockkoordinaten, ein Objekt oder eine Speicher-ID, je nach Schlüsselwort.
pathoptionalNBT-PfadOptionaler NBT-Pfad in der Quelle; das Compound dort wird zu den Makro-Argumenten.
Alle 8 Formen
  • /function <name>
  • /function <name> <arguments>
  • /function <name> with block <source>
  • /function <name> with block <source> <path>
  • /function <name> with entity <source>
  • /function <name> with entity <source> <path>
  • /function <name> with storage <source>
  • /function <name> with storage <source> <path>

Beispiele

Eine Funktion ausführen

/function mypack:start

Führt alle Befehle aus data/mypack/function/start.mcfunction einmal der Reihe nach aus.

Java 26.3

Ein Makro-Argument übergeben

/function mypack:greet {name:"Alex"}

In greet.mcfunction wird aus der Makrozeile $say Hallo $(name) der Befehl say Hallo Alex.

Java 26.3

Argumente aus einem Datenspeicher lesen

/function mypack:greet with storage mypack:data player

Nimmt die Makrowerte aus dem Compound player des Datenspeichers mypack:data.

Java 26.3

Load-Funktionen erneut starten

/function #minecraft:load

Führt alle Funktionen des Tags minecraft:load aus, die sonst nach dem Laden laufen.

Java 26.3

Funktion für jeden Spieler

/execute as @a at @s run function mypack:check

Die Funktion läuft einmal pro Spieler, @s und ~ ~ ~ beziehen sich auf diesen Spieler.

Java 26.3
Stell deinen Befehl zusammen

Felder ausfüllen, dann den Befehl kopieren.

Befehlsgenerator

Wo Funktionen liegen

Eine Funktion ist eine Textdatei unter data/<namespace>/function/<name>.mcfunction in einem Datenpaket und wird als namespace:name aufgerufen. Schreib einen Befehl pro Zeile, ohne Schrägstrich am Anfang; Zeilen mit # sind Kommentare. Die Funktions-Tags #minecraft:load und #minecraft:tick starten ihre Funktionen nach dem Laden und in jedem Spieltick. Nach dem Bearbeiten einer Datei nutzt du /reload, und mit /datapack prüfst du, ob das Paket aktiv ist.

Makros und Argumente

Eine Zeile, die mit $ beginnt, ist eine Makrozeile: Jedes $(schlüssel) wird vor dem Ausführen ersetzt. Die Werte übergibst du als Compound wie {name:"Alex"} oder liest sie mit with entity, with block oder with storage aus NBT-Daten. Fehlt ein Schlüssel, bricht der Aufruf mit „Fehlendes Argument“ ab. Makro-Funktionen lassen sich nicht mit /schedule verzögern.

Tipps

  • Kombiniere den Aufruf mit /execute: execute as @a at @s run function mypack:check führt die Datei einmal pro Spieler aus.
  • /return beendet eine Funktion vorzeitig und gibt einen Wert zurück.
  • Eine einzige fehlerhafte Zeile verhindert, dass die ganze Datei geladen wird; das Spiel meldet dann „Unbekannte Funktion“. Das Spielprotokoll zeigt die fehlerhafte Zeile.
  • Funktionen laufen standardmäßig mit Berechtigungsstufe 2; auf Servern ändert das function-permission-level in server.properties.

✓ Geprüft in der Java Edition 26.3 · aktualisiert am 2. November 2026

/function: FAQ

Beginnen Befehle in einer Funktionsdatei mit einem Schrägstrich?

Nein, schreib jeden Befehl ohne Schrägstrich. Zeilen mit # am Anfang sind Kommentare, Zeilen mit $ sind Makrozeilen.

Wie lasse ich eine Funktion in jedem Tick laufen?

Trag sie in den Funktions-Tag minecraft:tick ein, in der Datei data/minecraft/tags/function/tick.json deines Pakets. Halte sie schlank, denn sie läuft 20-mal pro Sekunde.

Wie benutze ich /function?

Gib ihn mit aktivierten Cheats im Chat ein: /function <name> [<arguments>|with].

Wer kann /function benutzen?

Cheats an oder Operator Stufe 2.

Verwandte Befehle