diff options
author | Perttu Ahola <celeron55@gmail.com> | 2012-04-09 23:29:55 +0300 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2012-04-09 23:32:13 +0300 |
commit | 93cdc9b9dc240aef70ec5016552c7f36ee019865 (patch) | |
tree | 55157b777205cb9891fa7dd567cb2fe21e6c88fc /builtin/static_spawn.lua | |
parent | 8ed74a342988b7d67a7c9eacc2257ba42acd00de (diff) | |
download | dragonfireclient-93cdc9b9dc240aef70ec5016552c7f36ee019865.tar.xz |
Support static_spawnpoint setting
Diffstat (limited to 'builtin/static_spawn.lua')
-rw-r--r-- | builtin/static_spawn.lua | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/builtin/static_spawn.lua b/builtin/static_spawn.lua new file mode 100644 index 000000000..e8c107d86 --- /dev/null +++ b/builtin/static_spawn.lua @@ -0,0 +1,33 @@ +-- Minetest: builtin/static_spawn.lua + +local function warn_invalid_static_spawnpoint() + if minetest.setting_get("static_spawnpoint") and + not minetest.setting_get_pos("static_spawnpoint") then + minetest.log('error', "The static_spawnpoint setting is invalid: \"".. + minetest.setting_get("static_spawnpoint").."\"") + end +end + +warn_invalid_static_spawnpoint() + +local function put_player_in_spawn(obj) + warn_invalid_static_spawnpoint() + local static_spawnpoint = minetest.setting_get_pos("static_spawnpoint") + if not static_spawnpoint then + return false + end + minetest.log('action', "Moving "..obj:get_player_name().. + " to static spawnpoint at ".. + minetest.pos_to_string(static_spawnpoint)) + obj:setpos(static_spawnpoint) + return true +end + +minetest.register_on_newplayer(function(obj) + put_player_in_spawn(obj) +end) + +minetest.register_on_respawnplayer(function(obj) + return put_player_in_spawn(obj) +end) + |