Update helptext of obsidian
[MineClone/MineClone2.git] / mods / ITEMS / mcl_beds / beds.lua
blob8f41c7a3fdf137e0be77ce7ca862e864111eae90
1 local S = minetest.get_translator("mcl_beds")
2 local mod_doc = minetest.get_modpath("doc")
4 local nodebox = {
5 bottom = {
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},
9 },
10 top = {
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},
17 local colors = {
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"
38 for c=1, #colors do
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({
45 type = "shapeless",
46 output = "mcl_beds:bed_"..colorid.."_bottom",
47 recipe = { "mcl_beds:bed_white_bottom", colors[c][4] },
49 end
51 -- Main bed recipe
52 local main_recipe
53 if minetest.get_modpath("mcl_wool") then
54 main_recipe = {
55 {colors[c][3], colors[c][3], colors[c][3]},
56 {"group:wood", "group:wood", "group:wood"}
58 end
60 local entry_name, create_entry
61 if mod_doc then
62 if is_canonical then
63 entry_name = S("Bed")
64 else
65 create_entry = false
66 end
67 end
68 -- Register bed
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",
75 tiles = {
76 bottom = {
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"
84 top = {
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"
93 nodebox = nodebox,
94 selectionbox = {
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
99 collisionbox = {
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")