Compare commits
5 Commits
0cb67e1334
...
0404170e9b
Author | SHA1 | Date |
---|---|---|
amadin | 0404170e9b | |
amadin | 4d445e1fd2 | |
amadin | 5b6e1fcc70 | |
amadin | d53b27e3e5 | |
amadin | 1da4fd19cb |
42
README.md
42
README.md
|
@ -1,46 +1,82 @@
|
|||
# sethome
|
||||
Minetest sethome mod for beds.
|
||||
Minetest sethome mod for beds (teleport for beds).
|
||||
Teleporting player to bed if he slept on it after writing in chat /home.
|
||||
Tested on default beds from minetest_game.
|
||||
https://forum.minetest.net/viewtopic.php?f=9&t=13788&sid=afe75228c98f38ad6847c82f86fbfe46
|
||||
|
||||
http://forum.minetest.net/viewtopic.php?f=9&t=13788
|
||||
|
||||
If you want use PilzAdam's beds mod you must replace all code in init.lua by this:
|
||||
|
||||
minetest.register_on_chat_message(function(name, message, playername, player)
|
||||
|
||||
local player_spawns = {}
|
||||
|
||||
local file = io.open(minetest.get_worldpath().."/beds_player_spawns", "r")
|
||||
|
||||
if file then
|
||||
|
||||
player_spawns = minetest.deserialize(file:read("*all"))
|
||||
|
||||
file:close()
|
||||
|
||||
end
|
||||
|
||||
local cmd = "/home"
|
||||
|
||||
local player = minetest.get_player_by_name(name)
|
||||
|
||||
|
||||
if message:sub(0, #cmd) == cmd then
|
||||
|
||||
if message == '/home' then
|
||||
|
||||
if (player_spawns[name]) then
|
||||
|
||||
minetest.chat_send_player(player:get_player_name(), "Teleporting to bed...")
|
||||
|
||||
player:setpos(player_spawns[name])
|
||||
|
||||
return true
|
||||
|
||||
else
|
||||
|
||||
minetest.chat_send_player(player:get_player_name(), "You haven't slept in a bed yet.")
|
||||
|
||||
return true
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
end)
|
||||
|
||||
|
||||
minetest.register_chatcommand("sethome", {
|
||||
|
||||
--params = "",
|
||||
|
||||
description = "Information about set your home point",
|
||||
|
||||
func = function(name)
|
||||
|
||||
local player = minetest.get_player_by_name(name)
|
||||
|
||||
if player == nil then
|
||||
|
||||
-- just a check to prevent the server crashing
|
||||
|
||||
return false
|
||||
|
||||
end
|
||||
|
||||
minetest.chat_send_player(player:get_player_name(), "You must sleep in a bed for this.")
|
||||
|
||||
return true
|
||||
|
||||
end,
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
|
|
2
init.lua
2
init.lua
|
@ -34,6 +34,8 @@ minetest.register_chatcommand("home", {
|
|||
loadhomes()
|
||||
if homepos[name] then
|
||||
player:setpos(homepos[name])
|
||||
player:set_eye_offset({x=0,y=0,z=0}, {x=0,y=0,z=0})
|
||||
player:set_physics_override(1, 1, 1)
|
||||
--minetest.chat_send_player(name, "Teleported to home!")
|
||||
else
|
||||
minetest.chat_send_player(name, "You haven't slept in a bed yet.")
|
||||
|
|
Loading…
Reference in New Issue