
# -> Check for block collision
execute unless block ~ ~ ~ #air run \
    return run \
        execute positioned ^ ^ ^-0.1 \
            if block ~ ~ ~ #air run \
                setblock ~ ~ ~ fire

# -> Increment raycast
scoreboard players add #or.Raycast.RayRange OverlyRealistic.General.ArbitraryData 1

# -> Loop
execute unless score #or.Raycast.RayRange OverlyRealistic.General.ArbitraryData matches 500.. \
    positioned ^ ^ ^0.1 run \
        function overly_realistic:general/godhood/power_actions/fire/fire_raycast_travel