# Gets player coordinates
execute as @a[scores={location=1..2}] store result score @s xPos run data get entity @s Pos[0]
execute as @a[scores={location=1..2}] store result score @s yPos run data get entity @s Pos[1]
execute as @a[scores={location=1..2}] store result score @s zPos run data get entity @s Pos[2]

# Teleports players back to map
execute as @a[scores={location=1..2,zPos=..-1041}] at @s run function ss:main/boundary
execute as @a[scores={location=1..2,xPos=..-43}] at @s run function ss:main/boundary
execute as @a[scores={location=1..2,zPos=-958..}] at @s run function ss:main/boundary
execute as @a[scores={location=1..2,xPos=39..}] at @s run function ss:main/boundary
execute as @a[scores={location=1..2,yPos=32..}] at @s unless block ~ ~-1 ~ air run function ss:main/boundary

# Counts down on the powerup timer
scoreboard players remove #powerup time 1
execute if score #powerup time matches 60 run function ss:main/powerup/despawn
execute if score #powerup time matches ..0 positioned 33.5 31 -999.5 run function ss:main/powerup/spawn