# 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=..-1083}] at @s run function ss:main/boundary
execute as @a[scores={location=1..2,xPos=..911}] at @s run function ss:main/boundary
execute as @a[scores={location=1..2,zPos=-903..}] at @s run function ss:main/boundary
execute as @a[scores={location=1..2,xPos=1093..}] at @s run function ss:main/boundary
execute as @a[scores={location=1..2,yPos=60..,xPos=..929},team=!safe] at @s unless block ~ ~-1 ~ air run function ss:main/boundary
execute as @a[scores={location=1..2,yPos=54..,zPos=..-1058}] at @s unless block ~ ~-1 ~ air run function ss:main/boundary
execute as @a[scores={location=1..2,yPos=54..,xPos=1070..}] at @s unless block ~ ~-1 ~ air run function ss:main/boundary
execute as @a[scores={location=1..2,yPos=54..,zPos=-934..}] 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 1000 80 -1000 run function ss:main/powerup/spawn