]> git.lizzy.rs Git - minetest.git/blob - builtin/game/static_spawn.lua
Add minetest.register_lbm() to run code on block load only
[minetest.git] / builtin / game / static_spawn.lua
1 -- Minetest: builtin/static_spawn.lua
2
3 local function warn_invalid_static_spawnpoint()
4         if core.setting_get("static_spawnpoint") and
5                         not core.setting_get_pos("static_spawnpoint") then
6                 core.log("error", "The static_spawnpoint setting is invalid: \""..
7                                 core.setting_get("static_spawnpoint").."\"")
8         end
9 end
10
11 warn_invalid_static_spawnpoint()
12
13 local function put_player_in_spawn(player_obj)
14         local static_spawnpoint = core.setting_get_pos("static_spawnpoint")
15         if not static_spawnpoint then
16                 return false
17         end
18         core.log("action", "Moving " .. player_obj:get_player_name() ..
19                 " to static spawnpoint at " .. core.pos_to_string(static_spawnpoint))
20         player_obj:setpos(static_spawnpoint)
21         return true
22 end
23
24 core.register_on_newplayer(put_player_in_spawn)
25 core.register_on_respawnplayer(put_player_in_spawn)