Minecraft Wiki
(Java: 17w49b;)
(Aliasdaten)
Zeile 1: Zeile 1:
 
{{Nutzbarkeit|n|j|j|j}}
 
{{Nutzbarkeit|n|j|j|j}}
'''/function''' lädt eine [[Funktion]], in der weitere Befehle enthalten sein können. Diese werden dann ausgeführt. Funktionen können auch weitere Funktionen aufrufen.
+
'''/function''' startet eine [[Funktion]]. Das ist eine Textdatei, in Befehle enthalten sind, die dann ausgeführt werden. Funktionen können auch weitere Funktionen {{ä|n}} und [[Aliasdaten|Funktions-Aliase]] aufrufen.
   
 
== Syntax ==
 
== Syntax ==
{{ä|e}}<code>/function <''Funktion''> [<''Bedingungsmodus''> <''Bedingung''>]</code><br>
+
{{ä|e}}<code>/function <''Funktion''> [<''Bedingungsmodus''> <''Bedingung''>]</code>
  +
 
{{ä|n}}<code>/function <''Funktion''></code>
 
{{ä|n}}<code>/function <''Funktion''></code>
* ''Funktion'' ist der Name einer [[Funktion]]
+
* ''Funktion'' ist der Name einer [[Funktion]] {{ä|n}} oder eines [[Aliasdaten|Funktions-Aliases]]. Aliase werden mit einer führenden Raute <code>#</code> angesprochen.
* ''Bedingungsmodus'' ist entweder <code>if</code> oder <code>unless</code>
+
* {{ä|e}} ''Bedingungsmodus'' ist entweder <code>if</code> oder <code>unless</code>
 
:{| class="wikitable"
 
:{| class="wikitable"
 
|-
 
|-
Zeile 13: Zeile 14:
 
| unless || Damit die Funktion ausgeführt wird, muss ''Bedingung'' keinen Treffer haben
 
| unless || Damit die Funktion ausgeführt wird, muss ''Bedingung'' keinen Treffer haben
 
|}
 
|}
* ''Bedingung'' ist eine [[Befehl#Zielauswahl|Zielauswahl]], deren Ergebnis festlegt, ob die Funktion ausgeführt wird oder nicht.
+
* {{ä|e}} ''Bedingung'' ist eine [[Befehl#Zielauswahl|Zielauswahl]], deren Ergebnis festlegt, ob die Funktion ausgeführt wird oder nicht.
 
Zur Eingabe eines Befehls siehe [[Befehl#Eingabe]].
 
Zur Eingabe eines Befehls siehe [[Befehl#Eingabe]].
   
 
== Beispiele ==
 
== Beispiele ==
 
{{ä|e}}
<code>/function wiki:commands</code>
 
:lädt die Datei <code>commands.mcfunction</code> im Ordner <code><Weltname>/data/functions/wiki</code> und führt alle Befehle nacheinander aus, die in dieser Datei stehen.
 
   
  +
<code>/function wiki:testbeispiele/funktionstest</code>
  +
:führt die Datei <code>.minecraft/saves/''Name des Weltordners''/data/functions/wiki/testbeispiele/funktionstest.mcfunction</code> aus.
   
{{ä|e}}<br>
 
 
<code>/function wiki:commands if @e[type=creeper,r=5]</code>
 
<code>/function wiki:commands if @e[type=creeper,r=5]</code>
:Führt die [[Funktion]] <code>wiki:commands</code> nur dann aus, wenn sich höchstens fünf Blöcke von der Befehlsquelle entfernt ein Creeper befindet.
+
:Führt die Funktion <code>wiki:commands</code> nur dann aus, wenn sich höchstens fünf Blöcke von der Befehlsquelle entfernt ein Creeper befindet.
 
   
 
<code>/function wiki:commands unless [[Minecraft Wiki:oyo123|oyo123]]</code>
 
<code>/function wiki:commands unless [[Minecraft Wiki:oyo123|oyo123]]</code>
 
:Führt die Funktion <code>wiki:commands</code> nur dann aus, wenn sich kein Spieler namens ''oyo123'' auf dem Server befindet.
 
:Führt die Funktion <code>wiki:commands</code> nur dann aus, wenn sich kein Spieler namens ''oyo123'' auf dem Server befindet.
 
   
 
<code>/function wiki:commands unless @p[score_Craft_min=10,score_Craft=20]</code>
 
<code>/function wiki:commands unless @p[score_Craft_min=10,score_Craft=20]</code>
 
:Führt die Funktion <code>wiki:commands</code> nur dann aus, wenn kein Spieler zu seinem Punktestand-Ziel "Craft" einen Wert zwischen 10 und 20. Werte darunter oder darüber werden akzeptiert.
 
:Führt die Funktion <code>wiki:commands</code> nur dann aus, wenn kein Spieler zu seinem Punktestand-Ziel "Craft" einen Wert zwischen 10 und 20. Werte darunter oder darüber werden akzeptiert.
   
 
{{ä|n}}
  +
  +
<code>/function wiki:testbeispiele/funktionstest</code>
  +
:führt die Datei <code>.minecraft/saves/''Name des Weltordners''/datapacks/''Name des Datenpakets''/data/wiki/functions/testbeispiele/funktionstest.mcfunction</code> aus.
  +
 
<code>/function #wiki:schlossfunktionen</code>
  +
:führt alle Funktionen im Funktions-Alias <code>.minecraft/saves/''Name des Weltordners''/datapacks/''Name des Datenpakets''/data/wiki/tags/schlossfunktionen.json</code> aus.
   
{{ä|n}}<br>
 
 
<code>/execute if entity @e[type=creeper,distance=..5] run function wiki:commands</code>
 
<code>/execute if entity @e[type=creeper,distance=..5] run function wiki:commands</code>
:Führt die [[Funktion]] <code>wiki:commands</code> nur dann aus, wenn sich höchstens fünf Blöcke von der Befehlsquelle entfernt ein Creeper befindet.
+
:Führt die Funktion <code>wiki:commands</code> nur dann aus, wenn sich höchstens fünf Blöcke von der Befehlsquelle entfernt ein Creeper befindet.
   
 
== Geschichte ==
 
== Geschichte ==
Zeile 58: Zeile 63:
 
|list1= *Die Parameter <code>if</code> bzw. <code>unless</code> wurden entfernt. Sie finden sich nun im {{b|/execute}} wieder
 
|list1= *Die Parameter <code>if</code> bzw. <code>unless</code> wurden entfernt. Sie finden sich nun im {{b|/execute}} wieder
 
|group2= {{ver|version|17w49b}}
 
|group2= {{ver|version|17w49b}}
  +
|list2= *Funktionen können zu [[Aliasdaten|Aliasen]] zusammengefasst werden
|list2= *Der Befehl /function kann nicht mehr mit dem {{b|/gamerule gameLoopFunction function}} aufgerufen werden
+
*Der Befehl /function kann nicht mehr mit dem {{b|/gamerule gameLoopFunction function}} aufgerufen werden, stattdessen wird der Funktions-Alias ''minecraft:tick'' verwendet
 
}}
 
}}
 
}}
 
}}

Version vom 14. Dezember 2017, 17:12 Uhr

Nutzbarkeit
 Einzelspieler nein
 Mehrspieler ja
 Cheat ja, j
 Befehlsblock Fehler im Ausdruck: Unerkanntes Wort „j“

/function startet eine Funktion. Das ist eine Textdatei, in Befehle enthalten sind, die dann ausgeführt werden. Funktionen können auch weitere Funktionen Neu mit Version 1.20.3: und Funktions-Aliase aufrufen.

Syntax

Entfällt mit Version 1.20.3:/function <Funktion> [<Bedingungsmodus> <Bedingung>]

Neu mit Version 1.20.3:/function <Funktion>

  • Funktion ist der Name einer Funktion Neu mit Version 1.20.3: oder eines Funktions-Aliases. Aliase werden mit einer führenden Raute # angesprochen.
  • Entfällt mit Version 1.20.3: Bedingungsmodus ist entweder if oder unless
if Damit die Funktion ausgeführt wird, muss Bedingung mindestens einen Treffer haben
unless Damit die Funktion ausgeführt wird, muss Bedingung keinen Treffer haben
  • Entfällt mit Version 1.20.3: Bedingung ist eine Zielauswahl, deren Ergebnis festlegt, ob die Funktion ausgeführt wird oder nicht.

Zur Eingabe eines Befehls siehe Befehl#Eingabe.

Beispiele

Entfällt mit Version 1.20.3:

/function wiki:testbeispiele/funktionstest

führt die Datei .minecraft/saves/Name des Weltordners/data/functions/wiki/testbeispiele/funktionstest.mcfunction aus.

/function wiki:commands if @e[type=creeper,r=5]

Führt die Funktion wiki:commands nur dann aus, wenn sich höchstens fünf Blöcke von der Befehlsquelle entfernt ein Creeper befindet.

/function wiki:commands unless oyo123

Führt die Funktion wiki:commands nur dann aus, wenn sich kein Spieler namens oyo123 auf dem Server befindet.

/function wiki:commands unless @p[score_Craft_min=10,score_Craft=20]

Führt die Funktion wiki:commands nur dann aus, wenn kein Spieler zu seinem Punktestand-Ziel "Craft" einen Wert zwischen 10 und 20. Werte darunter oder darüber werden akzeptiert.

Neu mit Version 1.20.3:

/function wiki:testbeispiele/funktionstest

führt die Datei .minecraft/saves/Name des Weltordners/datapacks/Name des Datenpakets/data/wiki/functions/testbeispiele/funktionstest.mcfunction aus.

/function #wiki:schlossfunktionen

führt alle Funktionen im Funktions-Alias .minecraft/saves/Name des Weltordners/datapacks/Name des Datenpakets/data/wiki/tags/schlossfunktionen.json aus.

/execute if entity @e[type=creeper,distance=..5] run function wiki:commands

Führt die Funktion wiki:commands nur dann aus, wenn sich höchstens fünf Blöcke von der Befehlsquelle entfernt ein Creeper befindet.

Geschichte

Versionsgeschichte der Java Edition
Vollversion 1.12
1.12-pre1
  • Der Befehl /function wurde hinzugefügt
1.12-pre3
  • Textdateien die die Befehle von Funktionen enthalten, werden nun als ".mcfunction" statt als ".txt" gespeichert
1.12-pre4
  • Die Parameter if bzw. unless wurden hinzugefügt
Vollversion 1.13
17w45a
  • Die Parameter if bzw. unless wurden entfernt. Sie finden sich nun im Befehl /execute wieder
17w49b
  • Funktionen können zu Aliasen zusammengefasst werden
  • Der Befehl /function kann nicht mehr mit dem Befehl /gamerule gameLoopFunction function aufgerufen werden, stattdessen wird der Funktions-Alias minecraft:tick verwendet