## Sound
playsound vb:block.void_core block @a[distance=..16] ~ ~ ~ 1 0

## Default
scoreboard players set @s vb.entity.void_core_active 0

## Level 1
execute unless block ~2 ~ ~2 purpur_pillar run return fail
execute unless block ~2 ~1 ~2 purpur_pillar run return fail
execute unless block ~-2 ~ ~2 purpur_pillar run return fail
execute unless block ~-2 ~1 ~2 purpur_pillar run return fail
execute unless block ~2 ~ ~-2 purpur_pillar run return fail
execute unless block ~2 ~1 ~-2 purpur_pillar run return fail
execute unless block ~-2 ~ ~-2 purpur_pillar run return fail
execute unless block ~-2 ~1 ~-2 purpur_pillar run return fail
scoreboard players set @s vb.entity.void_core_active 1

## Level 2
execute unless block ~2 ~2 ~2 purpur_pillar run return fail
execute unless block ~2 ~3 ~2 purpur_pillar run return fail
execute unless block ~-2 ~2 ~2 purpur_pillar run return fail
execute unless block ~-2 ~3 ~2 purpur_pillar run return fail
execute unless block ~2 ~2 ~-2 purpur_pillar run return fail
execute unless block ~2 ~3 ~-2 purpur_pillar run return fail
execute unless block ~-2 ~2 ~-2 purpur_pillar run return fail
execute unless block ~-2 ~3 ~-2 purpur_pillar run return fail
scoreboard players set @s vb.entity.void_core_active 2

## Level 3
execute unless block ~ ~1 ~ dragon_egg run return fail
execute unless block ~2 ~3 ~0 purpur_pillar run return fail
execute unless block ~2 ~3 ~1 purpur_pillar run return fail
execute unless block ~2 ~3 ~-1 purpur_pillar run return fail
execute unless block ~-2 ~3 ~0 purpur_pillar run return fail
execute unless block ~-2 ~3 ~1 purpur_pillar run return fail
execute unless block ~-2 ~3 ~-1 purpur_pillar run return fail
execute unless block ~0 ~3 ~2 purpur_pillar run return fail
execute unless block ~1 ~3 ~2 purpur_pillar run return fail
execute unless block ~-1 ~3 ~2 purpur_pillar run return fail
execute unless block ~0 ~3 ~-2 purpur_pillar run return fail
execute unless block ~1 ~3 ~-2 purpur_pillar run return fail
execute unless block ~-1 ~3 ~-2 purpur_pillar run return fail
scoreboard players set @s vb.entity.void_core_active 3