Minecraft Wiki
(→‎Beispiele: Tippfehler korrigiert.)
Markierungen: Mobile Bearbeitung Mobile Bearbeitung
LucyKuranSKYDOME (Diskussion | Beiträge)
K (spam)
Markierung: Zurücksetzung
 
(17 dazwischenliegende Versionen von 14 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{stub|Eigenschaften und Beispiele nachtragen}}
 
 
{{Nutzbarkeit|j|j|2}}
 
{{Nutzbarkeit|j|j|2}}
'''/schedule''' führt eine [[Funktion]] mit einer bestimmten Verzögerung aus. Dadurch lassen sich Funktionen in Intervallen wiederholen.
+
'''/schedule''' führt eine [[Funktion]] mit einer bestimmten Verzögerung aus. Dadurch lassen sich Funktionen zu einem anderem Zeitpunkt ausführen als sie aufgerufen wurden. Ferner lassen sie sich so auch in einem Intervall wiederholen.
   
 
== Syntax ==
 
== Syntax ==
<code>'''/schedule function''' <''Funktion''> <''Zeit''></code><br>
+
<code>'''/schedule function''' <''Funktion''> <''Zeit''> '''[append|replace]'''</code><br>
  +
<code>'''/schedule clear''' <''Funktion''></code><br>
   
 
* ''Funktion'' ist der Name und Dateipfad einer [[Funktion]].
 
* ''Funktion'' ist der Name und Dateipfad einer [[Funktion]].
Zeile 11: Zeile 11:
 
Zur Eingabe eines Befehls siehe [[Befehl#Eingabe]].
 
Zur Eingabe eines Befehls siehe [[Befehl#Eingabe]].
   
Die Zeiteinheiten <code>t</code> für <code>Ticks</code>, der Minecraft [[Tick|Spiel Zeiteinheit]], <code>s</code> für <code>Sekunde</code> und <code>d</code> für <code>Minecraft-Tag</code>.
+
Die Zeiteinheiten <code>t</code> für <code>Ticks</code>, der [[Tick|Minecraft-Zeiteinheit]], <code>s</code> für <code>Sekunde</code> und <code>d</code> für <code>Minecraft-Tag</code>.
 
Ein [[Tag-Nacht-Rhythmus|Minecraft-Tag]] dauert 24000 Ticks, 1200 Sekunden oder 20 Minuten. In einer Sekunde werden 20 [[Tick|Ticks]] durchgeführt.
 
Ein [[Tag-Nacht-Rhythmus|Minecraft-Tag]] dauert 24000 Ticks, 1200 Sekunden oder 20 Minuten. In einer Sekunde werden 20 [[Tick|Ticks]] durchgeführt.
   
 
== Eigenschaften ==
 
== Eigenschaften ==
Führt man den Befehl als [[Spieler]] aus so erhält man im [[Chat]] die Nachricht, wie groß die Verzögerung ist und wann zur absoluten Spielzeit die [[Funktion]] ausgeführt wird.
+
Führt man den Befehl als [[Spieler]] aus, so erhält man im [[Chat]] die Nachricht, wie groß die Verzögerung ist und wann zur absoluten Spielzeit die [[Funktion]] ausgeführt wird.
 
Führt man den Befehl kurz hintereinander aus, mit großer Verzögerung, so wird die vorherige Verzögerung durch die aktuelle überschrieben. Die Funktion wird nicht doppelt ausgeführt.
 
   
  +
Hat man als Spieler eine geplante verzögerte Ausführung einer Funktion gelöscht, so erhält man im Chat die Nachricht, welche Funktion (ID als Namen) entfernt wurde.
   
 
Führt man den Befehl kurz hintereinander aus, mit großer Verzögerung, so wird die vorherige Verzögerung durch die aktuelle überschrieben. Die Funktion wird dadurch nicht doppelt ausgeführt.
   
  +
Wenn man den Befehl mit clear ausführt, bevor der Zeitpunkt erreicht ist, bei der eine vorher geplante Funktion ausgeführt werden sollte, so wird der Aufruf der geplanten Funktion unterdrückt.
   
 
== Beispiele ==
 
== Beispiele ==
Die Beispiel Funktion befindet sich in [[Datenpaket]] Beispiel_Datenpaket, unter <code>/saves/BeispielWelt/datapacks/Beispiel_Datenpaket/beispiel_daten/beispiel_funktion_1</code>
 
   
 
Die Beispielfunktion befindet sich in [[Datenpaket]] ''Beispiel_Datenpaket'', unter <code>/saves/BeispielWelt/datapacks/Beispiel_Datenpaket/beispiel/functions/funktion_1</code>
Beispiel 1
 
  +
 
=== Beispiel 1 ===
  +
 
In der Funktion steht folgender Befehl:
  +
 
<code>give oyo123 dirt</code>
  +
 
Gibt den Spieler '''oyo123''', 5 Sekunden nachdem der Befehl <code>/schedule function beispiel:funktion_1 5s</code> ausgeführt wurde, ein Erdblock.
  +
  +
 
=== Beispiel 2 ===
  +
 
In der Funktion stehen folgende Befehle:
  +
 
<code>give oyo123 dirt
  +
 
schedule function beispiel:funktion_1 5s</code>
  +
 
Gibt den Spieler '''oyo123''' alle 5 Sekunden ein Erdblock, nachdem ein Spieler den Befehl <code>/function beispiel:funktion_1</code> ausgeführt hat.
  +
  +
  +
=== Beispiel 3 ===
  +
  +
In der Funktion stehen folgende Befehle:
  +
 
<code>give oyo123 dirt
  +
 
execute if entity yoyo run schedule function beispiel:funktion_1 5s</code>
  +
 
Gibt den Spieler '''oyo123''' alle 5 Sekunden ein Erdblock, solange der Spieler '''yoyo''' anwesend ist.
   
In der Funktion steht folgender Befehl
 
   
  +
=== Beispiel 4 ===
<code>/give oyo123 dirt</code>
 
   
Der Spieler oyo987 führt den folgenden Befehl aus
+
In der Funktion steht folgender Befehl:
   
<code>/schedule function beispiel_daten:beispiel_funktion_1 5s</code>
+
<code>kill oyo123</code>
   
  +
Der Spieler '''yoyo''' führt den Befehl <code>/schedule function beispiel:funktion_1 30s</code> aus.
Gibt den Spieler oyo123, 5 Sekunden nachdem Spieler oya987, den Befehl ausgeführt hat, ein Erdblock.
 
   
  +
Anschließend teilt '''yoyo''' den Spieler '''oyo123''' im Chat mit, das '''yoyo''' die Funktion 30 Sekunden verzögert gestartet hat. '''oyo123''' möchte nicht sterben und gibt den Befehl <code>/schedule clear beispiel:funktion_1</code> ein.
   
   
Beispiel 2
+
=== Beispiel 5 ===
   
In der Funktion stehen folgende Befehle
+
In der 1. Funktion stehen folgende Befehle:
   
  +
<code>execute if entity @a run schedule function beispiel:funktion_1 10t
<code>/give oyo123 dirt
 
   
  +
tag @a[x=0,y=0,z=0,dx=100,dy=100,dz=100] add bereich_1
/schedule function beispiel_daten:beispiel_funktion_1 5s</code>
 
   
  +
execute as @a[tag=bereich_1] at @s unless entity @s[x=0,y=0,z=0,dx=100,dy=100,dz=100] run tag @s remove bereich_1
Gibt den Spieler oyo123, alle 5 Sekunden ein Erdblock.
 
   
  +
tag @a[tag=!bereich_1] remove bereich_1_1
   
  +
execute if entity @a[tag=bereich_1,tag=!bereich_1_1] run schedule function beispiel:funktion_2 10s
   
  +
tag @a[tag=bereich_1] add bereich_1_1
Beispiel 3
 
   
  +
execute unless entity @a[tag=bereich_1] run schedule clear beispiel:funktion_2</code>
In der Funktion stehen folgende Befehle
 
   
  +
In der 2. Funktion steht folgender Befehl:
<code>/give oyo123 dirt
 
   
  +
<code>summon wither 50 50 50</code>
execute if entity oya987 run schedule function beispiel_daten:beispiel_funktion_1 5s</code>
 
   
  +
Wenn ein Spieler den Bereich von X 0 , Y 0 , Z 0 bis X 100 , Y 100 , Z 100 betritt bekommt er das Tag '''bereich_1''' . Da der Spieler noch nicht das Tag '''bereich_1_1''' hat, wird die Funktion 'beispiel:funktion_2' zeitverzögert in 10 Sekunden gestartet. Nachdem die Funktion zeitverzögert gestartet wurde, bekommt der Spieler noch das Tag '''bereich_1_1''' . Falls der Spieler nun innerhalb von 10 Sekunden den Bereich wieder verlässt, wird die zeitverzögert geplante Ausführung der Funktion 'beispiel:funktion_2' unterdrückt. Zudem verliert der Spieler beide Tags '''bereich_1''' und '''bereich_1_1''' . Sollte der Spieler nach 10 Sekunden weiterhin im Bereich sein, wird an der Position X 50 , Y 50 , Z 50 ein Wither erschaffen. Die Funktion 'beispiel:funktion_1' wird alle 0,5 Sekunden wiederholt, um die Bedingungen für das erschaffen des Withers zu prüfen.
Gibt den Spieler oyo123, alle 5 Sekunden ein Erdblock, solange der Spieler oya987 anwesend ist.
 
   
 
== Geschichte ==
 
== Geschichte ==
Zeile 65: Zeile 97:
 
|group1= {{ver|1.14|18w43a}}
 
|group1= {{ver|1.14|18w43a}}
 
|list1= *Der Befehl /schedule wird hinzugefügt
 
|list1= *Der Befehl /schedule wird hinzugefügt
  +
|group2= {{ver|1.15|19w38a}}
  +
|list2= *Neue Syntax <code>/schedule ... [append{{!}}replace]</code>
  +
*Neuer Parameter <code>/schedule clear <Funktion></code>, um existierende, verzögert auszuführende, Funktionen zu entfernen.
 
}}
 
}}
   
 
{{Navbox-Befehle}}
 
{{Navbox-Befehle}}
   
[[en:Commands#schedule]]
+
[[en:Commands/schedule]]
  +
[[ja:コマンド/schedule]]
  +
[[pt:Comandos/schedule]]
  +
[[zh:命令/schedule]]

Aktuelle Version vom 31. Januar 2024, 12:13 Uhr

Nutzbarkeit
 Einzelspieler ja
 Mehrspieler ja
 Cheat ja, 2
 Befehlsblock ja

/schedule führt eine Funktion mit einer bestimmten Verzögerung aus. Dadurch lassen sich Funktionen zu einem anderem Zeitpunkt ausführen als sie aufgerufen wurden. Ferner lassen sie sich so auch in einem Intervall wiederholen.

Syntax

/schedule function <Funktion> <Zeit> [append|replace]
/schedule clear <Funktion>

  • Funktion ist der Name und Dateipfad einer Funktion.
  • Zeit ist eine Zeitangabe, mit welcher Verzögerung die Funktion ausgeführt werden soll.

Zur Eingabe eines Befehls siehe Befehl#Eingabe.

Die Zeiteinheiten t für Ticks, der Minecraft-Zeiteinheit, s für Sekunde und d für Minecraft-Tag. Ein Minecraft-Tag dauert 24000 Ticks, 1200 Sekunden oder 20 Minuten. In einer Sekunde werden 20 Ticks durchgeführt.

Eigenschaften

Führt man den Befehl als Spieler aus, so erhält man im Chat die Nachricht, wie groß die Verzögerung ist und wann zur absoluten Spielzeit die Funktion ausgeführt wird.

Hat man als Spieler eine geplante verzögerte Ausführung einer Funktion gelöscht, so erhält man im Chat die Nachricht, welche Funktion (ID als Namen) entfernt wurde.

Führt man den Befehl kurz hintereinander aus, mit großer Verzögerung, so wird die vorherige Verzögerung durch die aktuelle überschrieben. Die Funktion wird dadurch nicht doppelt ausgeführt.

Wenn man den Befehl mit clear ausführt, bevor der Zeitpunkt erreicht ist, bei der eine vorher geplante Funktion ausgeführt werden sollte, so wird der Aufruf der geplanten Funktion unterdrückt.

Beispiele

Die Beispielfunktion befindet sich in Datenpaket Beispiel_Datenpaket, unter /saves/BeispielWelt/datapacks/Beispiel_Datenpaket/beispiel/functions/funktion_1

Beispiel 1

In der Funktion steht folgender Befehl:

give oyo123 dirt

Gibt den Spieler oyo123, 5 Sekunden nachdem der Befehl /schedule function beispiel:funktion_1 5s ausgeführt wurde, ein Erdblock.


Beispiel 2

In der Funktion stehen folgende Befehle:

give oyo123 dirt

schedule function beispiel:funktion_1 5s

Gibt den Spieler oyo123 alle 5 Sekunden ein Erdblock, nachdem ein Spieler den Befehl /function beispiel:funktion_1 ausgeführt hat.


Beispiel 3

In der Funktion stehen folgende Befehle:

give oyo123 dirt

execute if entity yoyo run schedule function beispiel:funktion_1 5s

Gibt den Spieler oyo123 alle 5 Sekunden ein Erdblock, solange der Spieler yoyo anwesend ist.


Beispiel 4

In der Funktion steht folgender Befehl:

kill oyo123

Der Spieler yoyo führt den Befehl /schedule function beispiel:funktion_1 30s aus.

Anschließend teilt yoyo den Spieler oyo123 im Chat mit, das yoyo die Funktion 30 Sekunden verzögert gestartet hat. oyo123 möchte nicht sterben und gibt den Befehl /schedule clear beispiel:funktion_1 ein.


Beispiel 5

In der 1. Funktion stehen folgende Befehle:

execute if entity @a run schedule function beispiel:funktion_1 10t

tag @a[x=0,y=0,z=0,dx=100,dy=100,dz=100] add bereich_1

execute as @a[tag=bereich_1] at @s unless entity @s[x=0,y=0,z=0,dx=100,dy=100,dz=100] run tag @s remove bereich_1

tag @a[tag=!bereich_1] remove bereich_1_1

execute if entity @a[tag=bereich_1,tag=!bereich_1_1] run schedule function beispiel:funktion_2 10s

tag @a[tag=bereich_1] add bereich_1_1

execute unless entity @a[tag=bereich_1] run schedule clear beispiel:funktion_2

In der 2. Funktion steht folgender Befehl:

summon wither 50 50 50

Wenn ein Spieler den Bereich von X 0 , Y 0 , Z 0 bis X 100 , Y 100 , Z 100 betritt bekommt er das Tag bereich_1 . Da der Spieler noch nicht das Tag bereich_1_1 hat, wird die Funktion 'beispiel:funktion_2' zeitverzögert in 10 Sekunden gestartet. Nachdem die Funktion zeitverzögert gestartet wurde, bekommt der Spieler noch das Tag bereich_1_1 . Falls der Spieler nun innerhalb von 10 Sekunden den Bereich wieder verlässt, wird die zeitverzögert geplante Ausführung der Funktion 'beispiel:funktion_2' unterdrückt. Zudem verliert der Spieler beide Tags bereich_1 und bereich_1_1 . Sollte der Spieler nach 10 Sekunden weiterhin im Bereich sein, wird an der Position X 50 , Y 50 , Z 50 ein Wither erschaffen. Die Funktion 'beispiel:funktion_1' wird alle 0,5 Sekunden wiederholt, um die Bedingungen für das erschaffen des Withers zu prüfen.

Geschichte

Versionsgeschichte der Java Edition
Vollversion 1.14 (18w43a)
  • Der Befehl /schedule wird hinzugefügt
Vollversion 1.15 (19w38a)
  • Neue Syntax /schedule ... [append|replace]
  • Neuer Parameter /schedule clear <Funktion>, um existierende, verzögert auszuführende, Funktionen zu entfernen.