44 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Mcfunction
		
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Mcfunction
		
	
	
	
tellraw @a[scores={me-debugging=1..}] "undeadm-m1:tick/fire_blast"
 | 
						|
 | 
						|
## FireBlast CUSTOM ENTITY (VIA ARMOR STAND)
 | 
						|
#
 | 
						|
# Travels 20 blocks -> 10 bps during 2 seconds	
 | 
						|
# Collision with collisionable blocks
 | 
						|
# Doesn't deal contact damage
 | 
						|
#	On death by collision, summon falling fires
 | 
						|
#
 | 
						|
# Particles:
 | 
						|
# 	@tick:		campfire_cozy_smoke: 	~ ~ ~,				0 0 0, 		0.0001, 	1
 | 
						|
# 	@death:		lava:									^ ^ ^-0.15,		0 0 0, 		0.1, 			50
 | 
						|
#
 | 
						|
# Sounds:
 | 
						|
#		@death:		entity.fire_blast.die:	neutral,			@a
 | 
						|
 | 
						|
## collision
 | 
						|
# if no collison, move
 | 
						|
execute if block ^ ^ ^0.5 #undeadm-core:no_collision run tp ^ ^ ^0.5
 | 
						|
# if collision, dying
 | 
						|
execute unless block ^ ^ ^0.5 #undeadm-core:no_collision run tag @s add Dying
 | 
						|
 | 
						|
# if it hits an entity, starts dying
 | 
						|
execute if entity @s[tag=PostInit] if entity @e[gamemode=!spectator,tag=!FireBlast,dx=0,dy=0,dz=0] run tag @s add Dying
 | 
						|
 | 
						|
## some particles! (unless dying)
 | 
						|
# first particle - cool smoke, makes the trail!
 | 
						|
execute unless entity @s[tag=Dying] run particle minecraft:campfire_cosy_smoke ~ ~ ~ 0 0 0 0.001 1
 | 
						|
 | 
						|
## if dying
 | 
						|
# reset owner's wand CD to 10 (only if greater than 10)
 | 
						|
execute if entity @s[tag=Dying] as @a if score @s me-core_uid = @e[limit=1,sort=nearest,tag=FireBlast] me-core_uid if score @s me-weap_staffCD > $10 me-weap_staffCD run scoreboard players set @s me-weap_staffCD 10
 | 
						|
# fire explosion! (little)
 | 
						|
execute if entity @s[tag=Dying] run particle minecraft:lava ^ ^ ^-0.15 0 0 0 0.1 50
 | 
						|
# summon fires!
 | 
						|
execute if entity @s[tag=Dying] run function undeadm-m1:spawn/fire_blast_death
 | 
						|
# play dead sound
 | 
						|
execute if entity @s[tag=Dying] run playsound undeadm-m1:entity.fire_blast.die neutral @a
 | 
						|
# die
 | 
						|
execute if entity @s[tag=Dying] run kill @s
 | 
						|
 | 
						|
 | 
						|
 |