Wie teste ich für ein Item, das ein Spieler hält?

Ich versuche, einen Spieler zu testfor , der ein Diamantschwert namens Notch's Legendary Sword . Wie kann ich das machen? Wer jemals die beste Antwort bekommt, kann den ersten Blick auf meine neue Abenteuerkarte bekommen!

  • Zählen von Gegenständen in einer Brust
  • Testen Sie wahr, wenn kein ArmorStand
  • Schießen bögen schneller
  • Ist es möglich, einen Spieler nur rückwärts zu machen?
  • Meine Befehle funktionieren nicht in 1.12
  • Minecraft Inventory Saving
  • 3 Solutions collect form web for “Wie teste ich für ein Item, das ein Spieler hält?”

    Die SelectedItem Verbindung enthält eine Kopie des aktuell gehaltenen Artikels des Spielers. Wenn du den Spieler ansprechen musst, nachdem du sie gefunden hast, solltest du nicht /testfor denn das markiert nicht passende Spieler für dich, um danach zu zielen.

    Sie sollten stattdessen einen Befehl wie /scoreboard , um ein Label zuzuweisen, entweder eine Punktzahl in Pre-1.9 oder ein "Tag" in 1.9+:

     /scoreboard players tag @a[tag=HoldingItem] remove HoldingItem /scoreboard players tag @a[tag=!HoldingItem] add HoldingItem {SelectedItem:{id:"minecraft:diamond_sword",tag:{display:{Name:"Notch's Legendary Sword"}}}} 

    Sie würden dann in der Lage sein, auf die spezifischen Spieler, die das Element:

     /say @a[tag=HoldingItem] 

    Wenn es einen benutzerdefinierten Namen hat, darfst du den Diamantschwert nicht nur den kundenspezifischen Namen testen: Du /testfor @p[r=1000] {SelectedItemSlot:0,Inventory:[{Slot:0b,tag:{display:{Name:"Notch's Legendary Sword"}}}]} einen Befehl wie diesen verwenden: /testfor @p[r=1000] {SelectedItemSlot:0,Inventory:[{Slot:0b,tag:{display:{Name:"Notch's Legendary Sword"}}}]} Dies wird für den Spieler, der die benutzerdefinierte benannte Element in Steckplatz 0 hält. Sie können wählen, den Radius zu haben, wenn Sie möchten.

    Wenn du mehr wissen möchtest dieses Video auf testfor ansehen:

    Wie @Sean sagte, können Sie eingeben:

    / Testfor @a {SelectedItem: {id: "minecraft: diamond_sword", tag: {display: {Name: "Notch's Legendary Sword"}}}}

    Dies wird für alle ( @a ) Spieler, die ein Diamant-Schwert (`Minecraft: diamond_sword) namens Notch's Legendary Sword

    @Jason_ 's Befehl funktioniert nur in Befehlsblöcken. Wenn Sie den Befehl in Befehlsblöcken verwenden, schlage ich vor, auch @p zu verwenden.

    Wenn du das global machen willst, würde ich @a [c = 1] vorschlagen (wie in 1 Befehlsblock, um sie alle zu beherrschen)