## Finished raycast, set remaining range to 0
scoreboard players set @s vb.raycast 0

execute if data block ~ ~ ~ components."minecraft:custom_data"."vb.item.bartering_station" run function vb:place_custom_block/block/bartering_station
execute if data block ~ ~ ~ components."minecraft:custom_data"."vb.item.ender_output" run function vb:place_custom_block/block/ender_output
execute if data block ~ ~ ~ components."minecraft:custom_data"."vb.item.copper_fan" run function vb:place_custom_block/block/copper_fan
execute if data block ~ ~ ~ components."minecraft:custom_data"."vb.item.subwoofer" run function vb:place_custom_block/block/subwoofer
execute if data block ~ ~ ~ components."minecraft:custom_data"."vb.item.coin_press" run function vb:place_custom_block/block/coin_press
execute if data block ~ ~ ~ components."minecraft:custom_data"."vb.item.esky" run function vb:place_custom_block/block/esky
execute if data block ~ ~ ~ components."minecraft:custom_data"."vb.item.fish_trap" run function vb:place_custom_block/block/fish_trap
execute if data block ~ ~ ~ components."minecraft:custom_data"."vb.item.trial_gate" run function vb:place_custom_block/block/trial_gate
execute if data block ~ ~ ~ components."minecraft:custom_data"."vb.item.void_core" run function vb:place_custom_block/block/void_core

execute as @e[tag=vb.custom_block,tag=!vb.loaded] at @s run function vb:tick_entity/custom_block