function randLoc(text: text="") :: location:
while {_return} is not set:
set {_x} to random integer between -2000 and 2000
set {_z} to random integer between -2000 and 2000
set {_loc} to location at {_x}, 256, {_z}
while block at {_loc} is air:
set {_loc} to location under {_loc}
if block at {_loc} is water or lava:
set {_x} to random integer between -2000 and 2000
set {_z} to random integer between -2000 and 2000
set {_loc} to location at {_x}, 256, {_z}
return {_return}
on first join:
teleport player to randLoc()