1 votos

¿Cómo se detecta la muerte de un mob?

Estoy haciendo un mapa de aventura y estoy intentando detectar la muerte de un mob con un bloque de comandos para que active la redstone, pero no sé cómo hacerlo.

Estoy usando un mob personalizado y cuando muere, se activa el diálogo y teletransporta al jugador a una zona específica (como ejemplo a un selector de nivel).

Necesito saber cómo hacerlo porque si no la persona podría esperar a que se acabe el temporizador y luego ser teletransportada.

Entonces, ¿cómo se puede detectar la muerte de un mob personalizado, con un bloque de comandos para que se active la redstone y el jugador pueda continuar con el mapa?

Estoy usando la versión 1.13.1 de Minecraft

3voto

Tim Johnsen Puntos 126

Una forma de hacerlo consiste en invocar mobs con soportes de armadura montados en ellos. Cuando el soporte de la armadura ya no puede detectar el mob (porque está muerto), entonces es etiquetado. Puedes hacer lo que quieras ejecutando todos los puestos de armadura con esa etiqueta y luego matar.

Usaré un zombi con un soporte de armadura llamado "deathdetect" para este ejemplo. Fíjate en que he exigido persistencia, lo que significa que no puede desaparecer. Si despareciera, se activaría el soporte de la armadura.

summon zombie ~ ~ ~ {PersistenceRequired:1b,Passengers:[{id:"minecraft:armor_stand",Marker:true,CustomName:"\"deathdetect\"",Invisible:true,NoGravity:true,Tags:["alive"]}]}

Ahora pon estos comandos en una cadena de repetición. El primero añade todas las etiquetas a los puestos de armadura, y luego las quita si hay un zombi cerca. Si no hay ningún zombi cerca, mantienen la etiqueta. Usaré la etiqueta "trigger" para este ejemplo.

tag @e[type=armor_stand,name=deathdetect] add trigger
execute as @e[type=zombie,nbt={Passengers:[{id:"minecraft:armor_stand",CustomName:"\"deathdetect\""}]}] at @s anchored eyes if entity @e[type=armor_stand,name=deathdetect,distance=..1.5] run tag @e[type=armor_stand,name=deathdetect,distance=..1.5,limit=1] remove trigger

Ahora añade la piedra roja que quieras activar ejecutando los puestos de armadura con la etiqueta de disparo, luego mata los puestos de armadura.

execute as @e[type=armor_stand,tag=trigger] run say it works!
execute as @e[type=armor_stand,tag=trigger] at @s run setblock 45 6 3 redstone_block
kill @e[type=armor_stand,tag=trigger]

NOTA: Si la distancia para la máquina detectora de zombis es demasiado baja, esta máquina puede tener tendencia a añadir la etiqueta de disparo cuando el zombi está vivo. Ya he aumentado la distancia a 1,5, pero si sigue molestando puedes aumentarla a 1,51, 1,52, etc.

JugonesTop.com

Jugonestop es una comunidad para amantes del gaming. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X