scoreboard players add @s bull 1
scoreboard players add @s[tag=ffedd] bullfire 1

particle dust 0 0 0 0.3 ~ ~ ~ 0.2 0.1 0.2 0.3 20 force @a
execute at @s[scores={bull=2}] run playsound block.fire.extinguish voice @a ~ ~ ~ 0.5 0.5
#execute at @s[scores={bull=2}] run playsound minecraft:entity.illusioner.mirror_move voice @a ~ ~ ~ 5 2
execute at @s[scores={bull=..2}] rotated as @p run tp @s ~ ~ ~ ~ ~
execute at @s[scores={bull=2..},tag=!lllllop] unless block ~ ~-0.2 ~ #aop1:air run tag @s add lllllop
execute at @s[scores={bull=2..},tag=!lllllop] if block ~ ~-0.2 ~ #aop1:air unless entity @e[nbt=!{SelectedItem:{tag:{fff:1}}},sort=nearest,limit=1,type=!small_fireball,type=!fireball,type=!area_effect_cloud,type=!item,type=!experience_orb,distance=..2,type=!arrow] run tp @s[scores={bull=2..}] ^ ^-0.05 ^0.5
execute at @s[scores={bull=2..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s[scores={bull=2..}] ^ ^0.1 ^
execute at @s[scores={bull=4..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=5..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=6..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=7..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=8..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=9..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=10..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=11..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=12..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=13..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=14..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=15..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=16..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=17..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=18..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=19..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=20..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=21..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=22..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=23..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=24..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=25..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=26..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=27..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=28..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=29..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=30..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=31..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=32..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=33..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=34..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=35..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=36..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=37..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=38..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=39..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=40..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=41..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^
execute at @s[scores={bull=42..},tag=!lllllop] if block ~ ~-0.1 ~ #aop1:air run tp @s ^ ^-0.02 ^

#tp @s ^ ^ ^0.5 facing entity @e[nbt=!{SelectedItem:{tag:{fff:1}}},sort=nearest,limit=1,type=!small_fireball,type=!fireball,type=!area_effect_cloud,type=!item,type=!experience_orb,distance=..2,type=!arrow]
#execute unless entity @e[nbt=!{SelectedItem:{tag:{bow:1}}},sort=nearest,limit=1,type=!small_fireball,type=!fireball,type=!area_effect_cloud,type=!item,type=!experience_orb,distance=..2.5] run tp @s[scores={bull=3..}] ^ ^ ^4
#tp @s[scores={bull=5..}] ^ ^ ^4 facing entity @e[nbt=!{SelectedItem:{tag:{bow:1}}},sort=nearest,limit=1,type=!small_fireball,type=!fireball,type=!area_effect_cloud,type=!item,type=!experience_orb,distance=..2.5]
execute at @s if block ~ ~ ~ fire unless entity @s[tag=ffedd123] run function aop1:exbb
execute at @s if block ~ ~ ~ fire run tag @s[name=bull99a,distance=..20] add ffedd123

execute at @s if block ~1 ~ ~ fire unless entity @s[tag=ffedd123] run function aop1:exbb
execute at @s if block ~1 ~ ~ fire run tag @s[name=bull99a,distance=..20] add ffedd123

execute at @s if block ~ ~ ~1 fire unless entity @s[tag=ffedd123] run function aop1:exbb
execute at @s if block ~ ~ ~1 fire run tag @s[name=bull99a,distance=..20] add ffedd123

execute at @s if block ~-1 ~ ~ fire unless entity @s[tag=ffedd123] run function aop1:exbb
execute at @s if block ~-1 ~ ~ fire run tag @s[name=bull99a,distance=..20] add ffedd123

execute at @s if block ~ ~ ~-1 fire unless entity @s[tag=ffedd123] run function aop1:exbb
execute at @s if block ~ ~ ~-1 fire run tag @s[name=bull99a,distance=..20] add ffedd123

execute at @s if block ~ ~1 ~ fire unless entity @s[tag=ffedd123] run function aop1:exbb
execute at @s if block ~ ~1 ~ fire run tag @s[name=bull99a,distance=..20] add ffedd123



execute at @s[tag=ffedd,scores={bullfire=2..}] run function aop1:exbb

kill @s[scores={bull=2000..}]