diff options
author | cheapie <no-email-for-you@example.com> | 2014-07-03 13:18:33 -0500 |
---|---|---|
committer | cheapie <no-email-for-you@example.com> | 2014-07-03 13:18:33 -0500 |
commit | cbdec9a5f43cd28d173dc86ae09dce797cc2325b (patch) | |
tree | 7a48b9341c3bdcc9a076c47e1ab25eac5fb79042 | |
parent | 517f995cb1a3cf81c966d76ba7fd59bf86913da2 (diff) | |
download | spawn-cbdec9a5f43cd28d173dc86ae09dce797cc2325b.tar spawn-cbdec9a5f43cd28d173dc86ae09dce797cc2325b.tar.gz spawn-cbdec9a5f43cd28d173dc86ae09dce797cc2325b.tar.bz2 spawn-cbdec9a5f43cd28d173dc86ae09dce797cc2325b.tar.xz spawn-cbdec9a5f43cd28d173dc86ae09dce797cc2325b.zip |
Added a /setspawn command to set the spawn point more easily (requires server priv)
-rw-r--r-- | init.lua | 54 |
1 files changed, 38 insertions, 16 deletions
@@ -1,19 +1,41 @@ --Spawn mod for Minetest ---Originally written by VanessaE (I think), modified by cheapie ---License unknown for original code, modifications are WTFPL +--Originally written by VanessaE (I think), rewritten by cheapie +--WTFPL -minetest.register_on_chat_message(function(name, message, playername, player) - local cmd = "/spawn" - if message:sub(0, #cmd) == cmd then - if message == '/spawn' then - local player = minetest.env:get_player_by_name(name) - if minetest.setting_get_pos("static_spawnpoint") then - minetest.chat_send_player(player:get_player_name(), "Teleporting to spawn...") - player:setpos(minetest.setting_get_pos("static_spawnpoint")) - else - minetest.chat_send_player(player:get_player_name(), "ERROR: No spawn point is set on this server!") - end - return true + +minetest.register_chatcommand("spawn", { + params = "", + description = "Teleport to the spawn point", + func = function(name, param) + local player = minetest.get_player_by_name(name) + if not player then + return false, "Player not found" + end + if minetest.setting_get_pos("static_spawnpoint") then + player:setpos(minetest.setting_get_pos("static_spawnpoint")) + return true, "Teleporting to spawn..." + else + return false, "The spawn point is not set!" + end + end, +}) + +minetest.register_chatcommand("setspawn", { + params = "", + description = "Sets the spawn point to your current position", + privs = { server=true }, + func = function(name, param) + local player = minetest.get_player_by_name(name) + if not player then + return false, "Player not found" end - end -end) + local pos = player:getpos() + local x = pos.x + local y = pos.y + local z = pos.z + local pos_string = x..","..y..","..z + local pos_string_2 = "Setting spawn point to ("..x..", "..y..", "..z..")" + minetest.setting_set("static_spawnpoint",pos_string) + return true, pos_string_2 + end, +}) |