Minecraft Wiki
Advertisement
Diese Seite enthält Inhalte, die nur in veralteten Versionen von Minecraft existieren.
Diese Funktion war früher im Spiel vorhanden, wurde aber inzwischen entfernt.
Nutzbarkeit
 Einzelspieler ja
 Mehrspieler ja
 Cheat ja, 2
 Befehlsblock ja

/testfor prüft, ob ein Objekt (Spieler, Kreatur, Fahrzeug etc.) eine Bedingung erfüllt.

Syntax[]

/testfor <Spieler oder Objekt> [<NBT-Daten>]

  • Spieler oder Objekt ist der Name eines Spielers oder eine Zielauswahl. Wenn Spieler oder Objekt der Name eines Spielers ist, ist die Testbedingung erfüllt, wenn der Spieler im Spiel ist.
  • NBT-Daten sind weitere Daten des Objektes im NBT-Format. NBT-Daten funktionieren nur zusammen mit Spieler oder Objekt. /testfor funktioniert im Gegensatz zu anderen Befehlen nur, wenn in den NBT-Daten alle Zahlen das korrekte Datentyp-Kennzeichen haben und alle ID-Namen den minecraft-Namensraum. Eine ausführliche Beschreibung der NBT-Daten steht hier. Das Inventar eines Spielers kann mit oder ohne Slot-Eigenschaft getestet werden. Mit Slot muss der Gegenstand in einem bestimmten Slot sein, ohne Slot muss er nur irgendwo im Spielerinventar sein.

Zur Eingabe eines Befehls siehe Befehl#Eingabe.

Eigenschaften[]

Falls der Befehl in einem Befehlsblock hinterlegt ist, gibt dieser im Erfolgsfall ein Signal über einen Redstone-Komparator aus. Ansonsten erscheint für jedes gefundene Objekt eine Meldung im Chat (sofern nicht per Befehl /gamerule deaktiviert)

Beispiele[]

/testfor oyo123
  Von einem Spieler verwendet zeigt das an, ob der Spieler oyo123 auf dem Server anwesend ist - nützlich insbesondere, wenn mehr Spieler auf dem Server anwesend sind, als in der Spielerauflistung angezeigt werden kann. In einem Befehlsblock eingegeben sendet dieser nur dann ein Signal aus, wenn oyo123 auf dem Server anwesend ist. Das Signal könnte den Zugang zu einem Bereich öffnen, der von oyo123 überwacht wird (was er nur kann, wenn er anwesend ist). Eine andere Schreibweise für denselben Befehl wäre /testfor @a[name=oyo123].

/testfor @p[r=3,team=Handwerker]
  In einem Befehlsblock eingegeben sendet dieser ein Signal aus, wenn der Spieler, der in einem Umkreis von 3 Blöcken dem Befehlsblock am nächsten steht, zum Team "Handwerker" gehört. Wenn der Befehlsblock z.B. zwischen einem Knopf und einer Eisentür geschaltet ist, kann die Tür nur von Teammitgliedern geöffnet werden, oder wenn ein Teammitglied in der Nähe steht.

/testfor @p[x=100,y=65,z=-80,r=5,score_Ziel15=1]
  In einem Befehlsblock eingegeben sendet dieser ein Signal aus, wenn der Spieler, der in einem Umkreis von 5 Blöcken der Position 100/65/-80 am nächsten steht, das mit dem Befehl /scoreboard definierte Ziel15 erreicht hat. Mit der Positionsangabe kann die Position des Spielers unabhängig von der Position des Befehlsblocks geprüft werden.

/testfor @a {playerGameType:1}
  Prüft alle Spieler und liefert ein Signal, wenn mindestens einer im Kreativmodus ist.

/testfor @p {Inventory:[{id:"minecraft:diamond_sword"}]}
  Prüft den nächstgelegenen Spieler und liefert ein Signal, wenn er irgendwo in seinem Inventar ein Diamantschwert hat. Der ID-Name muss hier korrekt geschrieben werden, d.h. mit dem Namensraum "minecraft:".

/testfor @p {Inventory:[{Slot:6b,id:"minecraft:diamond_sword"}],SelectedItemSlot:6}
  Prüft den nächstgelegenen Spieler und liefert ein Signal, wenn er in seinem Inventar in der Schnellzugriffsleiste in Slot 7 (intern beginnt die Zählung mit 0, daher "Slot:6b", wobei das "b" einen Byte-Wert kennzeichnet) ein Diamantschwert hat und diesen Slot auch ausgewählt hat ("SelectedItemSlot:6" steht ohne "b", weil es ein Int-Wert ist). Der ID-Name muss hier korrekt geschrieben werden, d.h. mit dem Namensraum "minecraft:".

/testfor @p {SelectedItem:{id:"minecraft:diamond_sword"} }
  Prüft den nächstgelegenen Spieler und liefert ein Signal, wenn er ein Diamantschwert in der Hand hält.

/testfor @p {SelectedItem:{} }
  Prüft den nächstgelegenen Spieler und liefert ein Signal, wenn er irgendeinen Gegenstand in der Hand hält.

/testfor @p {Inventory:[{Slot:1b}]}
  Prüft den nächstgelegenen Spieler und liefert ein Signal, wenn er in Slot 1 seines Inventars (das ist der zweite Schnellzugriffsleistenplatz, die Zählung beginnt bei 0) irgendeinen Gegenstand hat.

/testfor @e[type=chicken,r=20] {OnGround:0b}
  Prüft alle Hühner (@e[type=chicken]) im Umkreis von 20 Blöcken (r=20), ob mindestens eines davon in der Luft ist ("OnGround:0b", wobei "b" den Byte-Wert kennzeichnet).

/testfor @e[type=commandblock_minecart,r=5] {Command:"/testfor @p[r=15]"}
  Prüft, ob sich eine Befehlsblocklore im Umkreis von fünf Blöcken von der Befehlsquelle, mit dem Befehl /testfor @p[r=15] ausgestattet, befindet. Der Befehl in der Befehlsblocklore sucht nach einem Spieler in einem Radius von 15 Metern.

/testfor @a[r=5,name=oyo123]
  Prüft, ob sich in einem Umkreis von 5 Blöcken der Spieler oyo123 befindet. Diese Prüfung kann zwischen einen Signalgeber und einem Signalempfänger geschaltet werden, damit nur ein bestimmter Spieler eine Funktion auslösen kann, z. B. eine Tür öffnen.

/testfor @p {DataVersion:1139}
  Erkennt, ob der Spieler die Welt in der Vollversion 1.12 geöffnet hat. Jedoch kann damit nicht erkannt werden, ob der Spieler eine höhere oder niedrigere Version spielt, falls der Befehl fehlschlägt.

Geschichte[]

Versionsgeschichte der Java Edition
Vollversion 1.5 (13w03a)
  • Der Befehl /testfor wird hinzugefügt, er kann nur in einem Befehlsblock verwendet werden
Vollversion 1.8
14w02a
  • Der Befehl /testfor kann auch im Chat verwendet werden
14w07a
  • Der Befehl unterstützt Stringified NBT (SNBT)
Vollversion 1.13 (17w45a)
  • Der Befehl /testfor wird entfernt und durch den Befehl /execute if entity ersetzt

Advertisement