Willst du verhindern, dass TNT explodiert und Schaden anrichtet? In diesem Artikel zeige ich dir, wie du es schaffen kannst. Das Verfahren mag etwas kompliziert sein, aber es ist nicht schwieriger als ein Diamantschwert herzustellen.
TNT-Blockschäden verhindern
Eine wichtige Voraussetzung für diese Methode ist, dass alle Schritte im selben Tick und bei jedem Tick erfolgen müssen. Das bedeutet, dass die Strategie, die ich in einer verknüpften Antwort beschrieben habe, hier nicht funktioniert. Um die Methode zum Laufen zu bringen, solltest du die Mob-Trauer deaktivieren, da ich Feuerbälle benutze, um die eigentliche Explosion auszulösen. Am Ende werde ich auch die Befehle hinzufügen, um Spielern oder anderen Entitäten 0 Schaden zuzufügen.
Schritt für Schritt Anleitung
Der erste Schritt besteht darin, ein Anzeigetafelziel einzurichten, um TNT zu verfolgen, das kurz vor der Explosion steht:
/Anzeigetafelziele TNTGoBoom-Dummy hinzufügen
Als nächstes musst du eine Füll-Uhr einrichten. Platziere zwei Befehlsblöcke in einer Spalte, die durch einen Luftblock getrennt sind. Gib den folgenden Befehl ein:
fill ~ ~ 1 ~ ~ 3 ~ 1 ~ air
Gib den folgenden Befehl darüber ein:
fill ~ ~ -1 ~ ~ 3 ~ -1 ~ redstone_block
Setze einen Redstone-Block zwischen die beiden Befehlsblöcke, und schon hast du deine Füll-Uhr. Idealerweise sollte sich diese nicht in der Nähe einer Blockgrenze befinden, aber es funktioniert auch, wenn es der Fall ist.
Jetzt solltest du drei weitere Redstone-Blöcke auf einer Seite sehen. Platziere drei weitere Befehlsblöcke neben den Redstone-Blöcken (vorzugsweise oben oder unten). Verwende die folgenden Befehle in der Reihenfolge, die den ersten beiden Befehlsblöcken am nächsten liegt:
Anzeigetafelspieler setzen @e [type = PrimedTnt] TNTGoBoom 1 {Fuse: 0b}
führe @e [type = PrimedTnt, score_TNTGoBoom = 1] ~ ~ ~ Feuerball beschwören ~ ~ ~ {Richtung: [0.0, -1.0,0.0], ExplosionPower: 4, Fuse: 0, Time: -1, TileEntityData: {CustomName: “TNT”}, ActiveEffects: [{Id: 14, Dauer: 10, Verstärker: 10, Umgebung: 1}]}
kill @e [type = PrimedTnt, score_TNTGoBoom = 1]
Okay, lass uns diese drei Befehle durchgehen. Der erste Befehl setzt den Anzeigetafelwert für das TNTGoBoom-Ziel auf 1 für jede TNT, die beim nächsten Tick explodieren kann. So verfolgen wir die TNT. Der nächste Befehl beschwört einen unsichtbaren Feuerball genau an der Stelle des TNT, der sich direkt nach unten bewegt und die gleiche Sprengkraft wie ein Stück TNT hat. Dies ist es, was tatsächlich den Explosionseffekt und den Schaden für Spieler/Wesen verursacht, aber da die Mob-Trauer ausgeschaltet ist, wird das Gelände nicht beschädigt. Schließlich töte (lösche effektiv) das TNT, das kurz vor der Explosion steht, damit es keinen Schaden mehr anrichten kann.
Explosionseffekt ohne Schaden
Wenn du den Explosionseffekt weiterhin haben möchtest, ohne Schaden zu verursachen, dann musst du den Feuerball-Beschwörungsbefehl durch folgende Befehle ersetzen (und deine Füll-Uhr um einen weiteren Block verlängern):
ausführen @e [type = PrimedTnt, score_TNTGoBoom = 1] ~ ~ ~ Partikelexplosion ~ ~ ~ 0 0 0 1execute @e [type = PrimedTnt, score_TNTGoBoom = 1] ~ ~ ~ spielt zufällige.explode @a ~ ~ ~
Diese beiden Befehle erzeugen den Partikeleffekt und den Klang der explodierenden TNT, aber es wird kein Schaden für die Welt, Spieler oder Wesen verursacht.
Fazit
Nun, diese Methode kann TNT-Kanonen durcheinander bringen. Es ist wichtig zu beachten, dass jeder TNT-Block einzeln beleuchtet werden muss, da der Feuerball bei ausgeschalteter Mob-Trauer keine anderen TNT-Blöcke in der Nähe anzündet. Es gibt mit Sicherheit eine Möglichkeit, diese Einschränkung mit etwas mehr Kreativität zu umgehen. Ich werde weiterhin daran arbeiten und die Details mit dir teilen, sobald ich sie vollständig ausgearbeitet habe.