init.lua 513 B

1234567891011121314151617181920
  1. movable_spawnpoint = {}
  2. local storage = minetest.get_mod_storage()
  3. local spawnpoint =
  4. minetest.deserialize(storage:get_string("spawnpoint")) or
  5. {x = 0, y = -24, z = 0}
  6. function movable_spawnpoint.set_spawnpoint(p)
  7. assert(type(p.x) == "number" and
  8. type(p.y) == "number" and
  9. type(p.z) == "number", "Can't set spawnpoint to non-vector")
  10. spawnpoint = p
  11. storage:set_string("spawnpoint", minetest.serialize(spawnpoint))
  12. end
  13. function movable_spawnpoint.spawn_player(player)
  14. player:set_pos(spawnpoint)
  15. end