tellraw @a[scores={me-debugging=1..}] "undeadm-m1:tick/magic_missile" ## MagicMissile CUSTOM ENTITY (VIA ARMOR STAND) # # Travels 30 blocks -> 6 bps during 5 seconds # Collision with collisionable blocks # Deals 6 collision damage (potion effect instant damage) # Can be redirected by the player using the staff # # Particles: # @tick: end_rod: ~ ~ ~, 0 0 0, 0, 2 # @tick: end_rod: ~ ~ ~, 0.05 0.05 0.05, 0.025, 1 # @death: end_rod: ^ ^ ^-0.15, 0 0 0, 0.1, 5 # # Sounds: # @tick (every 5 ticks): entity.magic_missile.tick: neutral, @a # @tick (every 5 ticks): entity.magic_missile.tick: neutral, @s (owner) # @summon: entity.magic_missile.spawn: neutral, @a ## collision # if no collison, move execute if block ^ ^ ^0.3 #undeadm-core:no_collision run tp ^ ^ ^0.3 # if collision, dying execute unless block ^ ^ ^0.3 #undeadm-core:no_collision run tag @s add Dying # if it hits an entity, deals damage & dying execute if entity @s[tag=Control1] as @e[tag=!MagicMissile,dx=0,dy=0,dz=0] run effect give @s minecraft:instant_damage 1 0 execute if entity @s[tag=Control1] if entity @e[tag=!MagicMissile,dx=0,dy=0,dz=0] unless entity @e[gamemode=!spectator,tag=!MagicMissile,dx=0,dy=0,dz=0] run tag @s add Dying execute if score $current me-core_tickC matches 1 run playsound undeadm-m1:entity.magic_missile.spawn neutral @a ~ ~ ~ execute if score $current me-core_tickC matches 6 run playsound undeadm-m1:entity.magic_missile.spawn neutral @a ~ ~ ~ execute if score $current me-core_tickC matches 11 run playsound undeadm-m1:entity.magic_missile.spawn neutral @a ~ ~ ~ execute if score $current me-core_tickC matches 16 run playsound undeadm-m1:entity.magic_missile.spawn neutral @a ~ ~ ~ execute if score $current me-core_tickC matches 1 as @a if score @s me-core_uid = @e[limit=1,sort=nearest,tag=MagicMissile] me-core_uid at @s run playsound undeadm-m1:entity.magic_missile.spawn neutral @s ~ ~ ~ execute if score $current me-core_tickC matches 6 as @a if score @s me-core_uid = @e[limit=1,sort=nearest,tag=MagicMissile] me-core_uid at @s run playsound undeadm-m1:entity.magic_missile.spawn neutral @s ~ ~ ~ execute if score $current me-core_tickC matches 11 as @a if score @s me-core_uid = @e[limit=1,sort=nearest,tag=MagicMissile] me-core_uid at @s run playsound undeadm-m1:entity.magic_missile.spawn neutral @s ~ ~ ~ execute if score $current me-core_tickC matches 16 as @a if score @s me-core_uid = @e[limit=1,sort=nearest,tag=MagicMissile] me-core_uid at @s run playsound undeadm-m1:entity.magic_missile.spawn neutral @s ~ ~ ~ ## some particles! (unless dying) # first particle - white points at position: form a straight line execute unless entity @s[tag=Dying] run particle minecraft:end_rod ~ ~ ~ 0 0 0 0 2 # second particle - white points dispersing a lot more openly than the straight line: creates magic leaking effect execute unless entity @s[tag=Dying] run particle minecraft:end_rod ~ ~ ~ 0.05 0.05 0.05 0.025 1 ## if dying execute if entity @s[tag=Dying] run function undeadm-m1:entity/die/magic_missile