Minecraft mit dem Befehl / execute für bestimmte Personen

Ich versuche, ein Kit pvp Karte in Vanille Minecraft zu machen, aber ich lief in ein Problem. Ich möchte, dass bestimmte Leute einen bestimmten Effekt bekommen. So bekam ich einen /testfor Befehl:

 /testfor @a{SelectedItemSlot:0,Inventory:[{Slot:0b,tag:{display:{Name:"Fire Wand"}}}]} 

Dieser Befehl prüft, ob eine Person diesen angegebenen Elementnamen in Steckplatz 0 hat. Dann schaltet sich ein Komparator ein, der den zweiten Befehl aktiviert, sobald er diese Person findet:

 /execute @p ~ ~ ~ summon Fireball ~2 ~1 ~ {ExplosivePower:10,direction:[0.0,0.0,0.0]} 

Wie kann ich diesen Befehl an die Person angeben, die das genannte Element besitzt?

  • Testen Sie, ob der Spieler etwas hält, aber das angegebene Element
  • Wie bekomme ich Kommandos je nach Spieler Anzeiger?
  • Ist es möglich, einen Spieler mit einem bestimmten Gegenstand in seinem Inventar zu markieren oder zu modifizieren
  • Wie kann man sagen, wann sich ein Spieler nicht bewegt?
  • Überprüfen Sie, ob Spieler Artikel hat, wenn ja entfernen Sie es
  • Gib Spieler Item (s), wenn der Spieler die X-Todesrate trifft
  • One Solution collect form web for “Minecraft mit dem Befehl / execute für bestimmte Personen”

    Sie müssen einen Befehl verwenden, um ein Etikett an den Spieler basierend auf ihren Daten anstatt zu verwenden /testfor . Zum Beispiel kann /scoreboard ein Label zuweisen:

     /scoreboard players tag @a[tag=HasItem] remove HasItem /scoreboard players tag @a[tag=!HasItem] add HasItem {SelectedItemSlot:0,Inventory:[{Slot:0b,tag:{display:{Name:"Fire Wand"}}}]} 

    Und du würdest dann Spieler auf der Grundlage ihres Labels ansprechen. Das richtige Etikett für Feuerballschaden ist ExplosionPower :

     /execute @a[tag=HasItem] ~ ~ ~ /summon Fireball ~2 ~1 ~ {ExplosionPower:10,direction:[0.0,0.0,0.0]} 

    Bei Verwendung von 1.8 musst du stattdessen eine Partitur verwenden. Ziel zu schaffen:

     /scoreboard objectives add HasItem dummy 

    Befehle zum Etikettieren:

     /scoreboard players set @a HasItem 0 /scoreboard players set @a HasItem 1 {SelectedItem:{tag:{display:{Name:"Fire Wand"}}}} 

    Und zum Targeting würden Sie den score Parameter verwenden:

     /execute @a[score_HasItem_min=1] ~ ~ ~ /summon Fireball ~2 ~1 ~ {ExplosionPower:10,direction:[0.0,0.0,0.0]} 

    Sie interessieren sich vielleicht für die SelectedItem Verbindung, die eine Kopie des derzeitigen Artikels des Spielers enthält. Auf diese Weise müssen Sie nicht jeden einzelnen Hotbar-Slot testen:

     /scoreboard players tag @a[tag=!HasItem] add HasItem {SelectedItem:{tag:{display:{Name:"Fire Wand"}}}}