1 local S
= minetest
.get_translator("mcl_beds")
2 local mod_doc
= minetest
.get_modpath("doc")
6 {-0.5, -5/16, -0.5, 0.5, 0.06, 0.5},
7 {-0.5, -0.5, -0.5, -5/16, -5/16, -5/16},
8 {0.5, -0.5, -0.5, 5/16, -5/16, -5/16},
11 {-0.5, -5/16, -0.5, 0.5, 0.06, 0.5},
12 {-0.5, -0.5, 0.5, -5/16, -5/16, 5/16},
13 {0.5, -0.5, 0.5, 5/16, -5/16, 5/16},
18 -- { ID, decription, wool, dye }
19 { "red", S("Red Bed"), "mcl_wool:red", "mcl_dye:red" },
20 { "blue", S("Blue Bed"), "mcl_wool:blue", "mcl_dye:blue" },
21 { "cyan", S("Cyan Bed"), "mcl_wool:cyan", "mcl_dye:cyan" },
22 { "grey", S("Grey Bed"), "mcl_wool:grey", "mcl_dye:dark_grey" },
23 { "silver", S("Light Grey Bed"), "mcl_wool:silver", "mcl_dye:grey" },
24 { "black", S("Black Bed"), "mcl_wool:black", "mcl_dye:black" },
25 { "yellow", S("Yellow Bed"), "mcl_wool:yellow", "mcl_dye:yellow" },
26 { "green", S("Green Bed"), "mcl_wool:green", "mcl_dye:dark_green" },
27 { "magenta", S("Magenta Bed"), "mcl_wool:magenta", "mcl_dye:magenta" },
28 { "orange", S("Orange Bed"), "mcl_wool:orange", "mcl_dye:orange" },
29 { "purple", S("Purple Bed"), "mcl_wool:purple", "mcl_dye:violet" },
30 { "brown", S("Brown Bed"), "mcl_wool:brown", "mcl_dye:brown" },
31 { "pink", S("Pink Bed"), "mcl_wool:pink", "mcl_dye:pink" },
32 { "lime", S("Lime Bed"), "mcl_wool:lime", "mcl_dye:green" },
33 { "light_blue", S("Light Blue Bed"), "mcl_wool:light_blue", "mcl_dye:lightblue" },
34 { "white", S("White Bed"), "mcl_wool:white", "mcl_dye:white" },
36 local canonical_color
= "red"
39 local colorid
= colors
[c
][1]
40 local is_canonical
= colorid
== canonical_color
42 -- Recoloring recipe for white bed
43 if minetest
.get_modpath("mcl_dye") then
44 minetest
.register_craft({
46 output
= "mcl_beds:bed_"..colorid
.."_bottom",
47 recipe
= { "mcl_beds:bed_white_bottom", colors
[c
][4] },
53 if minetest
.get_modpath("mcl_wool") then
55 {colors
[c
][3], colors
[c
][3], colors
[c
][3]},
56 {"group:wood", "group:wood", "group:wood"}
60 local entry_name
, create_entry
69 mcl_beds
.register_bed("mcl_beds:bed_"..colorid
, {
70 description
= colors
[c
][2],
71 _doc_items_entry_name
= entry_name
,
72 _doc_items_create_entry
= create_entry
,
73 inventory_image
= "mcl_beds_bed_"..colorid
..".png",
74 wield_image
= "mcl_beds_bed_"..colorid
..".png",
77 "mcl_beds_bed_top_bottom_"..colorid
..".png^[transformR90",
78 "default_wood.png^mcl_beds_bed_bottom_bottom.png",
79 "mcl_beds_bed_side_bottom_r_"..colorid
..".png",
80 "mcl_beds_bed_side_bottom_r_"..colorid
..".png^[transformfx",
81 "mcl_beds_bed_side_top_"..colorid
..".png",
82 "mcl_beds_bed_side_bottom_"..colorid
..".png"
85 "mcl_beds_bed_top_top_"..colorid
..".png^[transformR90",
86 "default_wood.png^mcl_beds_bed_bottom_top.png",
87 "mcl_beds_bed_side_top_r_"..colorid
..".png",
88 "mcl_beds_bed_side_top_r_"..colorid
..".png^[transformfx",
89 "mcl_beds_bed_side_top_"..colorid
..".png",
90 "mcl_beds_bed_side_bottom_"..colorid
..".png"
95 bottom
= {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5},
96 top
= {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5},
98 -- Simplified collision box because Minetest acts weird if we use the nodebox one
100 bottom
= {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5},
101 top
= {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5},
103 recipe
= main_recipe
,
105 if mod_doc
and not is_canonical
then
106 doc
.add_entry_alias("nodes", "mcl_beds:bed_"..canonical_color
.."_bottom", "nodes", "mcl_beds:bed_"..colorid
.."_bottom")
107 doc
.add_entry_alias("nodes", "mcl_beds:bed_"..canonical_color
.."_bottom", "nodes", "mcl_beds:bed_"..colorid
.."_top")
112 minetest
.register_alias("beds:bed_bottom", "mcl_beds:bed_red_bottom")
113 minetest
.register_alias("beds:bed_top", "mcl_beds:bed_red_top")