Ya te lo expliqué, y ya sé que puede parecer complejo, pero no lo es!!! Te lo dejo paso a paso ñe!
Primero creamos unas cuantas tablas donde vamos a guardar valores:
- /scoreboard objectives add Arco stat.useItem.minecraft.bow
(para detectar cuando el jugador lanza la flecha)- /scoreboard objectives add Propietario dummy
(para darle valor a las flechas del jugador)- /scoreboard objectives add Mob dummy
(para darle un valor al mob que reciba daño de una flecha lanzada por el jugador)Bien, ahora en bloques repeat vamos a meter los siguientes comandos:
- /scoreboard players set @a Arco 0
(con este anulamos continuamente el valor del score,dejando un tick con valor 1 para que lo detecte el siguiente comando)- /execute @a[score_Arco_min=1] ~ ~ ~ /scoreboard players set @e[type=arrow,r=5] Propietario 1
(así separamos las flechas del player y de esqueletos)- /execute @e[score_Propietario_min=1,score_Propietario=1] ~ ~ ~ /scoreboard players set @e[type=zombie,r=8] Mob 1
(de seguridad) ^
- /execute @e[score_Propietario_min=1,score_Propietario=1] ~ ~ ~ /scoreboard players set @e[type=zombie,rm=8,score_Mob_min=1,score_Mob=1] Mob 0
(de seguridad) ^
- /scoreboard players set @e[score_Mob_min=1,score_Mob=1] Mob 2 {HurtTime:10s}
(así le damos valor 2 a todo mob que reciba daño de nuestra flecha) *
Fallos: Si una flecha se queda en el suelo cerca de un mob y le das un puñetazo va a detectarlo como si el mob hubiera recibido el flechazo, para corregirlo, hay que poner estos comandos en modo Repeat:
- /scoreboard players set @e[type=arrow] Propietario 2 {inGround:1}
- /execute @e[score_Propietario_min=2,score_Propietario=2] ~ ~ ~ /scoreboard players set @e[type=zombie,r=8,score_Mob_min=1,score_Mob=1] Mob 0
- /scoreboard players set @e[score_Propietario_min=2] Propietario 3
En resumen, separamos las flechas del jugador, si se acercan a un mob le ponen en alerta, si se alejan le quitan la alerta. Si estando en alerta (es decir, con una flecha cerca de ellos) reciben daño, les damos el valor 2. Y a partir de ahora puedes seleccionar a los mobs con valor 2 para hacerles lo que quieras, para darles un efecto por ejemplo:
- /effect @e[score_Mob_min=2] minecraft:slowness 10 1 true
Nota importante: Si quieres que más mobs se vean afectados, copiapega los comandos con este simbolo ^ y cambia el type al/los mobs deseados ñeñeñe [type=skeleton]
[Queja a
@Alfomega, hay gente que escribiendo miles de post pidiendo ayuda ascienden de rango y evolusionan, y los que nos curramos los post no. Me parece muy feo eso de cantidad antes que calidad hummm!]