Split the big "homedecor" mod into multiple sub-mods
Any of these new submods can be run without any other components that were once part of the big "homedecor" mod, other than homedecor_common and homedecor_i18n Reduced dependencies where possible, but each submod still has its various dependencies more or less the same as before, i.e. some need basic_materials, others need unifieddyes, some need building_blocks, and so on. All of the stuff that used to be under homedecor/handlers got moved to homedecor_common, as did any models and/or textures that are used by more than one other homedecor component. All the miscellaneous items that didn't warrant their own mod ended up in homedecor_misc, which can also be thought of as the remains of the original "homedecor" mod, renamed.
@ -1,8 +1,11 @@
|
|||||||
Most code and all textures by Vanessa Ezekowitz.
|
Most code and textures by Vanessa Ezekowitz.
|
||||||
|
|
||||||
Some code copied and modified from the game's default mods (especially
|
Some code copied and modified from the game's default mods (especially
|
||||||
doors) and ironzorg's flowers mod.
|
doors) and ironzorg's flowers mod.
|
||||||
|
|
||||||
|
Whatever is stated here applies to all homedecor modpack components, as
|
||||||
|
appropriate.
|
||||||
|
|
||||||
Licenses:
|
Licenses:
|
||||||
* Door open/close sound by Slanesh on freesound.org
|
* Door open/close sound by Slanesh on freesound.org
|
||||||
http://freesound.org/people/Slanesh/sounds/31768/
|
http://freesound.org/people/Slanesh/sounds/31768/
|
||||||
@ -14,3 +17,4 @@ Licenses:
|
|||||||
http://www.freesfx.co.uk/sfx/book?p=3
|
http://www.freesfx.co.uk/sfx/book?p=3
|
||||||
* Phone ringing sound by andyt's on http://www.freesfx.co.uk/
|
* Phone ringing sound by andyt's on http://www.freesfx.co.uk/
|
||||||
http://www.freesfx.co.uk/sfx/phone?p=5
|
http://www.freesfx.co.uk/sfx/phone?p=5
|
||||||
|
|
@ -1,166 +0,0 @@
|
|||||||
|
|
||||||
local S = homedecor_i18n.gettext
|
|
||||||
|
|
||||||
minetest.register_node("homedecor:bathroom_tiles_dark", {
|
|
||||||
description = S("Bathroom/kitchen tiles (dark)"),
|
|
||||||
tiles = {
|
|
||||||
"homedecor_bathroom_tiles_bg.png"
|
|
||||||
},
|
|
||||||
overlay_tiles = {
|
|
||||||
{ name = "homedecor_bathroom_tiles_fg.png", color = 0xff606060 },
|
|
||||||
},
|
|
||||||
paramtype = "light",
|
|
||||||
paramtype2 = "color",
|
|
||||||
palette = "unifieddyes_palette_extended.png",
|
|
||||||
groups = {cracky=3, ud_param2_colorable = 1},
|
|
||||||
sounds = default.node_sound_stone_defaults(),
|
|
||||||
on_construct = unifieddyes.on_construct,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("homedecor:bathroom_tiles_medium", {
|
|
||||||
description = S("Bathroom/kitchen tiles (medium)"),
|
|
||||||
tiles = {
|
|
||||||
"homedecor_bathroom_tiles_bg.png"
|
|
||||||
},
|
|
||||||
overlay_tiles = {
|
|
||||||
{ name = "homedecor_bathroom_tiles_fg.png", color = 0xffc0c0c0 },
|
|
||||||
},
|
|
||||||
paramtype = "light",
|
|
||||||
paramtype2 = "color",
|
|
||||||
palette = "unifieddyes_palette_extended.png",
|
|
||||||
groups = {cracky=3, ud_param2_colorable = 1},
|
|
||||||
sounds = default.node_sound_stone_defaults(),
|
|
||||||
on_construct = unifieddyes.on_construct,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_node("homedecor:bathroom_tiles_light", {
|
|
||||||
description = S("Bathroom/kitchen tiles (light)"),
|
|
||||||
tiles = {
|
|
||||||
"homedecor_bathroom_tiles_bg.png"
|
|
||||||
},
|
|
||||||
overlay_tiles = {
|
|
||||||
{ name = "homedecor_bathroom_tiles_fg.png", color = 0xffffffff },
|
|
||||||
},
|
|
||||||
paramtype = "light",
|
|
||||||
paramtype2 = "color",
|
|
||||||
palette = "unifieddyes_palette_extended.png",
|
|
||||||
groups = {cracky=3, ud_param2_colorable = 1},
|
|
||||||
sounds = default.node_sound_stone_defaults(),
|
|
||||||
on_construct = unifieddyes.on_construct,
|
|
||||||
})
|
|
||||||
|
|
||||||
local tr_cbox = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = { -0.375, -0.3125, 0.25, 0.375, 0.375, 0.5 }
|
|
||||||
}
|
|
||||||
|
|
||||||
homedecor.register("towel_rod", {
|
|
||||||
description = S("Towel rod with towel"),
|
|
||||||
mesh = "homedecor_towel_rod.obj",
|
|
||||||
tiles = {
|
|
||||||
"homedecor_generic_terrycloth.png",
|
|
||||||
"default_wood.png",
|
|
||||||
},
|
|
||||||
inventory_image = "homedecor_towel_rod_inv.png",
|
|
||||||
selection_box = tr_cbox,
|
|
||||||
walkable = false,
|
|
||||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3},
|
|
||||||
sounds = default.node_sound_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
homedecor.register("medicine_cabinet", {
|
|
||||||
description = S("Medicine cabinet"),
|
|
||||||
mesh = "homedecor_medicine_cabinet.obj",
|
|
||||||
tiles = {
|
|
||||||
'default_wood.png',
|
|
||||||
'homedecor_medicine_cabinet_mirror.png'
|
|
||||||
},
|
|
||||||
inventory_image = "homedecor_medicine_cabinet_inv.png",
|
|
||||||
selection_box = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = {-0.3125, -0.1875, 0.3125, 0.3125, 0.5, 0.5}
|
|
||||||
},
|
|
||||||
walkable = false,
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
|
||||||
on_punch = function(pos, node, puncher, pointed_thing)
|
|
||||||
node.name = "homedecor:medicine_cabinet_open"
|
|
||||||
minetest.swap_node(pos, node)
|
|
||||||
end,
|
|
||||||
infotext=S("Medicine cabinet"),
|
|
||||||
inventory = {
|
|
||||||
size=6,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
homedecor.register("medicine_cabinet_open", {
|
|
||||||
mesh = "homedecor_medicine_cabinet_open.obj",
|
|
||||||
tiles = {
|
|
||||||
'default_wood.png',
|
|
||||||
'homedecor_medicine_cabinet_mirror.png',
|
|
||||||
'homedecor_medicine_cabinet_inside.png'
|
|
||||||
},
|
|
||||||
selection_box = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = {-0.3125, -0.1875, -0.25, 0.3125, 0.5, 0.5}
|
|
||||||
},
|
|
||||||
walkable = false,
|
|
||||||
groups = { snappy = 3, not_in_creative_inventory=1 },
|
|
||||||
drop = "homedecor:medicine_cabinet",
|
|
||||||
on_punch = function(pos, node, puncher, pointed_thing)
|
|
||||||
node.name = "homedecor:medicine_cabinet"
|
|
||||||
minetest.swap_node(pos, node)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- convert old static nodes
|
|
||||||
|
|
||||||
homedecor.old_static_bathroom_tiles = {
|
|
||||||
"homedecor:tiles_1",
|
|
||||||
"homedecor:tiles_2",
|
|
||||||
"homedecor:tiles_3",
|
|
||||||
"homedecor:tiles_4",
|
|
||||||
"homedecor:tiles_red",
|
|
||||||
"homedecor:tiles_tan",
|
|
||||||
"homedecor:tiles_yellow",
|
|
||||||
"homedecor:tiles_green",
|
|
||||||
"homedecor:tiles_blue"
|
|
||||||
}
|
|
||||||
|
|
||||||
local old_to_color = {
|
|
||||||
"light_grey",
|
|
||||||
"grey",
|
|
||||||
"black",
|
|
||||||
"black"
|
|
||||||
}
|
|
||||||
|
|
||||||
minetest.register_lbm({
|
|
||||||
name = "homedecor:convert_bathroom_tiles",
|
|
||||||
label = "Convert bathroom tiles to use param2 color",
|
|
||||||
run_at_every_load = false,
|
|
||||||
nodenames = homedecor.old_static_bathroom_tiles,
|
|
||||||
action = function(pos, node)
|
|
||||||
local name = node.name
|
|
||||||
local newname = "homedecor:bathroom_tiles_light"
|
|
||||||
local a = string.find(name, "_")
|
|
||||||
local color = string.sub(name, a + 1)
|
|
||||||
|
|
||||||
if color == "tan" then
|
|
||||||
color = "yellow_s50"
|
|
||||||
elseif color == "1" or color == "2" or color == "3" or color == "4" then
|
|
||||||
if color == "4" then
|
|
||||||
newname = "homedecor:bathroom_tiles_medium"
|
|
||||||
end
|
|
||||||
color = old_to_color[tonumber(color)]
|
|
||||||
elseif color ~= "yellow" then
|
|
||||||
color = color.."_s50"
|
|
||||||
end
|
|
||||||
|
|
||||||
local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "extended")
|
|
||||||
|
|
||||||
minetest.set_node(pos, { name = newname, param2 = paletteidx })
|
|
||||||
local meta = minetest.get_meta(pos)
|
|
||||||
meta:set_string("dye", "unifieddyes:"..color)
|
|
||||||
meta:set_string("palette", "ext")
|
|
||||||
end
|
|
||||||
})
|
|
3024
homedecor/crafts.lua
@ -1,143 +0,0 @@
|
|||||||
-- Various home electronics
|
|
||||||
|
|
||||||
local S = homedecor_i18n.gettext
|
|
||||||
|
|
||||||
homedecor.register("speaker", {
|
|
||||||
description = S("Large Stereo Speaker"),
|
|
||||||
mesh="homedecor_speaker_large.obj",
|
|
||||||
tiles = {
|
|
||||||
"homedecor_speaker_sides.png",
|
|
||||||
"homedecor_speaker_front.png"
|
|
||||||
},
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
|
||||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
|
||||||
minetest.set_node(pos, {name = "homedecor:speaker_open", param2 = node.param2})
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
homedecor.register("speaker_open", {
|
|
||||||
description = S("Large Stereo Speaker, open front"),
|
|
||||||
mesh="homedecor_speaker_large_open.obj",
|
|
||||||
tiles = {
|
|
||||||
"homedecor_speaker_sides.png",
|
|
||||||
"homedecor_speaker_driver.png",
|
|
||||||
"homedecor_speaker_open_front.png",
|
|
||||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_black }
|
|
||||||
},
|
|
||||||
groups = { snappy = 3, not_in_creative_inventory=1 },
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
|
||||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
|
||||||
minetest.set_node(pos, {name = "homedecor:speaker", param2 = node.param2})
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
local spk_cbox = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = { -3/16, -8/16, 1/16, 3/16, -2/16, 7/16 }
|
|
||||||
}
|
|
||||||
|
|
||||||
homedecor.register("speaker_small", {
|
|
||||||
description = S("Small Surround Speaker"),
|
|
||||||
mesh="homedecor_speaker_small.obj",
|
|
||||||
tiles = {
|
|
||||||
"homedecor_speaker_sides.png",
|
|
||||||
"homedecor_speaker_front.png"
|
|
||||||
},
|
|
||||||
selection_box = spk_cbox,
|
|
||||||
walkable = false,
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
homedecor.register("stereo", {
|
|
||||||
description = S("Stereo Receiver"),
|
|
||||||
tiles = { 'homedecor_stereo_top.png',
|
|
||||||
'homedecor_stereo_bottom.png',
|
|
||||||
'homedecor_stereo_left.png^[transformFX',
|
|
||||||
'homedecor_stereo_left.png',
|
|
||||||
'homedecor_stereo_back.png',
|
|
||||||
'homedecor_stereo_front.png'},
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
homedecor.register("projection_screen", {
|
|
||||||
description = S("Projection Screen Material"),
|
|
||||||
drawtype = 'signlike',
|
|
||||||
tiles = { 'homedecor_projection_screen.png' },
|
|
||||||
wield_image = 'homedecor_projection_screen_inv.png',
|
|
||||||
inventory_image = 'homedecor_projection_screen_inv.png',
|
|
||||||
walkable = false,
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
sounds = default.node_sound_leaves_defaults(),
|
|
||||||
paramtype2 = 'wallmounted',
|
|
||||||
selection_box = {
|
|
||||||
type = "wallmounted",
|
|
||||||
--wall_side = = <default>
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
homedecor.register("television", {
|
|
||||||
description = S("Small CRT Television"),
|
|
||||||
tiles = { 'homedecor_television_top.png',
|
|
||||||
'homedecor_television_bottom.png',
|
|
||||||
'homedecor_television_left.png^[transformFX',
|
|
||||||
'homedecor_television_left.png',
|
|
||||||
'homedecor_television_back.png',
|
|
||||||
{ name="homedecor_television_front_animated.png",
|
|
||||||
animation={
|
|
||||||
type="vertical_frames",
|
|
||||||
aspect_w=16,
|
|
||||||
aspect_h=16,
|
|
||||||
length=80.0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
light_source = default.LIGHT_MAX - 1,
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
homedecor.register("dvd_vcr", {
|
|
||||||
description = S("DVD and VCR"),
|
|
||||||
tiles = {
|
|
||||||
"homedecor_dvdvcr_top.png",
|
|
||||||
"homedecor_dvdvcr_bottom.png",
|
|
||||||
"homedecor_dvdvcr_sides.png",
|
|
||||||
"homedecor_dvdvcr_sides.png^[transformFX",
|
|
||||||
"homedecor_dvdvcr_back.png",
|
|
||||||
"homedecor_dvdvcr_front.png",
|
|
||||||
},
|
|
||||||
inventory_image = "homedecor_dvdvcr_inv.png",
|
|
||||||
node_box = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = {
|
|
||||||
{-0.3125, -0.5, -0.25, 0.3125, -0.375, 0.1875},
|
|
||||||
{-0.25, -0.5, -0.25, 0.25, -0.1875, 0.125},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
|
||||||
})
|
|
||||||
|
|
||||||
local tel_cbox = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = { -0.25, -0.5, -0.1875, 0.25, -0.21, 0.15 }
|
|
||||||
}
|
|
||||||
|
|
||||||
homedecor.register("telephone", {
|
|
||||||
mesh = "homedecor_telephone.obj",
|
|
||||||
tiles = {
|
|
||||||
"homedecor_telephone_dial.png",
|
|
||||||
"homedecor_telephone_base.png",
|
|
||||||
"homedecor_telephone_handset.png",
|
|
||||||
"homedecor_telephone_cord.png",
|
|
||||||
},
|
|
||||||
inventory_image = "homedecor_telephone_inv.png",
|
|
||||||
description = S("Telephone"),
|
|
||||||
groups = {snappy=3},
|
|
||||||
selection_box = tel_cbox,
|
|
||||||
walkable = false,
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
|
||||||
})
|
|
@ -1,280 +0,0 @@
|
|||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:table",
|
|
||||||
recipe = {
|
|
||||||
{ "default:wood","default:wood", "default:wood" },
|
|
||||||
{ "group:stick", "", "group:stick" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "shapeless",
|
|
||||||
output = "homedecor:table_mahogany",
|
|
||||||
recipe = {
|
|
||||||
"homedecor:table",
|
|
||||||
"dye:brown",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "shapeless",
|
|
||||||
output = "homedecor:table_mahogany",
|
|
||||||
recipe = {
|
|
||||||
"homedecor:table",
|
|
||||||
"unifieddyes:dark_orange",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "shapeless",
|
|
||||||
output = "homedecor:table_white",
|
|
||||||
recipe = {
|
|
||||||
"homedecor:table",
|
|
||||||
"dye:white",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "homedecor:table",
|
|
||||||
burntime = 30,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "homedecor:table_mahogany",
|
|
||||||
burntime = 30,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "homedecor:table_white",
|
|
||||||
burntime = 30,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:kitchen_chair_wood 2",
|
|
||||||
recipe = {
|
|
||||||
{ "group:stick",""},
|
|
||||||
{ "group:wood","group:wood" },
|
|
||||||
{ "group:stick","group:stick" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:armchair 2",
|
|
||||||
recipe = {
|
|
||||||
{ "wool:white",""},
|
|
||||||
{ "group:wood","group:wood" },
|
|
||||||
{ "wool:white","wool:white" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
unifieddyes.register_color_craft({
|
|
||||||
output = "homedecor:armchair",
|
|
||||||
palette = "wallmounted",
|
|
||||||
type = "shapeless",
|
|
||||||
neutral_node = "homedecor:armchair",
|
|
||||||
recipe = {
|
|
||||||
"NEUTRAL_NODE",
|
|
||||||
"MAIN_DYE"
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "shapeless",
|
|
||||||
output = "homedecor:kitchen_chair_padded",
|
|
||||||
recipe = {
|
|
||||||
"homedecor:kitchen_chair_wood",
|
|
||||||
"wool:white",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
unifieddyes.register_color_craft({
|
|
||||||
output = "homedecor:kitchen_chair_padded",
|
|
||||||
palette = "wallmounted",
|
|
||||||
type = "shapeless",
|
|
||||||
neutral_node = "homedecor:kitchen_chair_padded",
|
|
||||||
recipe = {
|
|
||||||
"NEUTRAL_NODE",
|
|
||||||
"MAIN_DYE"
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "homedecor:kitchen_chair_wood",
|
|
||||||
burntime = 15,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "homedecor:kitchen_chair_padded",
|
|
||||||
burntime = 15,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "homedecor:armchair",
|
|
||||||
burntime = 30,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:standing_lamp_off",
|
|
||||||
recipe = {
|
|
||||||
{"homedecor:table_lamp_off"},
|
|
||||||
{"group:stick"},
|
|
||||||
{"group:stick"},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
unifieddyes.register_color_craft({
|
|
||||||
output = "homedecor:standing_lamp_off",
|
|
||||||
palette = "extended",
|
|
||||||
type = "shapeless",
|
|
||||||
neutral_node = "homedecor:standing_lamp_off",
|
|
||||||
recipe = {
|
|
||||||
"NEUTRAL_NODE",
|
|
||||||
"MAIN_DYE"
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
type = "fuel",
|
|
||||||
recipe = "homedecor:table_lamp_off",
|
|
||||||
burntime = 10,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:table_lamp_off",
|
|
||||||
recipe = {
|
|
||||||
{ "wool:white", "default:torch", "wool:white"},
|
|
||||||
{ "", "group:stick", ""},
|
|
||||||
{ "", "stairs:slab_wood", "" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:table_lamp_off",
|
|
||||||
recipe = {
|
|
||||||
{ "cottages:wool", "default:torch", "cottages:wool"},
|
|
||||||
{ "", "group:stick", ""},
|
|
||||||
{ "", "stairs:slab_wood", "" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:table_lamp_off",
|
|
||||||
recipe = {
|
|
||||||
{ "wool:white", "default:torch", "wool:white"},
|
|
||||||
{ "", "group:stick", ""},
|
|
||||||
{ "", "moreblocks:slab_wood", "" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:table_lamp_off",
|
|
||||||
recipe = {
|
|
||||||
{ "cottages:wool", "default:torch", "cottages:wool"},
|
|
||||||
{ "", "group:stick", ""},
|
|
||||||
{ "", "moreblocks:slab_wood", "" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
unifieddyes.register_color_craft({
|
|
||||||
output = "homedecor:table_lamp_off",
|
|
||||||
palette = "extended",
|
|
||||||
type = "shapeless",
|
|
||||||
neutral_node = "homedecor:table_lamp_off",
|
|
||||||
recipe = {
|
|
||||||
"NEUTRAL_NODE",
|
|
||||||
"MAIN_DYE"
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:toilet",
|
|
||||||
recipe = {
|
|
||||||
{ "","","bucket:bucket_water"},
|
|
||||||
{ "group:marble","group:marble", "group:marble" },
|
|
||||||
{ "", "bucket:bucket_empty", "" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:sink",
|
|
||||||
recipe = {
|
|
||||||
{ "group:marble","bucket:bucket_empty", "group:marble" },
|
|
||||||
{ "", "group:marble", "" }
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:taps",
|
|
||||||
recipe = {
|
|
||||||
{ "default:steel_ingot","bucket:bucket_water", "default:steel_ingot" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:taps_brass",
|
|
||||||
recipe = {
|
|
||||||
{ "technic:brass_ingot","bucket:bucket_water", "technic:brass_ingot" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:shower_tray",
|
|
||||||
recipe = {
|
|
||||||
{ "group:marble","bucket:bucket_empty", "group:marble" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:shower_head",
|
|
||||||
recipe = {
|
|
||||||
{"default:steel_ingot", "bucket:bucket_water"},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:bathtub_clawfoot_brass_taps",
|
|
||||||
recipe = {
|
|
||||||
{ "homedecor:taps_brass", "", "" },
|
|
||||||
{ "group:marble", "", "group:marble" },
|
|
||||||
{"default:steel_ingot", "group:marble", "default:steel_ingot"},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:bathtub_clawfoot_chrome_taps",
|
|
||||||
recipe = {
|
|
||||||
{ "homedecor:taps", "", "" },
|
|
||||||
{ "group:marble", "", "group:marble" },
|
|
||||||
{"default:steel_ingot", "group:marble", "default:steel_ingot"},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:bars 6",
|
|
||||||
recipe = {
|
|
||||||
{ "default:steel_ingot","default:steel_ingot","default:steel_ingot" },
|
|
||||||
{ "homedecor:pole_wrought_iron","homedecor:pole_wrought_iron","homedecor:pole_wrought_iron" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:L_binding_bars 3",
|
|
||||||
recipe = {
|
|
||||||
{ "homedecor:bars","" },
|
|
||||||
{ "homedecor:bars","homedecor:bars" },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
|
||||||
output = "homedecor:torch_wall 10",
|
|
||||||
recipe = {
|
|
||||||
{ "default:coal_lump" },
|
|
||||||
{ "default:steel_ingot" },
|
|
||||||
},
|
|
||||||
})
|
|
@ -1,24 +0,0 @@
|
|||||||
local handlerpath = homedecor.modpath .. "/handlers/"
|
|
||||||
|
|
||||||
-- nodebox arithmetics and helpers
|
|
||||||
-- (please keep non-generic nodeboxes with their node definition)
|
|
||||||
dofile(handlerpath.."nodeboxes.lua")
|
|
||||||
|
|
||||||
-- expand and unexpand decor
|
|
||||||
dofile(handlerpath.."expansion.lua")
|
|
||||||
|
|
||||||
-- register nodes that cook stuff
|
|
||||||
dofile(handlerpath.."furnaces.lua")
|
|
||||||
|
|
||||||
-- inventory related functionality, like initialization, ownership and spawning locked versions
|
|
||||||
dofile(handlerpath.."inventory.lua")
|
|
||||||
|
|
||||||
-- glue it all together into a registration function
|
|
||||||
dofile(handlerpath.."registration.lua")
|
|
||||||
|
|
||||||
-- some nodes have particle spawners
|
|
||||||
dofile(handlerpath.."water_particles.lua")
|
|
||||||
|
|
||||||
|
|
||||||
dofile(handlerpath.."mt_game_beds_functions.lua")
|
|
||||||
dofile(handlerpath.."sit.lua")
|
|
@ -1,256 +0,0 @@
|
|||||||
-- This file supplies refrigerators
|
|
||||||
|
|
||||||
local S = homedecor_i18n.gettext
|
|
||||||
|
|
||||||
local function N_(x) return x end
|
|
||||||
|
|
||||||
-- steel-textured fridge
|
|
||||||
homedecor.register("refrigerator_steel", {
|
|
||||||
mesh = "homedecor_refrigerator.obj",
|
|
||||||
tiles = { "homedecor_refrigerator_steel.png" },
|
|
||||||
inventory_image = "homedecor_refrigerator_steel_inv.png",
|
|
||||||
description = S("Refrigerator (stainless steel)"),
|
|
||||||
groups = {snappy=3},
|
|
||||||
sounds = default.node_sound_stone_defaults(),
|
|
||||||
selection_box = homedecor.nodebox.slab_y(2),
|
|
||||||
collision_box = homedecor.nodebox.slab_y(2),
|
|
||||||
expand = { top="placeholder" },
|
|
||||||
infotext=S("Refrigerator"),
|
|
||||||
inventory = {
|
|
||||||
size=50,
|
|
||||||
lockable=true,
|
|
||||||
},
|
|
||||||
on_rotate = screwdriver.rotate_simple
|
|
||||||
})
|
|
||||||
|
|
||||||
-- white, enameled fridge
|
|
||||||
homedecor.register("refrigerator_white", {
|
|
||||||
mesh = "homedecor_refrigerator.obj",
|
|
||||||
tiles = { "homedecor_refrigerator_white.png" },
|
|
||||||
inventory_image = "homedecor_refrigerator_white_inv.png",
|
|
||||||
description = S("Refrigerator"),
|
|
||||||
groups = {snappy=3},
|
|
||||||
selection_box = homedecor.nodebox.slab_y(2),
|
|
||||||
collision_box = homedecor.nodebox.slab_y(2),
|
|
||||||
sounds = default.node_sound_stone_defaults(),
|
|
||||||
expand = { top="placeholder" },
|
|
||||||
infotext=S("Refrigerator"),
|
|
||||||
inventory = {
|
|
||||||
size=50,
|
|
||||||
lockable=true,
|
|
||||||
},
|
|
||||||
on_rotate = screwdriver.rotate_simple
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_alias("homedecor:refrigerator_white_bottom", "homedecor:refrigerator_white")
|
|
||||||
minetest.register_alias("homedecor:refrigerator_white_top", "air")
|
|
||||||
|
|
||||||
minetest.register_alias("homedecor:refrigerator_steel_bottom", "homedecor:refrigerator_steel")
|
|
||||||
minetest.register_alias("homedecor:refrigerator_steel_top", "air")
|
|
||||||
|
|
||||||
minetest.register_alias("homedecor:refrigerator_white_bottom_locked", "homedecor:refrigerator_white_locked")
|
|
||||||
minetest.register_alias("homedecor:refrigerator_white_top_locked", "air")
|
|
||||||
minetest.register_alias("homedecor:refrigerator_locked", "homedecor:refrigerator_white_locked")
|
|
||||||
|
|
||||||
minetest.register_alias("homedecor:refrigerator_steel_bottom_locked", "homedecor:refrigerator_steel_locked")
|
|
||||||
minetest.register_alias("homedecor:refrigerator_steel_top_locked", "air")
|
|
||||||
|
|
||||||
-- kitchen "furnaces"
|
|
||||||
homedecor.register_furnace("oven", {
|
|
||||||
description = S("Oven"),
|
|
||||||
tile_format = "homedecor_oven_%s%s.png",
|
|
||||||
output_slots = 4,
|
|
||||||
output_width = 2,
|
|
||||||
cook_speed = 1.25,
|
|
||||||
})
|
|
||||||
|
|
||||||
homedecor.register_furnace("oven_steel", {
|
|
||||||
description = S("Oven (stainless steel)"),
|
|
||||||
tile_format = "homedecor_oven_steel_%s%s.png",
|
|
||||||
output_slots = 4,
|
|
||||||
output_width = 2,
|
|
||||||
cook_speed = 1.25,
|
|
||||||
})
|
|
||||||
|
|
||||||
homedecor.register_furnace("microwave_oven", {
|
|
||||||
description = S("Microwave Oven"),
|
|
||||||
tiles = {
|
|
||||||
"homedecor_microwave_top.png", "homedecor_microwave_top.png^[transformR180",
|
|
||||||
"homedecor_microwave_top.png^[transformR270", "homedecor_microwave_top.png^[transformR90",
|
|
||||||
"homedecor_microwave_top.png^[transformR180", "homedecor_microwave_front.png"
|
|
||||||
},
|
|
||||||
tiles_active = {
|
|
||||||
"homedecor_microwave_top.png", "homedecor_microwave_top.png^[transformR180",
|
|
||||||
"homedecor_microwave_top.png^[transformR270", "homedecor_microwave_top.png^[transformR90",
|
|
||||||
"homedecor_microwave_top.png^[transformR180", "homedecor_microwave_front_active.png"
|
|
||||||
},
|
|
||||||
output_slots = 2,
|
|
||||||
output_width = 2,
|
|
||||||
cook_speed = 1.5,
|
|
||||||
extra_nodedef_fields = {
|
|
||||||
node_box = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = { -0.5, -0.5, -0.125, 0.5, 0.125, 0.5 },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
-- coffee!
|
|
||||||
-- coffee!
|
|
||||||
-- coffee!
|
|
||||||
|
|
||||||
local cm_cbox = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = {
|
|
||||||
{ 0, -8/16, 0, 7/16, 3/16, 8/16 },
|
|
||||||
{ -4/16, -8/16, -6/16, -1/16, -5/16, -3/16 }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
homedecor.register("coffee_maker", {
|
|
||||||
mesh = "homedecor_coffeemaker.obj",
|
|
||||||
tiles = {
|
|
||||||
"homedecor_coffeemaker_decanter.png",
|
|
||||||
"homedecor_coffeemaker_cup.png",
|
|
||||||
"homedecor_coffeemaker_case.png",
|
|
||||||
},
|
|
||||||
description = S("Coffee Maker"),
|
|
||||||
inventory_image = "homedecor_coffeemaker_inv.png",
|
|
||||||
walkable = false,
|
|
||||||
groups = {snappy=3},
|
|
||||||
selection_box = cm_cbox,
|
|
||||||
node_box = cm_cbox,
|
|
||||||
on_rotate = screwdriver.disallow
|
|
||||||
})
|
|
||||||
|
|
||||||
local fdir_to_steampos = {
|
|
||||||
x = { 0.15, 0.275, -0.15, -0.275 },
|
|
||||||
z = { 0.275, -0.15, -0.275, 0.15 }
|
|
||||||
}
|
|
||||||
|
|
||||||
minetest.register_abm({
|
|
||||||
nodenames = "homedecor:coffee_maker",
|
|
||||||
label = "sfx",
|
|
||||||
interval = 2,
|
|
||||||
chance = 1,
|
|
||||||
action = function(pos, node)
|
|
||||||
local fdir = node.param2
|
|
||||||
if fdir and fdir < 4 then
|
|
||||||
|
|
||||||
local steamx = fdir_to_steampos.x[fdir + 1]
|
|
||||||
local steamz = fdir_to_steampos.z[fdir + 1]
|
|
||||||
|
|
||||||
minetest.add_particlespawner({
|
|
||||||
amount = 1,
|
|
||||||
time = 1,
|
|
||||||
minpos = {x=pos.x - steamx, y=pos.y - 0.35, z=pos.z - steamz},
|
|
||||||
maxpos = {x=pos.x - steamx, y=pos.y - 0.35, z=pos.z - steamz},
|
|
||||||
minvel = {x=-0.003, y=0.01, z=-0.003},
|
|
||||||
maxvel = {x=0.003, y=0.01, z=-0.003},
|
|
||||||
minacc = {x=0.0,y=-0.0,z=-0.0},
|
|
||||||
maxacc = {x=0.0,y=0.003,z=-0.0},
|
|
||||||
minexptime = 2,
|
|
||||||
maxexptime = 5,
|
|
||||||
minsize = 1,
|
|
||||||
maxsize = 1.2,
|
|
||||||
collisiondetection = false,
|
|
||||||
texture = "homedecor_steam.png",
|
|
||||||
})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
homedecor.register("toaster", {
|
|
||||||
description = S("Toaster"),
|
|
||||||
tiles = { "homedecor_toaster_sides.png" },
|
|
||||||
inventory_image = "homedecor_toaster_inv.png",
|
|
||||||
walkable = false,
|
|
||||||
groups = { snappy=3 },
|
|
||||||
node_box = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = {
|
|
||||||
{-0.0625, -0.5, -0.125, 0.125, -0.3125, 0.125}, -- NodeBox1
|
|
||||||
},
|
|
||||||
},
|
|
||||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
|
||||||
local fdir = node.param2
|
|
||||||
minetest.set_node(pos, { name = "homedecor:toaster_loaf", param2 = fdir })
|
|
||||||
minetest.sound_play("toaster", {
|
|
||||||
pos = pos,
|
|
||||||
gain = 1.0,
|
|
||||||
max_hear_distance = 5
|
|
||||||
})
|
|
||||||
return itemstack
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
homedecor.register("toaster_loaf", {
|
|
||||||
tiles = {
|
|
||||||
"homedecor_toaster_toploaf.png",
|
|
||||||
"homedecor_toaster_sides.png",
|
|
||||||
"homedecor_toaster_sides.png",
|
|
||||||
"homedecor_toaster_sides.png",
|
|
||||||
"homedecor_toaster_sides.png",
|
|
||||||
"homedecor_toaster_sides.png"
|
|
||||||
},
|
|
||||||
walkable = false,
|
|
||||||
groups = { snappy=3, not_in_creative_inventory=1 },
|
|
||||||
node_box = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = {
|
|
||||||
{-0.0625, -0.5, -0.125, 0.125, -0.3125, 0.125}, -- NodeBox1
|
|
||||||
{-0.03125, -0.3125, -0.0935, 0, -0.25, 0.0935}, -- NodeBox2
|
|
||||||
{0.0625, -0.3125, -0.0935, 0.0935, -0.25, 0.0935}, -- NodeBox3
|
|
||||||
},
|
|
||||||
},
|
|
||||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
|
||||||
local fdir = node.param2
|
|
||||||
minetest.set_node(pos, { name = "homedecor:toaster", param2 = fdir })
|
|
||||||
return itemstack
|
|
||||||
end,
|
|
||||||
drop = "homedecor:toaster"
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
homedecor.register("dishwasher", {
|
|
||||||
description = S("Dishwasher"),
|
|
||||||
drawtype = "nodebox",
|
|
||||||
tiles = {
|
|
||||||
"homedecor_dishwasher_top.png",
|
|
||||||
"homedecor_dishwasher_bottom.png",
|
|
||||||
"homedecor_dishwasher_sides.png",
|
|
||||||
"homedecor_dishwasher_sides.png^[transformFX",
|
|
||||||
"homedecor_dishwasher_back.png",
|
|
||||||
"homedecor_dishwasher_front.png"
|
|
||||||
},
|
|
||||||
node_box = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = {
|
|
||||||
{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
|
|
||||||
{-0.5, -0.5, -0.5, 0.5, 0.5, -0.4375},
|
|
||||||
{-0.5, -0.5, -0.5, 0.5, 0.1875, 0.1875},
|
|
||||||
{-0.4375, -0.5, -0.5, 0.4375, 0.4375, 0.4375},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
selection_box = { type = "regular" },
|
|
||||||
sounds = default.node_sound_stone_defaults(),
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
})
|
|
||||||
|
|
||||||
local materials = { N_("granite"), N_("marble"), N_("steel"), N_("wood") }
|
|
||||||
|
|
||||||
for _, m in ipairs(materials) do
|
|
||||||
homedecor.register("dishwasher_"..m, {
|
|
||||||
description = S("Dishwasher (@1)", S(m)),
|
|
||||||
tiles = {
|
|
||||||
"homedecor_kitchen_cabinet_top_"..m..".png",
|
|
||||||
"homedecor_dishwasher_bottom.png",
|
|
||||||
"homedecor_dishwasher_sides.png",
|
|
||||||
"homedecor_dishwasher_sides.png^[transformFX",
|
|
||||||
"homedecor_dishwasher_back.png",
|
|
||||||
"homedecor_dishwasher_front.png"
|
|
||||||
},
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
sounds = default.node_sound_stone_defaults(),
|
|
||||||
})
|
|
||||||
end
|
|
@ -1,157 +0,0 @@
|
|||||||
-- This file supplies Kitchen cabinets and kitchen sink
|
|
||||||
|
|
||||||
local S = homedecor_i18n.gettext
|
|
||||||
|
|
||||||
local cabinet_sides = "(default_wood.png^[transformR90)^homedecor_kitchen_cabinet_bevel.png"
|
|
||||||
local cabinet_bottom = "(default_wood.png^[colorize:#000000:100)^(homedecor_kitchen_cabinet_bevel.png^[colorize:#46321580)"
|
|
||||||
|
|
||||||
local function N_(x) return x end
|
|
||||||
|
|
||||||
local counter_materials = { "", N_("granite"), N_("marble"), N_("steel") }
|
|
||||||
|
|
||||||
for _, mat in ipairs(counter_materials) do
|
|
||||||
|
|
||||||
local desc = S("Kitchen Cabinet")
|
|
||||||
local material = ""
|
|
||||||
|
|
||||||
if mat ~= "" then
|
|
||||||
desc = S("Kitchen Cabinet (@1 top)", S(mat))
|
|
||||||
material = "_"..mat
|
|
||||||
end
|
|
||||||
|
|
||||||
homedecor.register("kitchen_cabinet"..material, {
|
|
||||||
description = desc,
|
|
||||||
tiles = { 'homedecor_kitchen_cabinet_top'..material..'.png',
|
|
||||||
cabinet_bottom,
|
|
||||||
cabinet_sides,
|
|
||||||
cabinet_sides,
|
|
||||||
cabinet_sides,
|
|
||||||
'homedecor_kitchen_cabinet_front.png'},
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
|
||||||
infotext=S("Kitchen Cabinet"),
|
|
||||||
inventory = {
|
|
||||||
size=24,
|
|
||||||
lockable=true,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
local kitchen_cabinet_half_box = homedecor.nodebox.slab_y(0.5, 0.5)
|
|
||||||
homedecor.register("kitchen_cabinet_half", {
|
|
||||||
description = S('Half-height Kitchen Cabinet (on ceiling)'),
|
|
||||||
tiles = {
|
|
||||||
cabinet_sides,
|
|
||||||
cabinet_bottom,
|
|
||||||
cabinet_sides,
|
|
||||||
cabinet_sides,
|
|
||||||
cabinet_sides,
|
|
||||||
'homedecor_kitchen_cabinet_front_half.png'
|
|
||||||
},
|
|
||||||
selection_box = kitchen_cabinet_half_box,
|
|
||||||
node_box = kitchen_cabinet_half_box,
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
|
||||||
infotext=S("Kitchen Cabinet"),
|
|
||||||
inventory = {
|
|
||||||
size=12,
|
|
||||||
lockable=true,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
homedecor.register("kitchen_cabinet_with_sink", {
|
|
||||||
description = S("Kitchen Cabinet with sink"),
|
|
||||||
mesh = "homedecor_kitchen_sink.obj",
|
|
||||||
tiles = {
|
|
||||||
"homedecor_kitchen_sink_top.png",
|
|
||||||
"homedecor_kitchen_cabinet_front.png",
|
|
||||||
cabinet_sides,
|
|
||||||
cabinet_bottom
|
|
||||||
},
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
|
||||||
infotext=S("Under-sink cabinet"),
|
|
||||||
inventory = {
|
|
||||||
size=16,
|
|
||||||
lockable=true,
|
|
||||||
},
|
|
||||||
node_box = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = {
|
|
||||||
{ -8/16, -8/16, -8/16, 8/16, 6/16, 8/16 },
|
|
||||||
{ -8/16, 6/16, -8/16, -6/16, 8/16, 8/16 },
|
|
||||||
{ 6/16, 6/16, -8/16, 8/16, 8/16, 8/16 },
|
|
||||||
{ -8/16, 6/16, -8/16, 8/16, 8/16, -6/16 },
|
|
||||||
{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 },
|
|
||||||
}
|
|
||||||
},
|
|
||||||
on_destruct = function(pos)
|
|
||||||
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+1, z=pos.z})
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
local cp_cbox = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = { -0.375, -0.5, -0.5, 0.375, -0.3125, 0.3125 }
|
|
||||||
}
|
|
||||||
|
|
||||||
homedecor.register("copper_pans", {
|
|
||||||
description = S("Copper pans"),
|
|
||||||
mesh = "homedecor_copper_pans.obj",
|
|
||||||
tiles = { "homedecor_polished_copper.png" },
|
|
||||||
inventory_image = "homedecor_copper_pans_inv.png",
|
|
||||||
groups = { snappy=3 },
|
|
||||||
selection_box = cp_cbox,
|
|
||||||
walkable = false,
|
|
||||||
on_place = minetest.rotate_node
|
|
||||||
})
|
|
||||||
|
|
||||||
local kf_cbox = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = { -2/16, -8/16, 1/16, 2/16, -1/16, 8/16 }
|
|
||||||
}
|
|
||||||
|
|
||||||
homedecor.register("kitchen_faucet", {
|
|
||||||
mesh = "homedecor_kitchen_faucet.obj",
|
|
||||||
tiles = { "homedecor_generic_metal_bright.png" },
|
|
||||||
inventory_image = "homedecor_kitchen_faucet_inv.png",
|
|
||||||
description = S("Kitchen Faucet"),
|
|
||||||
groups = {snappy=3},
|
|
||||||
selection_box = kf_cbox,
|
|
||||||
walkable = false,
|
|
||||||
on_rotate = screwdriver.disallow,
|
|
||||||
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
|
||||||
local below = minetest.get_node_or_nil({x=pos.x, y=pos.y-1, z=pos.z})
|
|
||||||
if below and
|
|
||||||
below.name == "homedecor:sink" or
|
|
||||||
below.name == "homedecor:kitchen_cabinet_with_sink" or
|
|
||||||
below.name == "homedecor:kitchen_cabinet_with_sink_locked" then
|
|
||||||
local particledef = {
|
|
||||||
outlet = { x = 0, y = -0.19, z = 0.13 },
|
|
||||||
velocity_x = { min = -0.05, max = 0.05 },
|
|
||||||
velocity_y = -0.3,
|
|
||||||
velocity_z = { min = -0.1, max = 0 },
|
|
||||||
spread = 0
|
|
||||||
}
|
|
||||||
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_faucet")
|
|
||||||
end
|
|
||||||
return itemstack
|
|
||||||
end,
|
|
||||||
on_destruct = homedecor.stop_particle_spawner
|
|
||||||
})
|
|
||||||
|
|
||||||
homedecor.register("paper_towel", {
|
|
||||||
mesh = "homedecor_paper_towel.obj",
|
|
||||||
tiles = {
|
|
||||||
"homedecor_generic_quilted_paper.png",
|
|
||||||
"default_wood.png"
|
|
||||||
},
|
|
||||||
inventory_image = "homedecor_paper_towel_inv.png",
|
|
||||||
description = S("Paper towels"),
|
|
||||||
groups = { snappy=3 },
|
|
||||||
walkable = false,
|
|
||||||
selection_box = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = { -0.4375, 0.125, 0.0625, 0.4375, 0.4375, 0.5 }
|
|
||||||
},
|
|
||||||
})
|
|
@ -1,61 +0,0 @@
|
|||||||
-- laundry devices
|
|
||||||
|
|
||||||
homedecor.register("washing_machine", {
|
|
||||||
description = "Washing Machine",
|
|
||||||
tiles = {
|
|
||||||
"homedecor_washing_machine_top.png",
|
|
||||||
"homedecor_washing_machine_bottom.png",
|
|
||||||
"homedecor_washing_machine_sides.png",
|
|
||||||
"homedecor_washing_machine_sides.png^[transformFX",
|
|
||||||
"homedecor_washing_machine_back.png",
|
|
||||||
"homedecor_washing_machine_front.png"
|
|
||||||
},
|
|
||||||
node_box = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = {
|
|
||||||
{-0.5, -0.5, -0.5, 0.5, 0.375, 0.375},
|
|
||||||
{-0.5, -0.5, 0.3125, 0.5, 0.5, 0.5},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
selection_box = { type = "regular" },
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
})
|
|
||||||
|
|
||||||
homedecor.register("dryer", {
|
|
||||||
description = "Tumble dryer",
|
|
||||||
tiles = {
|
|
||||||
"homedecor_dryer_top.png",
|
|
||||||
"homedecor_dryer_bottom.png",
|
|
||||||
"homedecor_dryer_sides.png",
|
|
||||||
"homedecor_dryer_sides.png^[transformFX",
|
|
||||||
"homedecor_dryer_back.png",
|
|
||||||
"homedecor_dryer_front.png"
|
|
||||||
},
|
|
||||||
node_box = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = {
|
|
||||||
{-0.5, -0.5, -0.5, 0.5, 0.375, 0.375},
|
|
||||||
{-0.5, -0.5, 0.3125, 0.5, 0.5, 0.5},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
selection_box = { type = "regular" },
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
})
|
|
||||||
|
|
||||||
local ib_cbox = {
|
|
||||||
type = "fixed",
|
|
||||||
fixed = { -6/16, -8/16, -4/16, 17/16, 4/16, 4/16 }
|
|
||||||
}
|
|
||||||
|
|
||||||
homedecor.register("ironing_board", {
|
|
||||||
description = "Ironing board",
|
|
||||||
mesh = "homedecor_ironing_board.obj",
|
|
||||||
tiles = {
|
|
||||||
"wool_grey.png",
|
|
||||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
|
|
||||||
},
|
|
||||||
expand = {right = "placeholder"},
|
|
||||||
groups = { snappy = 3 },
|
|
||||||
selection_box = ib_cbox,
|
|
||||||
collision_box = ib_cbox
|
|
||||||
})
|
|
@ -1,101 +0,0 @@
|
|||||||
-- Various kinds of window shutters
|
|
||||||
|
|
||||||
local S = homedecor_i18n.gettext
|
|
||||||
|
|
||||||
local shutters = {
|
|
||||||
"mahogany",
|
|
||||||
"red",
|
|
||||||
"yellow",
|
|
||||||
"forest_green",
|
|
||||||
"light_blue",
|
|
||||||
"violet",
|
|
||||||
"black",
|
|
||||||
"dark_grey",
|
|
||||||
"grey",
|
|
||||||
"white",
|
|
||||||
}
|
|
||||||
|
|
||||||
local shutter_cbox = {
|
|
||||||
type = "wallmounted",
|
|
||||||
wall_top = { -0.5, 0.4375, -0.5, 0.5, 0.5, 0.5 },
|
|
||||||
wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
|
|
||||||
wall_side = { -0.5, -0.5, -0.5, -0.4375, 0.5, 0.5 }
|
|
||||||
}
|
|
||||||
|
|
||||||
local inv = "homedecor_window_shutter_inv.png^[colorize:#a87034:150"
|
|
||||||
|
|
||||||
homedecor.register("shutter", {
|
|
||||||
mesh = "homedecor_window_shutter.obj",
|
|
||||||
tiles = {
|
|
||||||
{ name = "homedecor_window_shutter.png", color = 0xffa87034 }
|
|
||||||
},
|
|
||||||
description = S("Wooden Shutter"),
|
|
||||||
inventory_image = inv,
|
|
||||||
wield_image = inv,
|
|
||||||
paramtype2 = "colorwallmounted",
|
|
||||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
|
||||||
airbrush_replacement_node = "homedecor:shutter_colored",
|
|
||||||
groups = { snappy = 3, ud_param2_colorable = 1 },
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
|
||||||
selection_box = shutter_cbox,
|
|
||||||
node_box = shutter_cbox,
|
|
||||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
|
||||||
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
homedecor.register("shutter_colored", {
|
|
||||||
mesh = "homedecor_window_shutter.obj",
|
|
||||||
tiles = { "homedecor_window_shutter.png" },
|
|
||||||
description = S("Wooden Shutter"),
|
|
||||||
inventory_image = "homedecor_window_shutter_inv.png",
|
|
||||||
wield_image = "homedecor_window_shutter_inv.png",
|
|
||||||
paramtype2 = "colorwallmounted",
|
|
||||||
palette = "unifieddyes_palette_colorwallmounted.png",
|
|
||||||
groups = { snappy = 3 , not_in_creative_inventory = 1, ud_param2_colorable = 1},
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
|
||||||
selection_box = shutter_cbox,
|
|
||||||
node_box = shutter_cbox,
|
|
||||||
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
|
||||||
unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
minetest.register_alias("homedecor:shutter_purple", "homedecor:shutter_violet")
|
|
||||||
minetest.register_alias("homedecor:shutter_oak", "homedecor:shutter")
|
|
||||||
|
|
||||||
-- convert to param2 coloring
|
|
||||||
|
|
||||||
homedecor.old_shutter_nodes = {}
|
|
||||||
|
|
||||||
for _, color in ipairs(shutters) do
|
|
||||||
table.insert(homedecor.old_shutter_nodes, "homedecor:shutter_"..color)
|
|
||||||
end
|
|
||||||
|
|
||||||
minetest.register_lbm({
|
|
||||||
name = "homedecor:convert_shutters",
|
|
||||||
label = "Convert shutter static nodes to use param2 color",
|
|
||||||
run_at_every_load = false,
|
|
||||||
nodenames = homedecor.old_shutter_nodes,
|
|
||||||
action = function(pos, node)
|
|
||||||
local name = node.name
|
|
||||||
local color = string.sub(name, string.find(name, "_") + 1)
|
|
||||||
|
|
||||||
if color == "mahogany" then
|
|
||||||
color = "dark_red"
|
|
||||||
elseif color == "forest_green" then
|
|
||||||
color = "dark_green"
|
|
||||||
elseif color == "light_blue" then
|
|
||||||
color = "medium_cyan"
|
|
||||||
elseif color == "red" then
|
|
||||||
color = "medium_red"
|
|
||||||
end
|
|
||||||
|
|
||||||
local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted")
|
|
||||||
local param2 = paletteidx + node.param2
|
|
||||||
|
|
||||||
minetest.set_node(pos, { name = "homedecor:shutter_colored", param2 = param2 })
|
|
||||||
local meta = minetest.get_meta(pos)
|
|
||||||
meta:set_string("dye", "unifieddyes:"..color)
|
|
||||||
end
|
|
||||||
})
|
|
Before Width: | Height: | Size: 331 B |
Before Width: | Height: | Size: 372 B |
Before Width: | Height: | Size: 233 B |
Before Width: | Height: | Size: 668 B |
Before Width: | Height: | Size: 683 B |
Before Width: | Height: | Size: 5.8 KiB |
@ -1,3 +1,4 @@
|
|||||||
|
homedecor_common
|
||||||
default
|
default
|
||||||
moreblocks?
|
|
||||||
vessels?
|
vessels?
|
||||||
|
moreblocks?
|
||||||
|
6
homedecor_bathroom/depends.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
homedecor_common
|
||||||
|
default
|
||||||
|
basic_materials
|
||||||
|
unifieddyes
|
||||||
|
homedecor_i18n
|
||||||
|
building_blocks
|
@ -1,4 +1,121 @@
|
|||||||
|
|
||||||
|
local S = homedecor_i18n.gettext
|
||||||
|
|
||||||
|
minetest.register_node(":homedecor:bathroom_tiles_dark", {
|
||||||
|
description = S("Bathroom/kitchen tiles (dark)"),
|
||||||
|
tiles = {
|
||||||
|
"homedecor_bathroom_tiles_bg.png"
|
||||||
|
},
|
||||||
|
overlay_tiles = {
|
||||||
|
{ name = "homedecor_bathroom_tiles_fg.png", color = 0xff606060 },
|
||||||
|
},
|
||||||
|
paramtype = "light",
|
||||||
|
paramtype2 = "color",
|
||||||
|
palette = "unifieddyes_palette_extended.png",
|
||||||
|
groups = {cracky=3, ud_param2_colorable = 1},
|
||||||
|
sounds = default.node_sound_stone_defaults(),
|
||||||
|
on_construct = unifieddyes.on_construct,
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node(":homedecor:bathroom_tiles_medium", {
|
||||||
|
description = S("Bathroom/kitchen tiles (medium)"),
|
||||||
|
tiles = {
|
||||||
|
"homedecor_bathroom_tiles_bg.png"
|
||||||
|
},
|
||||||
|
overlay_tiles = {
|
||||||
|
{ name = "homedecor_bathroom_tiles_fg.png", color = 0xffc0c0c0 },
|
||||||
|
},
|
||||||
|
paramtype = "light",
|
||||||
|
paramtype2 = "color",
|
||||||
|
palette = "unifieddyes_palette_extended.png",
|
||||||
|
groups = {cracky=3, ud_param2_colorable = 1},
|
||||||
|
sounds = default.node_sound_stone_defaults(),
|
||||||
|
on_construct = unifieddyes.on_construct,
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node(":homedecor:bathroom_tiles_light", {
|
||||||
|
description = S("Bathroom/kitchen tiles (light)"),
|
||||||
|
tiles = {
|
||||||
|
"homedecor_bathroom_tiles_bg.png"
|
||||||
|
},
|
||||||
|
overlay_tiles = {
|
||||||
|
{ name = "homedecor_bathroom_tiles_fg.png", color = 0xffffffff },
|
||||||
|
},
|
||||||
|
paramtype = "light",
|
||||||
|
paramtype2 = "color",
|
||||||
|
palette = "unifieddyes_palette_extended.png",
|
||||||
|
groups = {cracky=3, ud_param2_colorable = 1},
|
||||||
|
sounds = default.node_sound_stone_defaults(),
|
||||||
|
on_construct = unifieddyes.on_construct,
|
||||||
|
})
|
||||||
|
|
||||||
|
local tr_cbox = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = { -0.375, -0.3125, 0.25, 0.375, 0.375, 0.5 }
|
||||||
|
}
|
||||||
|
|
||||||
|
homedecor.register("towel_rod", {
|
||||||
|
description = S("Towel rod with towel"),
|
||||||
|
mesh = "homedecor_towel_rod.obj",
|
||||||
|
tiles = {
|
||||||
|
"homedecor_generic_terrycloth.png",
|
||||||
|
"default_wood.png",
|
||||||
|
},
|
||||||
|
inventory_image = "homedecor_towel_rod_inv.png",
|
||||||
|
selection_box = tr_cbox,
|
||||||
|
walkable = false,
|
||||||
|
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3},
|
||||||
|
sounds = default.node_sound_defaults(),
|
||||||
|
})
|
||||||
|
|
||||||
|
homedecor.register("medicine_cabinet", {
|
||||||
|
description = S("Medicine cabinet"),
|
||||||
|
mesh = "homedecor_medicine_cabinet.obj",
|
||||||
|
tiles = {
|
||||||
|
'default_wood.png',
|
||||||
|
'homedecor_medicine_cabinet_mirror.png'
|
||||||
|
},
|
||||||
|
inventory_image = "homedecor_medicine_cabinet_inv.png",
|
||||||
|
selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-0.3125, -0.1875, 0.3125, 0.3125, 0.5, 0.5}
|
||||||
|
},
|
||||||
|
walkable = false,
|
||||||
|
groups = { snappy = 3 },
|
||||||
|
sounds = default.node_sound_wood_defaults(),
|
||||||
|
on_punch = function(pos, node, puncher, pointed_thing)
|
||||||
|
node.name = "homedecor:medicine_cabinet_open"
|
||||||
|
minetest.swap_node(pos, node)
|
||||||
|
end,
|
||||||
|
infotext=S("Medicine cabinet"),
|
||||||
|
inventory = {
|
||||||
|
size=6,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
homedecor.register("medicine_cabinet_open", {
|
||||||
|
mesh = "homedecor_medicine_cabinet_open.obj",
|
||||||
|
tiles = {
|
||||||
|
'default_wood.png',
|
||||||
|
'homedecor_medicine_cabinet_mirror.png',
|
||||||
|
'homedecor_medicine_cabinet_inside.png'
|
||||||
|
},
|
||||||
|
selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {-0.3125, -0.1875, -0.25, 0.3125, 0.5, 0.5}
|
||||||
|
},
|
||||||
|
walkable = false,
|
||||||
|
groups = { snappy = 3, not_in_creative_inventory=1 },
|
||||||
|
drop = "homedecor:medicine_cabinet",
|
||||||
|
on_punch = function(pos, node, puncher, pointed_thing)
|
||||||
|
node.name = "homedecor:medicine_cabinet"
|
||||||
|
minetest.swap_node(pos, node)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- "Sanitation" related
|
||||||
|
|
||||||
|
|
||||||
local S = homedecor_i18n.gettext
|
local S = homedecor_i18n.gettext
|
||||||
|
|
||||||
local toilet_sbox = {
|
local toilet_sbox = {
|
||||||
@ -18,9 +135,9 @@ homedecor.register("toilet", {
|
|||||||
description = S("Toilet"),
|
description = S("Toilet"),
|
||||||
mesh = "homedecor_toilet_closed.obj",
|
mesh = "homedecor_toilet_closed.obj",
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_marble.png",
|
"building_blocks_marble.png",
|
||||||
"homedecor_marble.png",
|
"building_blocks_marble.png",
|
||||||
"homedecor_marble.png",
|
"building_blocks_marble.png",
|
||||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }
|
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }
|
||||||
},
|
},
|
||||||
selection_box = toilet_sbox,
|
selection_box = toilet_sbox,
|
||||||
@ -36,9 +153,9 @@ homedecor.register("toilet", {
|
|||||||
homedecor.register("toilet_open", {
|
homedecor.register("toilet_open", {
|
||||||
mesh = "homedecor_toilet_open.obj",
|
mesh = "homedecor_toilet_open.obj",
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_marble.png",
|
"building_blocks_marble.png",
|
||||||
"homedecor_marble.png",
|
"building_blocks_marble.png",
|
||||||
"homedecor_marble.png",
|
"building_blocks_marble.png",
|
||||||
"default_water.png",
|
"default_water.png",
|
||||||
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }
|
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }
|
||||||
},
|
},
|
||||||
@ -101,8 +218,8 @@ homedecor.register("sink", {
|
|||||||
description = S("Bathroom Sink"),
|
description = S("Bathroom Sink"),
|
||||||
mesh = "homedecor_bathroom_sink.obj",
|
mesh = "homedecor_bathroom_sink.obj",
|
||||||
tiles = {
|
tiles = {
|
||||||
"homedecor_marble.png",
|
"building_blocks_marble.png",
|
||||||
"homedecor_marble.png",
|
"building_blocks_marble.png",
|
||||||
"default_water.png"
|
"default_water.png"
|
||||||
},
|
},
|
||||||
inventory_image="homedecor_bathroom_sink_inv.png",
|
inventory_image="homedecor_bathroom_sink_inv.png",
|
||||||
@ -189,7 +306,7 @@ homedecor.register("shower_tray", {
|
|||||||
description = S("Shower Tray"),
|
description = S("Shower Tray"),
|
||||||
tiles = {
|
tiles = {
|
||||||
"forniture_marble_base_ducha_top.png",
|
"forniture_marble_base_ducha_top.png",
|
||||||
"homedecor_marble.png"
|
"building_blocks_marble.png"
|
||||||
},
|
},
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
@ -258,7 +375,7 @@ homedecor.register("bathtub_clawfoot_brass_taps", {
|
|||||||
"homedecor_generic_metal_bright.png",
|
"homedecor_generic_metal_bright.png",
|
||||||
"homedecor_generic_metal_bright.png",
|
"homedecor_generic_metal_bright.png",
|
||||||
"homedecor_generic_metal_brass.png",
|
"homedecor_generic_metal_brass.png",
|
||||||
"homedecor_marble.png",
|
"building_blocks_marble.png",
|
||||||
"homedecor_bathtub_clawfoot_bottom_inside.png",
|
"homedecor_bathtub_clawfoot_bottom_inside.png",
|
||||||
},
|
},
|
||||||
description = S("Bathtub, clawfoot, with brass taps"),
|
description = S("Bathtub, clawfoot, with brass taps"),
|
||||||
@ -278,7 +395,7 @@ homedecor.register("bathtub_clawfoot_chrome_taps", {
|
|||||||
"homedecor_generic_metal_bright.png",
|
"homedecor_generic_metal_bright.png",
|
||||||
"homedecor_generic_metal_bright.png",
|
"homedecor_generic_metal_bright.png",
|
||||||
"homedecor_generic_metal_bright.png",
|
"homedecor_generic_metal_bright.png",
|
||||||
"homedecor_marble.png",
|
"building_blocks_marble.png",
|
||||||
"homedecor_bathtub_clawfoot_bottom_inside.png",
|
"homedecor_bathtub_clawfoot_bottom_inside.png",
|
||||||
},
|
},
|
||||||
description = S("Bathtub, clawfoot, with chrome taps"),
|
description = S("Bathtub, clawfoot, with chrome taps"),
|
||||||
@ -313,6 +430,8 @@ homedecor.register("bathroom_set", {
|
|||||||
sounds = default.node_sound_glass_defaults(),
|
sounds = default.node_sound_glass_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- aliases
|
||||||
|
|
||||||
minetest.register_alias("3dforniture:toilet", "homedecor:toilet")
|
minetest.register_alias("3dforniture:toilet", "homedecor:toilet")
|
||||||
minetest.register_alias("3dforniture:toilet_open", "homedecor:toilet_open")
|
minetest.register_alias("3dforniture:toilet_open", "homedecor:toilet_open")
|
||||||
minetest.register_alias("3dforniture:sink", "homedecor:sink")
|
minetest.register_alias("3dforniture:sink", "homedecor:sink")
|
||||||
@ -327,3 +446,153 @@ minetest.register_alias("taps", "homedecor:taps")
|
|||||||
minetest.register_alias("shower_tray", "homedecor:shower_tray")
|
minetest.register_alias("shower_tray", "homedecor:shower_tray")
|
||||||
minetest.register_alias("shower_head", "homedecor:shower_head")
|
minetest.register_alias("shower_head", "homedecor:shower_head")
|
||||||
minetest.register_alias("table_lamp", "homedecor:table_lamp_off")
|
minetest.register_alias("table_lamp", "homedecor:table_lamp_off")
|
||||||
|
|
||||||
|
-- convert old static nodes
|
||||||
|
|
||||||
|
homedecor.old_static_bathroom_tiles = {
|
||||||
|
"homedecor:tiles_1",
|
||||||
|
"homedecor:tiles_2",
|
||||||
|
"homedecor:tiles_3",
|
||||||
|
"homedecor:tiles_4",
|
||||||
|
"homedecor:tiles_red",
|
||||||
|
"homedecor:tiles_tan",
|
||||||
|
"homedecor:tiles_yellow",
|
||||||
|
"homedecor:tiles_green",
|
||||||
|
"homedecor:tiles_blue"
|
||||||
|
}
|
||||||
|
|
||||||
|
local old_to_color = {
|
||||||
|
"light_grey",
|
||||||
|
"grey",
|
||||||
|
"black",
|
||||||
|
"black"
|
||||||
|
}
|
||||||
|
|
||||||
|
minetest.register_lbm({
|
||||||
|
name = ":homedecor:convert_bathroom_tiles",
|
||||||
|
label = "Convert bathroom tiles to use param2 color",
|
||||||
|
run_at_every_load = false,
|
||||||
|
nodenames = homedecor.old_static_bathroom_tiles,
|
||||||
|
action = function(pos, node)
|
||||||
|
local name = node.name
|
||||||
|
local newname = "homedecor:bathroom_tiles_light"
|
||||||
|
local a = string.find(name, "_")
|
||||||
|
local color = string.sub(name, a + 1)
|
||||||
|
|
||||||
|
if color == "tan" then
|
||||||
|
color = "yellow_s50"
|
||||||
|
elseif color == "1" or color == "2" or color == "3" or color == "4" then
|
||||||
|
if color == "4" then
|
||||||
|
newname = "homedecor:bathroom_tiles_medium"
|
||||||
|
end
|
||||||
|
color = old_to_color[tonumber(color)]
|
||||||
|
elseif color ~= "yellow" then
|
||||||
|
color = color.."_s50"
|
||||||
|
end
|
||||||
|
|
||||||
|
local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "extended")
|
||||||
|
|
||||||
|
minetest.set_node(pos, { name = newname, param2 = paletteidx })
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
meta:set_string("dye", "unifieddyes:"..color)
|
||||||
|
meta:set_string("palette", "ext")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
-- crafting
|
||||||
|
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "homedecor:towel_rod",
|
||||||
|
recipe = {
|
||||||
|
{ "group:wood", "group:stick", "group:wood" },
|
||||||
|
{ "", "building_blocks:terrycloth_towel", "" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "homedecor:toilet_paper",
|
||||||
|
recipe = {
|
||||||
|
{ "", "default:paper", "default:paper" },
|
||||||
|
{ "group:wood", "group:stick", "default:paper" },
|
||||||
|
{ "", "default:paper", "default:paper" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "homedecor:medicine_cabinet",
|
||||||
|
recipe = {
|
||||||
|
{ "group:stick", "default:glass", "group:stick" },
|
||||||
|
{ "group:stick", "default:glass", "group:stick" },
|
||||||
|
{ "group:stick", "default:glass", "group:stick" }
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
-- bathroom/kitchen tiles
|
||||||
|
|
||||||
|
minetest.register_craft( {
|
||||||
|
output = "homedecor:bathroom_tiles_light 4",
|
||||||
|
recipe = {
|
||||||
|
{ "group:marble", "group:marble", "" },
|
||||||
|
{ "group:marble", "group:marble", "dye:white" }
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
unifieddyes.register_color_craft({
|
||||||
|
output = "homedecor:bathroom_tiles_light",
|
||||||
|
palette = "extended",
|
||||||
|
type = "shapeless",
|
||||||
|
neutral_node = "homedecor:bathroom_tiles_light",
|
||||||
|
recipe = {
|
||||||
|
"NEUTRAL_NODE",
|
||||||
|
"MAIN_DYE"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft( {
|
||||||
|
output = "homedecor:bathroom_tiles_medium 4",
|
||||||
|
recipe = {
|
||||||
|
{ "group:marble", "group:marble", "" },
|
||||||
|
{ "group:marble", "group:marble", "dye:grey" }
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
unifieddyes.register_color_craft({
|
||||||
|
output = "homedecor:bathroom_tiles_medium",
|
||||||
|
palette = "extended",
|
||||||
|
type = "shapeless",
|
||||||
|
neutral_node = "homedecor:bathroom_tiles_medium",
|
||||||
|
recipe = {
|
||||||
|
"NEUTRAL_NODE",
|
||||||
|
"MAIN_DYE"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft( {
|
||||||
|
output = "homedecor:bathroom_tiles_dark 4",
|
||||||
|
recipe = {
|
||||||
|
{ "group:marble", "group:marble", "" },
|
||||||
|
{ "group:marble", "group:marble", "dye:dark_grey" }
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
unifieddyes.register_color_craft({
|
||||||
|
output = "homedecor:bathroom_tiles_dark",
|
||||||
|
palette = "extended",
|
||||||
|
type = "shapeless",
|
||||||
|
neutral_node = "homedecor:bathroom_tiles_dark",
|
||||||
|
recipe = {
|
||||||
|
"NEUTRAL_NODE",
|
||||||
|
"MAIN_DYE"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "homedecor:bathroom_set",
|
||||||
|
recipe = {
|
||||||
|
{ "", "homedecor:glass_table_small_round", "" },
|
||||||
|
{ "basic_materials:plastic_sheet", "homedecor:glass_table_small_round", "basic_materials:plastic_sheet" },
|
||||||
|
{ "group:stick", "basic_materials:plastic_sheet", "group:stick" }
|
||||||
|
},
|
||||||
|
})
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 778 B After Width: | Height: | Size: 778 B |
Before Width: | Height: | Size: 531 B After Width: | Height: | Size: 531 B |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 368 B After Width: | Height: | Size: 368 B |
Before Width: | Height: | Size: 205 B After Width: | Height: | Size: 205 B |
Before Width: | Height: | Size: 430 B After Width: | Height: | Size: 430 B |
Before Width: | Height: | Size: 223 B After Width: | Height: | Size: 223 B |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 219 B After Width: | Height: | Size: 219 B |
Before Width: | Height: | Size: 248 B After Width: | Height: | Size: 248 B |
Before Width: | Height: | Size: 245 B After Width: | Height: | Size: 245 B |
Before Width: | Height: | Size: 129 B After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 126 B After Width: | Height: | Size: 126 B |
Before Width: | Height: | Size: 580 B After Width: | Height: | Size: 580 B |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
6
homedecor_bedroom/depends.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
homedecor_common
|
||||||
|
default
|
||||||
|
basic_materials
|
||||||
|
unifieddyes
|
||||||
|
homedecor_i18n
|
||||||
|
creative
|
@ -220,7 +220,7 @@ for _, color in ipairs(bedcolors) do
|
|||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_lbm({
|
minetest.register_lbm({
|
||||||
name = "homedecor:convert_beds",
|
name = ":homedecor:convert_beds",
|
||||||
label = "Convert homedecor static bed nodes to use param2 color",
|
label = "Convert homedecor static bed nodes to use param2 color",
|
||||||
run_at_every_load = false,
|
run_at_every_load = false,
|
||||||
nodenames = homedecor.old_bed_nodes,
|
nodenames = homedecor.old_bed_nodes,
|
||||||
@ -265,3 +265,126 @@ minetest.register_lbm({
|
|||||||
meta:set_string("dye", "unifieddyes:"..color)
|
meta:set_string("dye", "unifieddyes:"..color)
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- crafting
|
||||||
|
|
||||||
|
|
||||||
|
minetest.register_craft( {
|
||||||
|
output = "homedecor:nightstand_oak_one_drawer",
|
||||||
|
recipe = {
|
||||||
|
{ "homedecor:drawer_small" },
|
||||||
|
{ "group:wood" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
type = "fuel",
|
||||||
|
recipe = "homedecor:nightstand_oak_one_drawer",
|
||||||
|
burntime = 30,
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft( {
|
||||||
|
output = "homedecor:nightstand_oak_two_drawers",
|
||||||
|
recipe = {
|
||||||
|
{ "homedecor:drawer_small" },
|
||||||
|
{ "homedecor:drawer_small" },
|
||||||
|
{ "group:wood" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft( {
|
||||||
|
output = "homedecor:nightstand_oak_two_drawers",
|
||||||
|
recipe = {
|
||||||
|
{ "homedecor:nightstand_oak_one_drawer" },
|
||||||
|
{ "homedecor:drawer_small" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
type = "fuel",
|
||||||
|
recipe = "homedecor:nightstand_oak_two_drawers",
|
||||||
|
burntime = 30,
|
||||||
|
})
|
||||||
|
|
||||||
|
--
|
||||||
|
|
||||||
|
minetest.register_craft( {
|
||||||
|
type = "shapeless",
|
||||||
|
output = "homedecor:nightstand_mahogany_one_drawer",
|
||||||
|
recipe = {
|
||||||
|
"homedecor:nightstand_oak_one_drawer",
|
||||||
|
"dye:brown",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
type = "fuel",
|
||||||
|
recipe = "homedecor:nightstand_mahogany_one_drawer",
|
||||||
|
burntime = 30,
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft( {
|
||||||
|
type = "shapeless",
|
||||||
|
output = "homedecor:nightstand_mahogany_two_drawers",
|
||||||
|
recipe = {
|
||||||
|
"homedecor:nightstand_oak_two_drawers",
|
||||||
|
"dye:brown",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
type = "fuel",
|
||||||
|
recipe = "homedecor:nightstand_mahogany_two_drawers",
|
||||||
|
burntime = 30,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
minetest.register_craft( {
|
||||||
|
output = "homedecor:bed_regular",
|
||||||
|
recipe = {
|
||||||
|
{ "group:stick", "", "group:stick" },
|
||||||
|
{ "wool:white", "wool:white", "wool:white" },
|
||||||
|
{ "group:wood", "", "group:wood" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
unifieddyes.register_color_craft({
|
||||||
|
output = "homedecor:bed_regular",
|
||||||
|
palette = "wallmounted",
|
||||||
|
type = "shapeless",
|
||||||
|
neutral_node = "homedecor:bed_regular",
|
||||||
|
recipe = {
|
||||||
|
"NEUTRAL_NODE",
|
||||||
|
"MAIN_DYE"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft( {
|
||||||
|
output = "homedecor:bed_kingsize",
|
||||||
|
recipe = {
|
||||||
|
{ "homedecor:bed_regular", "homedecor:bed_regular" }
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
unifieddyes.register_color_craft({
|
||||||
|
output = "homedecor:bed_kingsize",
|
||||||
|
palette = "wallmounted",
|
||||||
|
type = "shapeless",
|
||||||
|
neutral_node = "homedecor:bed_kingsize",
|
||||||
|
recipe = {
|
||||||
|
"NEUTRAL_NODE",
|
||||||
|
"MAIN_DYE"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
unifieddyes.register_color_craft({
|
||||||
|
output = "homedecor:bed_kingsize",
|
||||||
|
palette = "wallmounted",
|
||||||
|
type = "shapeless",
|
||||||
|
neutral_node = "homedecor:bed_regular",
|
||||||
|
recipe = {
|
||||||
|
"NEUTRAL_NODE",
|
||||||
|
"NEUTRAL_NODE",
|
||||||
|
"MAIN_DYE"
|
||||||
|
}
|
||||||
|
})
|
Before Width: | Height: | Size: 240 B After Width: | Height: | Size: 240 B |
Before Width: | Height: | Size: 471 B After Width: | Height: | Size: 471 B |
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 892 B After Width: | Height: | Size: 892 B |
Before Width: | Height: | Size: 709 B After Width: | Height: | Size: 709 B |
Before Width: | Height: | Size: 549 B After Width: | Height: | Size: 549 B |
Before Width: | Height: | Size: 681 B After Width: | Height: | Size: 681 B |
Before Width: | Height: | Size: 658 B After Width: | Height: | Size: 658 B |
Before Width: | Height: | Size: 949 B After Width: | Height: | Size: 949 B |
Before Width: | Height: | Size: 731 B After Width: | Height: | Size: 731 B |
Before Width: | Height: | Size: 675 B After Width: | Height: | Size: 675 B |
Before Width: | Height: | Size: 742 B After Width: | Height: | Size: 742 B |
Before Width: | Height: | Size: 714 B After Width: | Height: | Size: 714 B |
6
homedecor_books/depends.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
homedecor_common
|
||||||
|
default
|
||||||
|
unifieddyes
|
||||||
|
homedecor_i18n
|
||||||
|
creative
|
||||||
|
|
@ -183,5 +183,30 @@ minetest.register_on_player_receive_fields(function(player, form_name, fields)
|
|||||||
return true
|
return true
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
-- crafting
|
||||||
|
|
||||||
|
|
||||||
|
local bookcolors = {
|
||||||
|
"red",
|
||||||
|
"green",
|
||||||
|
"blue",
|
||||||
|
"violet",
|
||||||
|
"grey",
|
||||||
|
"brown"
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, color in ipairs(bookcolors) do
|
||||||
|
minetest.register_craft({
|
||||||
|
type = "shapeless",
|
||||||
|
output = "homedecor:book_"..color,
|
||||||
|
recipe = {
|
||||||
|
"dye:"..color,
|
||||||
|
"default:book"
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
-- aliases
|
||||||
|
|
||||||
minetest.register_alias("homedecor:book", "homedecor:book_grey")
|
minetest.register_alias("homedecor:book", "homedecor:book_grey")
|
||||||
minetest.register_alias("homedecor:book_open", "homedecor:book_open_grey")
|
minetest.register_alias("homedecor:book_open", "homedecor:book_open_grey")
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 127 B After Width: | Height: | Size: 127 B |
Before Width: | Height: | Size: 780 B After Width: | Height: | Size: 780 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
5
homedecor_climate_control/depends.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
homedecor_common
|
||||||
|
default
|
||||||
|
basic_materials
|
||||||
|
homedecor_i18n
|
||||||
|
building_blocks?
|
@ -16,7 +16,7 @@ homedecor.register("air_conditioner", {
|
|||||||
|
|
||||||
-- fans
|
-- fans
|
||||||
|
|
||||||
minetest.register_entity("homedecor:mesh_desk_fan", {
|
minetest.register_entity(":homedecor:mesh_desk_fan", {
|
||||||
collisionbox = homedecor.nodebox.null,
|
collisionbox = homedecor.nodebox.null,
|
||||||
visual = "mesh",
|
visual = "mesh",
|
||||||
mesh = "homedecor_desk_fan.b3d",
|
mesh = "homedecor_desk_fan.b3d",
|
||||||
@ -141,3 +141,69 @@ homedecor.register("radiator", {
|
|||||||
collision_box = r_cbox,
|
collision_box = r_cbox,
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- crafting
|
||||||
|
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "homedecor:air_conditioner",
|
||||||
|
recipe = {
|
||||||
|
{ "default:steel_ingot", "building_blocks:grate", "default:steel_ingot" },
|
||||||
|
{ "default:steel_ingot", "homedecor:fan_blades", "basic_materials:motor" },
|
||||||
|
{ "default:steel_ingot", "basic_materials:motor", "default:steel_ingot" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "homedecor:air_conditioner",
|
||||||
|
recipe = {
|
||||||
|
{ "default:steel_ingot", "building_blocks:grate", "default:steel_ingot" },
|
||||||
|
{ "default:steel_ingot", "basic_materials:motor", "default:steel_ingot" },
|
||||||
|
{ "default:steel_ingot", "basic_materials:motor", "default:steel_ingot" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "homedecor:ceiling_fan",
|
||||||
|
recipe = {
|
||||||
|
{ "basic_materials:motor" },
|
||||||
|
{ "homedecor:fan_blades" },
|
||||||
|
{ "homedecor:glowlight_small_cube" }
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "homedecor:ceiling_fan",
|
||||||
|
recipe = {
|
||||||
|
{ "basic_materials:motor" },
|
||||||
|
{ "homedecor:fan_blades" },
|
||||||
|
{ "homedecor:glowlight_small_cube" }
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
minetest.register_craft( {
|
||||||
|
output = "homedecor:desk_fan",
|
||||||
|
recipe = {
|
||||||
|
{"default:steel_ingot", "homedecor:fan_blades", "basic_materials:motor"},
|
||||||
|
{"", "default:steel_ingot", ""}
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft( {
|
||||||
|
output = "homedecor:space_heater",
|
||||||
|
recipe = {
|
||||||
|
{"basic_materials:plastic_sheet", "basic_materials:heating_element", "basic_materials:plastic_sheet"},
|
||||||
|
{"basic_materials:plastic_sheet", "homedecor:fan_blades", "basic_materials:motor"},
|
||||||
|
{"basic_materials:plastic_sheet", "basic_materials:heating_element", "basic_materials:plastic_sheet"}
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft( {
|
||||||
|
output = "homedecor:radiator",
|
||||||
|
recipe = {
|
||||||
|
{ "default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot" },
|
||||||
|
{ "basic_materials:ic", "basic_materials:heating_element", "" },
|
||||||
|
{ "default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot" }
|
||||||
|
},
|
||||||
|
})
|
Before Width: | Height: | Size: 178 B After Width: | Height: | Size: 178 B |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 140 B After Width: | Height: | Size: 140 B |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 266 B After Width: | Height: | Size: 266 B |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 165 B After Width: | Height: | Size: 165 B |
Before Width: | Height: | Size: 350 B After Width: | Height: | Size: 350 B |
Before Width: | Height: | Size: 450 B After Width: | Height: | Size: 450 B |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 347 B After Width: | Height: | Size: 347 B |
Before Width: | Height: | Size: 300 B After Width: | Height: | Size: 300 B |
Before Width: | Height: | Size: 298 B After Width: | Height: | Size: 298 B |
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
6
homedecor_clocks/depends.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
homedecor_common
|
||||||
|
default
|
||||||
|
basic_materials
|
||||||
|
dye
|
||||||
|
homedecor_i18n
|
||||||
|
building_blocks?
|