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!

  • Ist es möglich, einen Block nebeneinander zu legen, ohne das Gesicht des vorhandenen Blocks zu betrachten?
  • Brauchen Sie Hilfe mit einem bestimmten Befehl!
  • Welche Blöcke können Mobs / Der Spieler auftauchen?
  • Wie groß kann ein NPC-Dorf sein?
  • Welche Gegenstände können vollautomatisch bewirtschaftet werden?
  • Welche Brennstoffe verbrennen am längsten in Minecraft?
  • Ist Minecraft Turing-Complete?
  • So verhindern Sie das Einfrieren von Wasser
  • Wie finde ich schlanke in Minecraft?
  • Wie stellst du den Minecraft-Offline-Modus-Spielernamen ein und übergebe auch Parameter in das Glas?
  • Wie kann ich Wasser fahren?
  • Was könnte dazu führen, dass ein Minecraft-Portal nicht funktioniert?
  • 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)

    Wir lieben es zu spielen, vor allem Videospiele.