tweak and tidy code
This commit is contained in:
parent
f21a550ae7
commit
6fadc4afca
19
api.lua
19
api.lua
@ -32,14 +32,8 @@ function beds.register_bed(name, def)
|
||||
fall_damage_add_percent = -40, bouncy = 85
|
||||
},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = def.selectionbox
|
||||
},
|
||||
collision_box = {
|
||||
type = "fixed",
|
||||
fixed = def.collisionbox
|
||||
},
|
||||
selection_box = {type = "fixed", fixed = def.selectionbox},
|
||||
collision_box = {type = "fixed", fixed = def.collisionbox},
|
||||
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
|
||||
@ -120,6 +114,10 @@ function beds.register_bed(name, def)
|
||||
|
||||
on_sleep = function(pos, player)
|
||||
return def.on_sleep and def.on_sleep(pos, player)
|
||||
end,
|
||||
|
||||
on_blast = function(pos, intensity)
|
||||
minetest.remove_node(pos)
|
||||
end
|
||||
})
|
||||
|
||||
@ -127,8 +125,5 @@ function beds.register_bed(name, def)
|
||||
minetest.register_alias(name .. "_top", "air")
|
||||
|
||||
-- register recipe
|
||||
minetest.register_craft({
|
||||
output = name,
|
||||
recipe = def.recipe
|
||||
})
|
||||
minetest.register_craft({output = name, recipe = def.recipe})
|
||||
end
|
||||
|
34
beds.lua
34
beds.lua
@ -87,32 +87,8 @@ minetest.register_alias("beds:bed_top_red", "beds:bed_top")
|
||||
|
||||
-- Fuel
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "beds:fancy_bed",
|
||||
burntime = 13
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "beds:fancy_bed_pink",
|
||||
burntime = 13
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "beds:bed",
|
||||
burntime = 12
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "beds:bed_blue",
|
||||
burntime = 12
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "beds:bed_white",
|
||||
burntime = 12
|
||||
})
|
||||
minetest.register_craft({type = "fuel", recipe = "beds:fancy_bed", burntime = 13})
|
||||
minetest.register_craft({type = "fuel", recipe = "beds:fancy_bed_pink", burntime = 13})
|
||||
minetest.register_craft({type = "fuel", recipe = "beds:bed", burntime = 12})
|
||||
minetest.register_craft({type = "fuel", recipe = "beds:bed_blue", burntime = 12})
|
||||
minetest.register_craft({type = "fuel", recipe = "beds:bed_white", burntime = 12})
|
||||
|
@ -48,13 +48,11 @@ local function check_in_beds(players)
|
||||
players = minetest.get_connected_players()
|
||||
end
|
||||
|
||||
for n, player in ipairs(players) do
|
||||
for n, player in pairs(players) do
|
||||
|
||||
local name = player:get_player_name()
|
||||
local name = player and player:get_player_name()
|
||||
|
||||
if not in_bed[name] then
|
||||
return false
|
||||
end
|
||||
if not in_bed[name] then return false end
|
||||
end
|
||||
|
||||
return #players > 0
|
||||
@ -66,9 +64,7 @@ local function lay_down(player, pos, bed_pos, state, skip)
|
||||
local name = player:get_player_name()
|
||||
local hud_flags = player:hud_get_flags()
|
||||
|
||||
if not player or not name then
|
||||
return
|
||||
end
|
||||
if not player or not name then return end
|
||||
|
||||
-- stand up
|
||||
if state ~= nil and not state then
|
||||
@ -80,9 +76,7 @@ local function lay_down(player, pos, bed_pos, state, skip)
|
||||
beds.bed_position[name] = nil
|
||||
|
||||
-- skip here to prevent sending player specific changes (used for leaving players)
|
||||
if skip then
|
||||
return
|
||||
end
|
||||
if skip then return end
|
||||
|
||||
player:set_pos(beds.pos[name])
|
||||
|
||||
@ -124,7 +118,7 @@ local function lay_down(player, pos, bed_pos, state, skip)
|
||||
end
|
||||
|
||||
-- Check if player is moving
|
||||
if is_54 and vector.length(player:get_velocity()) > 0.05 then -- 0.001 then
|
||||
if is_54 and vector.length(player:get_velocity()) > 0.05 then
|
||||
|
||||
minetest.chat_send_player(name,
|
||||
S("You have to stop moving before going to bed!"))
|
||||
@ -133,14 +127,10 @@ local function lay_down(player, pos, bed_pos, state, skip)
|
||||
end
|
||||
|
||||
-- Check if player is attached to an object
|
||||
if player:get_attach() then
|
||||
return false
|
||||
end
|
||||
if player:get_attach() then return false end
|
||||
|
||||
-- player already in bed, do nothing
|
||||
if beds.player[name] then
|
||||
return false
|
||||
end
|
||||
if beds.player[name] then return false end
|
||||
|
||||
beds.pos[name] = pos
|
||||
beds.bed_position[name] = bed_pos
|
||||
|
18
init.lua
18
init.lua
@ -1,16 +1,9 @@
|
||||
-- Load support for MT game translation.
|
||||
local S
|
||||
if minetest.get_translator ~= nil then
|
||||
S = minetest.get_translator("beds") -- 5.x translation function
|
||||
else -- boilerplate function for 0.4
|
||||
S = function(str, ...)
|
||||
local args = {...}
|
||||
return str:gsub("@%d+", function(match)
|
||||
return args[tonumber(match:sub(2))]
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
-- translation support
|
||||
|
||||
local S = minetest.get_translator("beds")
|
||||
|
||||
-- global
|
||||
|
||||
beds = {
|
||||
mod = "redo",
|
||||
@ -27,6 +20,7 @@ beds = {
|
||||
.. "button_exit[2,10;4,0.75;leave;" .. minetest.formspec_escape(S("Leave Bed")) .. "]"
|
||||
}
|
||||
|
||||
-- load api, register beds, load player respawn positions
|
||||
|
||||
local modpath = minetest.get_modpath("beds")
|
||||
|
||||
|
15
spawns.lua
15
spawns.lua
@ -1,10 +1,13 @@
|
||||
|
||||
-- paths
|
||||
|
||||
local world_path = minetest.get_worldpath()
|
||||
local org_file = world_path .. "/beds_spawns"
|
||||
local file = world_path .. "/beds_spawns"
|
||||
local bkwd = false
|
||||
|
||||
-- check for old PilzAdams beds mod spawns
|
||||
|
||||
-- check for PA's beds mod spawns
|
||||
local cf = io.open(world_path .. "/beds_player_spawns", "r")
|
||||
|
||||
if cf ~= nil then
|
||||
@ -13,6 +16,7 @@ if cf ~= nil then
|
||||
bkwd = true
|
||||
end
|
||||
|
||||
-- get respawn positions
|
||||
|
||||
function beds.read_spawns()
|
||||
|
||||
@ -25,9 +29,7 @@ function beds.read_spawns()
|
||||
|
||||
local x = input:read("*n")
|
||||
|
||||
if x == nil then
|
||||
break
|
||||
end
|
||||
if x == nil then break end
|
||||
|
||||
local y = input:read("*n")
|
||||
local z = input:read("*n")
|
||||
@ -49,10 +51,11 @@ function beds.read_spawns()
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- load player spawn positions
|
||||
|
||||
beds.read_spawns()
|
||||
|
||||
-- save respawn positions
|
||||
|
||||
function beds.save_spawns()
|
||||
|
||||
@ -71,6 +74,7 @@ function beds.save_spawns()
|
||||
io.close(output)
|
||||
end
|
||||
|
||||
-- set spawn position
|
||||
|
||||
function beds.set_spawns()
|
||||
|
||||
@ -88,6 +92,7 @@ function beds.set_spawns()
|
||||
beds.save_spawns()
|
||||
end
|
||||
|
||||
-- remove respawn position
|
||||
|
||||
function beds.remove_spawns_at(pos)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user