Wie kann ich mit dem CanPlaceOn-Tag ein Werkzeug löschen?

Im Abenteuer-Modus versuche ich, einen Spieler zu blockieren, den er später platzieren kann, gibt es einen Weg, es direkt zu machen oder muss ich sie in seinem Inventar ändern?

Situation: Der Spieler bekommt ein Werkzeug, das ihm erlauben wird, einen Felsblock zu blockieren, der die Straße blockiert. Weiter auf dem Weg, er begegnet einer gebrochenen Brücke, und ich möchte, dass er die Blöcke benutzt, die er zuvor gesammelt hat, um es wieder aufzubauen.

Im Moment, wenn ich den Felsblock mit Blöcken mit dem CanPlaceOn Tag CanPlaceOn , verschwindet das Tag, wenn der Spieler sie zerstört und sie in seinem Inventar gehen.

  • Tellraw Probleme in 1.9
  • Verwenden Sie / testfor, um einen benutzerdefinierten Befehl zu erstellen
  • Wie würde ich etwas schaffen, wann und wo ein Schneeball etwas trifft?
  • Test für Artikel im Steckplatz des Ofens
  • Welche Befehle werden als "Cheats" gezählt?
  • Wie verzögere ich einen Befehl
  • 2 Solutions collect form web for “Wie kann ich mit dem CanPlaceOn-Tag ein Werkzeug löschen?”

    Führen Sie einen Execute-Befehl auf alle Spieler, die das Tool halten, die das Tag auf alle Elemente, die Sie das Tag auf:

    Führen Sie diese einmal aus:

     /scoreboard objectives add holdingTool dummy /scoreboard objectives add tagItem dummy /scoreboard objectives add life stat.timeSinceDeath 

    Führen Sie diese auf einer Uhr:

     /scoreboard players set @a holdingTool 0 /scoreboard players set @a holdingTool 1 {SelectedItem:<Tool>} /scoreboard players set @e[type=Item] tagItem 0 /scoreboard players set @e[type=Item,score_life=1] tagItem 1 {Item:<Data Tags of Item>} /execute @a[score_holdingTool_min = 1] ~ ~ ~ entitydata @e[score_tagItem_min = 1,r=5] {Item:{tag:{CanPlaceOn:["<Block That Can Be Placed On>"]}}} 

    Dies wird die entitydata Befehl auf alle Elemente rund um Spieler in einem 5-Block-Bereich mit dem HoldingTool Tag von 1, alias alle Spieler, die das spezifische Werkzeug ausgewählt haben, laufen lassen. Der Befehl entitydata wirkt sich nur auf Elemente des richtigen Typs aus, die gerade hervorgebracht wurden.

    Verwenden Sie eine / Fülluhr, die bis zu drei Befehlsblöcken eingehakt ist, um das Tag zu Elemententitäten hinzuzufügen. Leider weiß ich nicht, ob es möglich ist, dies nur auf diejenigen zu beschränken, die mit einem bestimmten Werkzeug erstellt wurden.

    Zuerst erstellen Sie ein Scoreboard-Ziel, um die Artikel zu verfolgen, die Sie das Tag hinzufügen werden.

    / Scoreboard-Ziele hinzufügen ItemID Dummy

    Der erste Befehlsblock (Reihenfolge der Ausführung ist wichtig) in der Fülluhr wird das Ziel für alle aktuell geladenen Objektentitäten zurücksetzen.

    / Scoreboard-Spieler setzen @e [type = Item] itemID 0

    Die zweite setzt die Punktzahl auf der Grundlage der Artikel-ID. Beachten Sie, dass Sie verschiedene Arten von Elementen beeinflussen können, indem Sie verschiedene Werte zuordnen.

    / Scoreboard-Spieler setzen @e [type = Item] itemID 1 {Item: {id: minecraft: stone}}

    Schließlich füge das CanPlaceOn-Tag zu allen Artikeln mit der richtigen Partitur hinzu.

    / Entitydata @e [score_itemID_min = 1, score_itemID = 1] {Item: {tag: {canPlaceOn: ["minecraft: stone"]}}}