
# -> Adequate entity check
execute positioned ~-0.2 ~0.5 ~-0.2 as @n[type=block_display,tag=OverlyRealistic.GroundBloodSplatter,distance=..0.5] run \
    return run \
        function overly_realistic:players/misc/brush/blood_brushed

# -> Block check
execute unless block ~ ~ ~ #air run \
    return fail

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

# -> Recursive loop
execute unless score #or.Raycast.RayRange OverlyRealistic.General.ArbitraryData >= #or.Raycast.RayRangeMax OverlyRealistic.General.ArbitraryData \
    positioned ^ ^ ^0.1 run \
        function overly_realistic:players/misc/brush/ray_travel