--- fancy shaped bed
+-- Fancy shaped bed
+
beds.register_bed("beds:fancy_bed", {
description = "Fancy Bed",
inventory_image = "beds_bed_fancy.png",
wield_image = "beds_bed_fancy.png",
tiles = {
- bottom = {
- "beds_bed_top1.png",
- "default_wood.png",
- "beds_bed_side1.png",
- "beds_bed_side1.png^[transformFX",
- "default_wood.png",
- "beds_bed_foot.png",
- },
- top = {
- "beds_bed_top2.png",
- "default_wood.png",
- "beds_bed_side2.png",
- "beds_bed_side2.png^[transformFX",
- "beds_bed_head.png",
- "default_wood.png",
- }
+ bottom = {
+ "beds_bed_top1.png",
+ "default_wood.png",
+ "beds_bed_side1.png",
+ "beds_bed_side1.png^[transformFX",
+ "default_wood.png",
+ "beds_bed_foot.png",
+ },
+ top = {
+ "beds_bed_top2.png",
+ "default_wood.png",
+ "beds_bed_side2.png",
+ "beds_bed_side2.png^[transformFX",
+ "beds_bed_head.png",
+ "default_wood.png",
+ }
},
nodebox = {
- bottom = {
- {-0.5, -0.5, -0.5, -0.375, -0.065, -0.4375},
- {0.375, -0.5, -0.5, 0.5, -0.065, -0.4375},
- {-0.5, -0.375, -0.5, 0.5, -0.125, -0.4375},
- {-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5},
- {0.4375, -0.375, -0.5, 0.5, -0.125, 0.5},
- {-0.4375, -0.3125, -0.4375, 0.4375, -0.0625, 0.5},
- },
- top = {
- {-0.5, -0.5, 0.4375, -0.375, 0.1875, 0.5},
- {0.375, -0.5, 0.4375, 0.5, 0.1875, 0.5},
- {-0.5, 0, 0.4375, 0.5, 0.125, 0.5},
- {-0.5, -0.375, 0.4375, 0.5, -0.125, 0.5},
- {-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5},
- {0.4375, -0.375, -0.5, 0.5, -0.125, 0.5},
- {-0.4375, -0.3125, -0.5, 0.4375, -0.0625, 0.4375},
- }
+ bottom = {
+ {-0.5, -0.5, -0.5, -0.375, -0.065, -0.4375},
+ {0.375, -0.5, -0.5, 0.5, -0.065, -0.4375},
+ {-0.5, -0.375, -0.5, 0.5, -0.125, -0.4375},
+ {-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5},
+ {0.4375, -0.375, -0.5, 0.5, -0.125, 0.5},
+ {-0.4375, -0.3125, -0.4375, 0.4375, -0.0625, 0.5},
+ },
+ top = {
+ {-0.5, -0.5, 0.4375, -0.375, 0.1875, 0.5},
+ {0.375, -0.5, 0.4375, 0.5, 0.1875, 0.5},
+ {-0.5, 0, 0.4375, 0.5, 0.125, 0.5},
+ {-0.5, -0.375, 0.4375, 0.5, -0.125, 0.5},
+ {-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5},
+ {0.4375, -0.375, -0.5, 0.5, -0.125, 0.5},
+ {-0.4375, -0.3125, -0.5, 0.4375, -0.0625, 0.4375},
+ }
},
selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5},
recipe = {
},
})
--- simple shaped bed
+-- Simple shaped bed
+
beds.register_bed("beds:bed", {
description = "Simple Bed",
inventory_image = "beds_bed.png",
wield_image = "beds_bed.png",
tiles = {
- bottom = {
- "beds_bed_top_bottom.png^[transformR90",
- "default_wood.png",
- "beds_bed_side_bottom_r.png",
- "beds_bed_side_bottom_r.png^[transformfx",
- "beds_transparent.png",
- "beds_bed_side_bottom.png"
- },
- top = {
- "beds_bed_top_top.png^[transformR90",
- "default_wood.png",
- "beds_bed_side_top_r.png",
- "beds_bed_side_top_r.png^[transformfx",
- "beds_bed_side_top.png",
- "beds_transparent.png",
- }
+ bottom = {
+ "beds_bed_top_bottom.png^[transformR90",
+ "default_wood.png",
+ "beds_bed_side_bottom_r.png",
+ "beds_bed_side_bottom_r.png^[transformfx",
+ "beds_transparent.png",
+ "beds_bed_side_bottom.png"
+ },
+ top = {
+ "beds_bed_top_top.png^[transformR90",
+ "default_wood.png",
+ "beds_bed_side_top_r.png",
+ "beds_bed_side_top_r.png^[transformfx",
+ "beds_bed_side_top.png",
+ "beds_transparent.png",
+ }
},
nodebox = {
- bottom = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5},
- top = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5},
+ bottom = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5},
+ top = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5},
},
selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5},
recipe = {
{"wool:red", "wool:red", "wool:white"},
{"group:wood", "group:wood", "group:wood"}
},
-
})
--- aliases for PA's beds mod
+-- Aliases for PilzAdam's beds mod
+
minetest.register_alias("beds:bed_bottom_red", "beds:bed_bottom")
minetest.register_alias("beds:bed_top_red", "beds:bed_top")
enable_respawn = true
end
-
--- helper functions
+-- Helper functions
local function get_look_yaw(pos)
local n = minetest.get_node(pos)
if n.param2 == 1 then
- return pi/2, n.param2
+ return pi / 2, n.param2
elseif n.param2 == 3 then
- return -pi/2, n.param2
+ return -pi / 2, n.param2
elseif n.param2 == 0 then
return pi, n.param2
else
end
-- physics, eye_offset, etc
- player:set_eye_offset({x=0,y=0,z=0}, {x=0,y=0,z=0})
- player:set_look_yaw(math.random(1, 180)/100)
+ player:set_eye_offset({x = 0, y = 0, z = 0}, {x = 0, y = 0, z = 0})
+ player:set_look_yaw(math.random(1, 180) / 100)
default.player_attached[name] = false
player:set_physics_override(1, 1, 1)
hud_flags.wielditem = true
player_in_bed = player_in_bed + 1
-- physics, eye_offset, etc
- player:set_eye_offset({x=0,y=-13,z=0}, {x=0,y=0,z=0})
+ player:set_eye_offset({x = 0, y = -13, z = 0}, {x = 0, y = 0, z = 0})
local yaw, param2 = get_look_yaw(bed_pos)
player:set_look_yaw(yaw)
local dir = minetest.facedir_to_dir(param2)
- local p = {x=bed_pos.x+dir.x/2,y=bed_pos.y,z=bed_pos.z+dir.z/2}
+ local p = {x = bed_pos.x + dir.x / 2, y = bed_pos.y, z = bed_pos.z + dir.z / 2}
player:set_physics_override(0, 0, 0)
player:setpos(p)
default.player_attached[name] = true
local function update_formspecs(finished)
local ges = #minetest.get_connected_players()
local form_n = ""
- local is_majority = (ges/2) < player_in_bed
+ local is_majority = (ges / 2) < player_in_bed
if finished then
- form_n = beds.formspec ..
- "label[2.7,11; Good morning.]"
+ form_n = beds.formspec .. "label[2.7,11; Good morning.]"
else
- form_n = beds.formspec ..
- "label[2.2,11;"..tostring(player_in_bed).." of "..tostring(ges).." players are in bed]"
+ form_n = beds.formspec .. "label[2.2,11;" .. tostring(player_in_bed) ..
+ " of " .. tostring(ges) .. " players are in bed]"
if is_majority and is_night_skip_enabled() then
- form_n = form_n ..
- "button_exit[2,8;4,0.75;force;Force night skip]"
+ form_n = form_n .. "button_exit[2,8;4,0.75;force;Force night skip]"
end
end
end
--- public functions
+-- Public functions
function beds.kick_players()
- for name,_ in pairs(beds.player) do
+ for name, _ in pairs(beds.player) do
local player = minetest.get_player_by_name(name)
lay_down(player, nil, nil, false)
end
end
--- callbacks
+-- Callbacks
minetest.register_on_joinplayer(function(player)
beds.read_spawns()