Add basic helpers
Allows loading, saving, setting, and bringing player to spawnpoint. Includes save and bring code on respawnplayer.master
parent
8bff3bf0b1
commit
6a62b2bd56
54
init.lua
54
init.lua
|
@ -10,3 +10,57 @@ function spawnpoint.log(content, log_type)
|
|||
if log_type == nil then log_type = "action" end
|
||||
minetest.log(log_type, "[HUD Plus] "..content)
|
||||
end
|
||||
|
||||
----------------------
|
||||
-- HELPER FUNCTIONS --
|
||||
----------------------
|
||||
|
||||
-- [function] Load
|
||||
function spawnpoint.load()
|
||||
local res = io.open(path, "r")
|
||||
if res then
|
||||
spawnpoint.pos = minetest.string_to_pos(res)
|
||||
end
|
||||
end
|
||||
|
||||
-- [function] Save
|
||||
function spawnpoint.save()
|
||||
io.open(path, "w"):write(minetest.pos_to_string(spawnpoint.pos))
|
||||
end
|
||||
|
||||
-- [function] Set
|
||||
function spawnpoint.set(pos)
|
||||
if type(pos) == "string" then
|
||||
pos = minetest.string_to_pos(pos)
|
||||
end
|
||||
|
||||
if type(pos) == "table" then
|
||||
spawnpoint.pos = pos
|
||||
end
|
||||
end
|
||||
|
||||
-- [function] Bring
|
||||
function spawnpoint.bring(player)
|
||||
if type(player) == "string" then
|
||||
player = minetest.get_player_by_name(player)
|
||||
end
|
||||
|
||||
if player then
|
||||
local pos = spawnpoint.pos
|
||||
player:setpos({x=pos.x, y=pos.y+0.5, z=pos.z})
|
||||
end
|
||||
end
|
||||
|
||||
-------------------
|
||||
---- CALLBACKS ----
|
||||
-------------------
|
||||
|
||||
spawnpoint.load()
|
||||
|
||||
-- [register] On Shutdown
|
||||
minetest.register_on_shutdown(spawnpoint.save)
|
||||
|
||||
-- [register] On Respawn Player
|
||||
minetest.register_on_respawnplayer(function(player)
|
||||
spawnpoint.bring(player)
|
||||
end)
|
||||
|
|
Loading…
Reference in New Issue