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.

  • Warum redstone Staub von meinem Befehl Block contraptions entfernen?
  • Wie kann ich eine Befehlsblockkette machen?
  • Minecraft Artikel rechts / links klicken Erkennung
  • Wie verzögere ich einen Befehl
  • Befehl mit unendlichen Koordiaten?
  • Wie kann ich einen Spieler nach dem Erkennen eines Artikels in seinem Inventar ansprechen
  • 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"]}}}