Minecraft Entity-Typ abfragen ohne den Ausführer zu ändern (1.19.4)?
Hallo Zusammen!
Ich arbeite an einem Datapack und habe dabei einen Befehl, der nur ausgeführt werden soll, wenn das nächstliegende Entity vom Typ Armorstand ist.
Es ist wichtig zu verstehen, dass ich das wirklich nächstliegende Entity meine und nicht der nächstliegende Armorstand. Demnach geht die Abfrage
execute if entity @e[type=armor_stand,sort=nearest,limit=1]
nicht, da diese nicht nach dem nächstliegenden Entity allgemein sucht, sondern nach dem nächstliegenden Entity vom Typ Armorstand.
Eine Möglichkeit habe ich dafür gefunden mit dem ändern des Ausführers. Beispiel:
execute as @e[sort=nearest,limit=1] if entity @s[type=armor_stand]
Das Problem hierbei ist nur, dass in dem Befehl, den ich habe, bereits ein Ausführer definiert ist und ich diesen nicht ändern darf und da ist nun meine Frage, wie ich den Typ des nächstliegenden Entitys abfragen kann?
Falls noch genauer benötigt wird, um welchen Befehl es sich handelt: Ich habe eine gekürzte Version hier unten:
execute as @e[tag=Test] at @s if entity @e[distance=.1..3,sort=nearest,limit=1] run scoreboard players add @s eyePosition 1500
1 Antwort
Ich bin mir nicht sicher, ob dieser command funktioniert, da ich es gerade nicht testen kann aber porbier mal
/execute at @e[ type= armour_stand] if @e[ distance=..1]
Danke für die Antwort. Eine ähnliche Version des Befehls habe ich schonmal versucht und der Befehl hat mit am besten funktioniert, allerdings kam es trotzdem manchmal zu kleinen fehlern. Ich habe jetzt inzwischen eine Möglichkeit gefunden in dem ich den Ausführer ändere und jedem Armorstand der in Reichweite ist einen Tag gebe und anschließend den Befehl nochmal ausführe und dann über
execute if data entity @s {Tags:["Armorstand"]}
kontrolliere ob es ein Armorstand ist. Anschließend entferne ich den Tag für jeden Armorstand der nicht mehr in Reichweite ist.