Ich habe eine Lösung gefunden, die relativ gut funktioniert. Das Hauptproblem ist, dass, wenn ein Schneeball landet, die Entität sofort verschwindet. Um dem entgegenzuwirken, können wir einen Rüstungsstandmarker benutzen, um den letzten bekannten Ort des Schneeballs zu verfolgen. Das ist nicht genau dort , wo der Schneeball trifft, aber nahe genug für praktische Zwecke.
Zuerst müssen Sie ein Scoreboard-Ziel aufstellen, um die Lebensdauer des Schneeballs zu verfolgen, und ein anderer, um einen einsamen Rüstungsstand zu erkennen.
/scoreboard objectives add snowballTime dummy /scoreboard objectives add hasSnowball dummy
Erstellen Sie nun einen Fülltakt (oder verwenden Sie die Befehlsblöcke für die Wiederholungs- / Kettenbefehle von 1,9) und führen Sie die folgenden Befehle aus:
/scoreboard players add @e[type=Snowball] snowballTime 1 /execute @e[type=Snowball,score_snowballTime=1] ~ ~ ~ summon ArmorStand ~ ~ ~ {NoGravity:1b,CustomName:"SnowballMarker",Marker:1b,Invisible:1b} /execute @e[type=Snowball,score_snowballTime_min=2] ~ ~ ~ tp @e[type=ArmorStand,name=SnowballMarker,c=1] @e[type=Snowball,r=1] /scoreboard players set @e[type=ArmorStand,name=SnowballMarker] hasSnowball 0 /execute @e[type=Snowball] ~ ~ ~ scoreboard players set @e[type=ArmorStand,name=SnowballMarker,r=1] hasSnowball 1 /execute @e[type=ArmorStand,name=SnowballMarker,score_hasSnowball=0] ~ ~ ~ summon PrimedTnt ~ ~ ~ {Fuse:0} /kill @e[type=ArmorStand,name=SnowballMarker,score_hasSnowball=0]
Der erste Befehl wird jedem Schneeball-Entity in der Welt eine immer größer werdende Punktzahl zuweisen. Der zweite und dritte Befehl wird entweder einen neuen (unsichtbaren, hitboxless) Rüstungsstand (genannt "SnowballMarker") an der Stelle des Schneeballs erstellen oder einen vorhandenen zum Schneeball teleportieren.
Die vierte und fünfte Befehle setzen den hasSnowball
Score auf den Rüstungsstand auf 0 oder 1, je nachdem, ob es einen Schneeball im Umkreis von 1 Block gibt.
Befehl 6 beschwört TNT an jedem Rüstungsstand, der keinen Schneeball hat, und der letzte Befehl entfernt diese Rüstungsständer danach. Setzen Sie die Fuse
auf was auch immer Sie mögen.
(Ich bin neugierig auf die Art und Weise, wie das funktioniert, ich schlage vor, Invisible:1b
entfernen Invisible:1b
aus dem Beschwörungsbefehl des Rüstungsstandes, also kannst du sie in Aktion sehen)