1
0
mirror of https://github.com/mt-mods/homedecor_modpack.git synced 2025-07-16 20:50:22 +02:00

Compare commits

..

1 Commits

Author SHA1 Message Date
400113b8e4 use basic_materials motor 2018-11-26 14:34:16 -05:00
802 changed files with 4697 additions and 4819 deletions

View File

@ -1,4 +1,4 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
if minetest.get_modpath("moreblocks") or minetest.get_modpath("stairs") then
minetest.register_alias("building_blocks:slab_tar", "stairs:slab_Tar")

View File

@ -1,5 +1,5 @@
default
homedecor_common
homedecor_i18n
moreblocks?
gloopblocks?
stairs?

View File

@ -1,7 +1,7 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
local modpath = minetest.get_modpath("building_blocks")
dofile(modpath.."/alias.lua")
dofile(modpath.."/node_stairs.lua")
dofile(modpath.."/others.lua")
dofile(modpath.."/recipes.lua")
dofile(modpath.."/recipes.lua")

View File

@ -1,4 +1,4 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
local stairs_groups_names = {"cracky","choppy","flammable","crumbly","snappy"}
@ -33,7 +33,7 @@ local function building_blocks_stairs(nodename, def)
("%s Slab"):format(def.description),
def.sounds
)
end
end
end
end

View File

@ -1,4 +1,4 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
minetest.register_craftitem("building_blocks:sticks", {
description = S("Small bundle of sticks"),
@ -20,4 +20,4 @@ minetest.register_tool("building_blocks:knife", {
fleshy={times={[2]=5.50, [3]=2.80}, uses=100, maxlevel=1}
}
},
})
})

View File

@ -1,4 +1,4 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
if minetest.get_modpath("moreblocks") then
minetest.register_craft({

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 499 B

View File

@ -1,5 +1,5 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
-- Amiga 500 lookalike
computer.register("computer:shefriendSOO", {

View File

@ -1,2 +1,2 @@
default
homedecor_common
homedecor_i18n

View File

@ -2,7 +2,7 @@
-- This file defines some items in order to not have to depend on other mods.
local S = homedecor.gettext
local S = homedecor_i18n.gettext
if (not minetest.get_modpath("homedecor")) then

View File

@ -1,5 +1,5 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
local shapes = {
{ { x = {0, 1, 0, 1}, y = {0, 0, 1, 1} } },
@ -231,7 +231,7 @@ local function step(pos, fields)
local scr = { formsize, background,
t.boardstring, t.previewstring,
draw_shape(t.cur, t.x, t.y, t.rot, boardx, boardy),
"label[3.8,0.1;"..S("Next...").."]label[3.8,2.7;"..S("Score: "),
"label[3.8,0.1;"..S("Next...").."]label[3.8,2.7;"..S("Score: "),
t.score, close, buttons }

View File

@ -1,2 +1,2 @@
default
homedecor_common
default
homedecor

View File

@ -1,5 +1,5 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
screwdriver = screwdriver or {}

View File

@ -0,0 +1,166 @@
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
})

View File

@ -1,119 +1,5 @@
local S = homedecor.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 toilet_sbox = {
type = "fixed",
@ -132,9 +18,9 @@ homedecor.register("toilet", {
description = S("Toilet"),
mesh = "homedecor_toilet_closed.obj",
tiles = {
"building_blocks_marble.png",
"building_blocks_marble.png",
"building_blocks_marble.png",
"homedecor_marble.png",
"homedecor_marble.png",
"homedecor_marble.png",
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }
},
selection_box = toilet_sbox,
@ -150,9 +36,9 @@ homedecor.register("toilet", {
homedecor.register("toilet_open", {
mesh = "homedecor_toilet_open.obj",
tiles = {
"building_blocks_marble.png",
"building_blocks_marble.png",
"building_blocks_marble.png",
"homedecor_marble.png",
"homedecor_marble.png",
"homedecor_marble.png",
"default_water.png",
{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey }
},
@ -195,35 +81,33 @@ homedecor.register("toilet_paper", {
--Sink
local sink_sbox = {
type = "fixed",
fixed = { -5/16, -8/16, 1/16, 5/16, 8/16, 8/16 }
}
local sink_cbox = {
type = "fixed",
fixed = {
{ -5/16, 5/16, 1/16, -4/16, 8/16, 8/16 },
{ 5/16, 5/16, 1/16, 4/16, 8/16, 8/16 },
{ -5/16, 5/16, 1/16, 5/16, 8/16, 2/16 },
{ -5/16, 5/16, 6/16, 5/16, 8/16, 8/16 },
{ -4/16, -8/16, 1/16, 4/16, 5/16, 6/16 }
}
fixed = { -5/16, -8/16, 1/16, 5/16, 8/16, 8/16 }
}
homedecor.register("sink", {
description = S("Bathroom Sink"),
mesh = "homedecor_bathroom_sink.obj",
tiles = {
"building_blocks_marble.png",
"building_blocks_marble.png",
"homedecor_marble.png",
"homedecor_marble.png",
"default_water.png"
},
inventory_image="homedecor_bathroom_sink_inv.png",
selection_box = sink_sbox,
collision_box = sink_cbox,
selection_box = sink_cbox,
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
node_box = {
type = "fixed",
fixed = {
{ -5/16, 5/16, 1/16, -4/16, 8/16, 8/16 },
{ 5/16, 5/16, 1/16, 4/16, 8/16, 8/16 },
{ -5/16, 5/16, 1/16, 5/16, 8/16, 2/16 },
{ -5/16, 5/16, 6/16, 5/16, 8/16, 8/16 },
{ -4/16, -8/16, 1/16, 4/16, 5/16, 6/16 }
}
},
on_destruct = function(pos)
homedecor.stop_particle_spawner({x=pos.x, y=pos.y+1, z=pos.z})
end
@ -243,8 +127,7 @@ local function taps_on_rightclick(pos, node, clicker, itemstack, pointed_thing)
velocity_x = { min = -0.1, max = 0.1 },
velocity_y = -0.3,
velocity_z = { min = -0.1, max = 0 },
spread = 0,
die_on_collision = true,
spread = 0
}
homedecor.start_particle_spawner(pos, node, particledef, "homedecor_faucet")
end
@ -303,7 +186,7 @@ homedecor.register("shower_tray", {
description = S("Shower Tray"),
tiles = {
"forniture_marble_base_ducha_top.png",
"building_blocks_marble.png"
"homedecor_marble.png"
},
node_box = {
type = "fixed",
@ -372,7 +255,7 @@ homedecor.register("bathtub_clawfoot_brass_taps", {
"homedecor_generic_metal_bright.png",
"homedecor_generic_metal_bright.png",
"homedecor_generic_metal_brass.png",
"building_blocks_marble.png",
"homedecor_marble.png",
"homedecor_bathtub_clawfoot_bottom_inside.png",
},
description = S("Bathtub, clawfoot, with brass taps"),
@ -392,7 +275,7 @@ homedecor.register("bathtub_clawfoot_chrome_taps", {
"homedecor_generic_metal_bright.png",
"homedecor_generic_metal_bright.png",
"homedecor_generic_metal_bright.png",
"building_blocks_marble.png",
"homedecor_marble.png",
"homedecor_bathtub_clawfoot_bottom_inside.png",
},
description = S("Bathtub, clawfoot, with chrome taps"),
@ -427,8 +310,6 @@ homedecor.register("bathroom_set", {
sounds = default.node_sound_glass_defaults(),
})
-- aliases
minetest.register_alias("3dforniture:toilet", "homedecor:toilet")
minetest.register_alias("3dforniture:toilet_open", "homedecor:toilet_open")
minetest.register_alias("3dforniture:sink", "homedecor:sink")
@ -443,153 +324,3 @@ minetest.register_alias("taps", "homedecor:taps")
minetest.register_alias("shower_tray", "homedecor:shower_tray")
minetest.register_alias("shower_head", "homedecor:shower_head")
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" }
},
})

View File

@ -1,5 +1,5 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
local function N_(x) return x end
@ -220,7 +220,7 @@ for _, color in ipairs(bedcolors) do
end
minetest.register_lbm({
name = ":homedecor:convert_beds",
name = "homedecor:convert_beds",
label = "Convert homedecor static bed nodes to use param2 color",
run_at_every_load = false,
nodenames = homedecor.old_bed_nodes,
@ -265,126 +265,3 @@ minetest.register_lbm({
meta:set_string("dye", "unifieddyes:"..color)
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"
}
})

View File

@ -1,4 +1,4 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
local function N_(x) return x end
@ -183,30 +183,5 @@ minetest.register_on_player_receive_fields(function(player, form_name, fields)
return true
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_open", "homedecor:book_open_grey")

View File

@ -1,6 +1,6 @@
-- Nodes that would affect the local temperature e.g. fans, heater, A/C
local S = homedecor.gettext
local S = homedecor_i18n.gettext
homedecor.register("air_conditioner", {
description = S("Air Conditioner"),
@ -16,7 +16,7 @@ homedecor.register("air_conditioner", {
-- fans
minetest.register_entity(":homedecor:mesh_desk_fan", {
minetest.register_entity("homedecor:mesh_desk_fan", {
collisionbox = homedecor.nodebox.null,
visual = "mesh",
mesh = "homedecor_desk_fan.b3d",
@ -141,69 +141,3 @@ homedecor.register("radiator", {
collision_box = r_cbox,
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" }
},
})

View File

@ -1,5 +1,5 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
local clock_sbox = {
type = "fixed",
@ -97,55 +97,5 @@ homedecor.register("grandfather_clock", {
on_rotate = screwdriver.rotate_simple
})
-- crafting
minetest.register_craft({
output = "homedecor:analog_clock_plastic 2",
recipe = {
{ "basic_materials:plastic_sheet", "dye:black", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:ic", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "dye:black", "basic_materials:plastic_sheet" },
},
})
minetest.register_craft({
output = "homedecor:analog_clock_wood 2",
recipe = {
{ "group:stick", "dye:black", "group:stick" },
{ "group:stick", "basic_materials:ic", "group:stick" },
{ "group:stick", "dye:black", "group:stick" },
},
})
minetest.register_craft({
output = "homedecor:digital_clock 2",
recipe = {
{ "basic_materials:plastic_sheet", "default:paper", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:ic", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet" },
},
})
minetest.register_craft({
output = "homedecor:alarm_clock",
recipe = {
{ "basic_materials:plastic_sheet", "homedecor:speaker_driver", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "homedecor:digital_clock", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet" },
},
})
minetest.register_craft({
output = "homedecor:grandfather_clock",
recipe = {
{ "building_blocks:slab_hardwood","homedecor:analog_clock_wood","building_blocks:slab_hardwood" },
{ "building_blocks:slab_hardwood","basic_materials:brass_ingot","building_blocks:slab_hardwood" },
{ "building_blocks:slab_hardwood","basic_materials:brass_ingot","building_blocks:slab_hardwood" }
},
})
-- aliases
minetest.register_alias("homedecor:grandfather_clock_bottom", "homedecor:grandfather_clock")
minetest.register_alias("homedecor:grandfather_clock_top", "air")

View File

@ -1,7 +1,7 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
minetest.register_node(":homedecor:cobweb_corner", {
minetest.register_node("homedecor:cobweb_corner", {
description = S("Cobweb"),
drawtype = "torchlike",
tiles = { "homedecor_cobweb_torchlike.png" },
@ -25,7 +25,7 @@ minetest.register_node(":homedecor:cobweb_corner", {
end
})
minetest.register_node(":Lhomedecor:cobweb_centered", {
minetest.register_node("homedecor:cobweb_centered", {
description = S("Cobweb"),
drawtype = "nodebox",
tiles = { "homedecor_cobweb.png" },
@ -52,7 +52,7 @@ minetest.register_node(":Lhomedecor:cobweb_centered", {
drop = "homedecor:cobweb_corner"
})
minetest.register_node(":homedecor:cobweb_flat", {
minetest.register_node("homedecor:cobweb_flat", {
description = S("Cobweb"),
drawtype = "nodebox",
tiles = { "homedecor_cobweb.png" },
@ -79,7 +79,7 @@ minetest.register_node(":homedecor:cobweb_flat", {
drop = "homedecor:cobweb_corner"
})
minetest.register_node(":homedecor:cobweb_plantlike", {
minetest.register_node("homedecor:cobweb_plantlike", {
description = S("Cobweb"),
drawtype = "plantlike",
tiles = { "homedecor_cobweb_plantlike.png" },
@ -158,13 +158,13 @@ function homedecor.rotate_cobweb(pos)
end
-- crafting
-- convert existing cobwebs
minetest.register_craft( {
output = "homedecor:cobweb_corner 5",
recipe = {
{ "farming:string", "", "farming:string" },
{ "", "farming:string", "" },
{ "farming:string", "", "farming:string" }
},
minetest.register_abm({
nodenames = { "homedecor:cobweb" },
interval = 1,
chance = 1,
action = function(pos, node, active_object_count, active_object_count_wider)
homedecor.rotate_cobweb(pos)
end
})

View File

@ -1,11 +1,8 @@
Most code and textures by Vanessa Ezekowitz.
Most code and all textures by Vanessa Ezekowitz.
Some code copied and modified from the game's default mods (especially
doors) and ironzorg's flowers mod.
Whatever is stated here applies to all homedecor modpack components, as
appropriate.
Licenses:
* Door open/close sound by Slanesh on freesound.org
http://freesound.org/people/Slanesh/sounds/31768/
@ -17,4 +14,3 @@ Licenses:
http://www.freesfx.co.uk/sfx/book?p=3
* Phone ringing sound by andyt's on http://www.freesfx.co.uk/
http://www.freesfx.co.uk/sfx/phone?p=5

3033
homedecor/crafts.lua Normal file

File diff suppressed because it is too large Load Diff

19
homedecor/depends.txt Normal file
View File

@ -0,0 +1,19 @@
default
basic_materials
unifieddyes
homedecor_i18n
creative
currency?
building_blocks?
signs_lib?
moreblocks?
technic?
dye?
bees?
bucket?
beds?
flowers?
3d_armor?
skinsdb?
mesecons?
darkage?

View File

@ -1,13 +1,10 @@
-- Node definitions for Homedecor doors
local S = homedecor.gettext
local S = homedecor_i18n.gettext
local function N_(x) return x end
local m_rules
if minetest.global_exists("mesecon") then
m_rules = mesecon and mesecon.rules and mesecon.rules.pplate
end
local m_rules = mesecon and mesecon.rules and mesecon.rules.pplate
-- doors
@ -227,7 +224,7 @@ for i, side in ipairs(sides) do
groups = {snappy = 3, not_in_creative_inventory = 1}
end
minetest.register_node(":homedecor:door_"..doorname.."_"..side, {
minetest.register_node("homedecor:door_"..doorname.."_"..side, {
description = S(door_model.description, S(side)),
drawtype = "mesh",
mesh = mesh,
@ -414,7 +411,7 @@ for i, g in ipairs(gate_list) do
-- gates when placed default to closed, closed.
minetest.register_node(":homedecor:gate_"..gate.."_closed", def)
minetest.register_node("homedecor:gate_"..gate.."_closed", def)
-- this is either a terrible idea or a great one
def = table.copy(def)
@ -439,7 +436,7 @@ for i, g in ipairs(gate_list) do
action_off = function(pos,node) homedecor.flip_gate(pos,node,nil,gate, "open") end
}
minetest.register_node(":homedecor:gate_"..gate.."_open", def)
minetest.register_node("homedecor:gate_"..gate.."_open", def)
end
minetest.register_alias("homedecor:fence_barbed_wire_gate_open", "homedecor:gate_barbed_wire_open")
@ -536,7 +533,7 @@ local jp_cbox = {
fixed = {-0.5, -0.5, 0, 0.5, 0.5, 0.0625},
}
minetest.register_node(":homedecor:japanese_wall_top", {
minetest.register_node("homedecor:japanese_wall_top", {
description = S("Japanese wall (top)"),
drawtype = "mesh",
mesh = "homedecor_wall_japanese_top.obj",
@ -552,7 +549,7 @@ minetest.register_node(":homedecor:japanese_wall_top", {
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node(":homedecor:japanese_wall_middle", {
minetest.register_node("homedecor:japanese_wall_middle", {
description = S("Japanese wall"),
drawtype = "mesh",
mesh = "homedecor_wall_japanese_middle.obj",
@ -568,7 +565,7 @@ minetest.register_node(":homedecor:japanese_wall_middle", {
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node(":homedecor:japanese_wall_bottom", {
minetest.register_node("homedecor:japanese_wall_bottom", {
description = S("Japanese wall (bottom)"),
drawtype = "mesh",
mesh = "homedecor_wall_japanese_bottom.obj",
@ -584,6 +581,27 @@ minetest.register_node(":homedecor:japanese_wall_bottom", {
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("homedecor:tatami_mat", {
tiles = {
"homedecor_tatami.png",
"homedecor_tatami.png",
"homedecor_tatami.png",
"homedecor_tatami.png",
"homedecor_tatami.png",
"homedecor_tatami.png"
},
description = S("Japanese tatami"),
drawtype = "nodebox",
paramtype = "light",
groups = {snappy=3},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
}
}
})
homedecor.register("door_japanese_closed", {
description = S("Japanese-style door"),
inventory_image = "homedecor_door_japanese_inv.png",
@ -634,246 +652,6 @@ homedecor.register("door_japanese_open", {
drop = "homedecor:door_japanese_closed",
})
-- crafting
-- Gates
minetest.register_craft( {
type = "shapeless",
output = "homedecor:gate_picket_white_closed",
recipe = {
"homedecor:fence_picket_white"
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_picket_white",
recipe = {
"homedecor:gate_picket_white_closed"
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:gate_picket_closed",
recipe = {
"homedecor:fence_picket"
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_picket",
recipe = {
"homedecor:gate_picket_closed"
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:gate_barbed_wire_closed",
recipe = {
"homedecor:fence_barbed_wire"
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_barbed_wire",
recipe = {
"homedecor:gate_barbed_wire_closed"
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:gate_chainlink_closed",
recipe = {
"homedecor:fence_chainlink"
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_chainlink",
recipe = {
"homedecor:gate_chainlink_closed"
},
})
------ Doors
-- plain wood, non-windowed
minetest.register_craft( {
output = "homedecor:door_wood_plain_left 2",
recipe = {
{ "group:wood", "group:wood", "" },
{ "group:wood", "group:wood", "default:steel_ingot" },
{ "group:wood", "group:wood", "" },
},
})
-- fancy exterior
minetest.register_craft( {
output = "homedecor:door_exterior_fancy_left 2",
recipe = {
{ "group:wood", "default:glass" },
{ "group:wood", "group:wood" },
{ "group:wood", "group:wood" },
},
})
-- wood and glass (grid style)
-- bare
minetest.register_craft( {
output = "homedecor:door_wood_glass_oak_left 2",
recipe = {
{ "default:glass", "group:wood" },
{ "group:wood", "default:glass" },
{ "default:glass", "group:wood" },
},
})
minetest.register_craft( {
output = "homedecor:door_wood_glass_oak_left 2",
recipe = {
{ "group:wood", "default:glass" },
{ "default:glass", "group:wood" },
{ "group:wood", "default:glass" },
},
})
-- mahogany
minetest.register_craft( {
type = "shapeless",
output = "homedecor:door_wood_glass_mahogany_left 2",
recipe = {
"default:dirt",
"default:coal_lump",
"homedecor:door_wood_glass_oak_left",
"homedecor:door_wood_glass_oak_left"
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:door_wood_glass_mahogany_left 2",
recipe = {
"dye:brown",
"homedecor:door_wood_glass_oak_left",
"homedecor:door_wood_glass_oak_left"
},
})
-- white
minetest.register_craft( {
type = "shapeless",
output = "homedecor:door_wood_glass_white_left 2",
recipe = {
"dye:white",
"homedecor:door_wood_glass_oak_left",
"homedecor:door_wood_glass_oak_left"
},
})
-- Closet doors
-- oak
minetest.register_craft( {
output = "homedecor:door_closet_oak_left 2",
recipe = {
{ "", "group:stick", "group:stick" },
{ "default:steel_ingot", "group:stick", "group:stick" },
{ "", "group:stick", "group:stick" },
},
})
-- mahogany
minetest.register_craft( {
type = "shapeless",
output = "homedecor:door_closet_mahogany_left 2",
recipe = {
"homedecor:door_closet_oak_left",
"homedecor:door_closet_oak_left",
"default:dirt",
"default:coal_lump",
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:door_closet_mahogany_left 2",
recipe = {
"homedecor:door_closet_oak_left",
"homedecor:door_closet_oak_left",
"dye:brown"
},
})
-- wrought fence-like door
minetest.register_craft( {
output = "homedecor:door_wrought_iron_left 2",
recipe = {
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
{ "homedecor:pole_wrought_iron", "default:iron_lump" }
},
})
-- bedroom door
minetest.register_craft( {
output = "homedecor:door_bedroom_left",
recipe = {
{ "dye:white", "dye:white", "" },
{ "homedecor:door_wood_plain_left", "basic_materials:brass_ingot", "" },
{ "", "", "" },
},
})
-- woodglass door
minetest.register_craft( {
output = "homedecor:door_woodglass_left",
recipe = {
{ "group:wood", "default:glass", "" },
{ "group:wood", "default:glass", "basic_materials:brass_ingot" },
{ "group:wood", "group:wood", "" },
},
})
-- woodglass door type 2
minetest.register_craft( {
output = "homedecor:door_woodglass2_left",
recipe = {
{ "default:glass", "default:glass", "" },
{ "group:wood", "group:wood", "default:iron_lump" },
{ "group:wood", "group:wood", "" },
},
})
minetest.register_craft({
output = "homedecor:door_japanese_closed",
recipe = {
{ "homedecor:japanese_wall_top" },
{ "homedecor:japanese_wall_bottom" }
},
})
-- aliases
minetest.register_alias("homedecor:jpn_door_top", "air")
minetest.register_alias("homedecor:jpn_door_bottom", "homedecor:door_japanese_closed")

View File

@ -1,5 +1,5 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
homedecor.register("power_outlet", {
description = S("Power Outlet"),
@ -79,30 +79,3 @@ homedecor.register("doorbell", {
})
end
})
-- crafting
minetest.register_craft( {
output = "homedecor:power_outlet",
recipe = {
{"basic_materials:plastic_sheet", "basic_materials:copper_strip"},
{"basic_materials:plastic_sheet", ""},
{"basic_materials:plastic_sheet", "basic_materials:copper_strip"}
},
})
minetest.register_craft( {
output = "homedecor:light_switch",
recipe = {
{"", "basic_materials:plastic_sheet", "basic_materials:copper_strip"},
{"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:copper_strip"},
{"", "basic_materials:plastic_sheet", "basic_materials:copper_strip"}
},
})
minetest.register_craft( {
output = "homedecor:doorbell",
recipe = {
{ "homedecor:light_switch", "basic_materials:energy_crystal_simple", "homedecor:speaker_driver" }
},
})

143
homedecor/electronics.lua Normal file
View File

@ -0,0 +1,143 @@
-- 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(),
})

View File

@ -1,5 +1,5 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
local function N_(x) return x end
@ -367,7 +367,7 @@ homedecor.shrub_colors = {
local shrub_cbox = { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5 }
for _, color in ipairs(homedecor.shrub_colors) do
minetest.register_node(":homedecor:shrubbery_large_"..color, {
minetest.register_node("homedecor:shrubbery_large_"..color, {
description = S("Shrubbery (large, @1)", S(color)),
drawtype = "mesh",
mesh = "homedecor_cube.obj",
@ -378,7 +378,7 @@ for _, color in ipairs(homedecor.shrub_colors) do
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_node(":homedecor:shrubbery_"..color, {
minetest.register_node("homedecor:shrubbery_"..color, {
description = S("Shrubbery (@1)", S(color)),
drawtype = "mesh",
mesh = "homedecor_shrubbery.obj",
@ -396,252 +396,6 @@ for _, color in ipairs(homedecor.shrub_colors) do
})
end
-- crafting
minetest.register_craft({
output = "homedecor:chimney 2",
recipe = {
{ "default:clay_brick", "", "default:clay_brick" },
{ "default:clay_brick", "", "default:clay_brick" },
{ "default:clay_brick", "", "default:clay_brick" },
},
})
minetest.register_craft( {
output = "homedecor:doghouse",
recipe = {
{"homedecor:shingles_terracotta", "homedecor:shingles_terracotta", "homedecor:shingles_terracotta"},
{"group:wood", "", "group:wood"},
{"group:wood", "building_blocks:terrycloth_towel", "group:wood"}
},
})
minetest.register_craft( {
output = "homedecor:well",
recipe = {
{ "homedecor:shingles_wood", "homedecor:shingles_wood", "homedecor:shingles_wood" },
{ "group:wood", "group:stick", "group:wood" },
{ "group:stone", "", "group:stone" }
},
})
minetest.register_craft( {
output = "homedecor:bench_large_1",
recipe = {
{ "group:wood", "group:wood", "group:wood" },
{ "group:wood", "group:wood", "group:wood" },
{ "homedecor:pole_wrought_iron", "", "homedecor:pole_wrought_iron" }
},
})
minetest.register_craft( {
output = "homedecor:bench_large_2_left",
recipe = {
{ "homedecor:shutter_oak", "homedecor:shutter_oak", "homedecor:shutter_oak" },
{ "group:wood", "group:wood", "group:wood" },
{ "stairs:slab_wood", "", "stairs:slab_wood" }
},
})
minetest.register_craft( {
output = "homedecor:bench_large_2_left",
recipe = {
{ "homedecor:shutter_oak", "homedecor:shutter_oak", "homedecor:shutter_oak" },
{ "group:wood", "group:wood", "group:wood" },
{ "moreblocks:slab_wood", "", "moreblocks:slab_wood" }
},
})
minetest.register_craft( {
output = "homedecor:simple_bench",
recipe = {
{ "stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood" },
{ "stairs:slab_wood", "", "stairs:slab_wood" }
},
})
minetest.register_craft( {
output = "homedecor:simple_bench",
recipe = {
{ "moreblocks:slab_wood", "moreblocks:slab_wood", "moreblocks:slab_wood" },
{ "moreblocks:slab_wood", "", "moreblocks:slab_wood" }
},
})
minetest.register_craft({
output = "homedecor:deckchair",
recipe = {
{ "group:stick", "building_blocks:terrycloth_towel", "group:stick" },
{ "group:stick", "building_blocks:terrycloth_towel", "group:stick" },
{ "group:stick", "building_blocks:terrycloth_towel", "group:stick" }
},
})
minetest.register_craft({
output = "homedecor:deckchair_striped_blue",
type = "shapeless",
recipe = {
"homedecor:deckchair",
"dye:blue"
}
})
minetest.register_craft({
output = "homedecor:stonepath 16",
recipe = {
{ "stairs:slab_stone","","stairs:slab_stone" },
{ "","stairs:slab_stone","" },
{ "stairs:slab_stone","","stairs:slab_stone" }
},
})
minetest.register_craft({
output = "homedecor:stonepath 16",
recipe = {
{ "moreblocks:slab_stone","","moreblocks:slab_stone" },
{ "","moreblocks:slab_stone","" },
{ "moreblocks:slab_stone","","moreblocks:slab_stone" }
},
})
minetest.register_craft({
output = "homedecor:stonepath 3",
recipe = {
{ "moreblocks:micro_stone_1","","moreblocks:micro_stone_1" },
{ "","moreblocks:micro_stone_1","" },
{ "moreblocks:micro_stone_1","","moreblocks:micro_stone_1" }
},
})
minetest.register_craft({
output = "homedecor:barbecue",
recipe = {
{ "","homedecor:fence_chainlink","" },
{ "default:steel_ingot","fake_fire:embers","default:steel_ingot" },
{ "homedecor:pole_wrought_iron","default:steel_ingot","homedecor:pole_wrought_iron" }
},
})
minetest.register_craft({
output = "homedecor:swing",
recipe = {
{ "farming:string","","farming:string" },
{ "farming:string","","farming:string" },
{ "farming:string","stairs:slab_wood","farming:string" }
},
})
minetest.register_craft({
output = "homedecor:swing",
recipe = {
{ "farming:string","","farming:string" },
{ "farming:string","","farming:string" },
{ "farming:string","moreblocks:slab_wood","farming:string" }
},
})
minetest.register_craft({
output = "homedecor:swing",
recipe = {
{ "farming:string","","farming:string" },
{ "farming:string","","farming:string" },
{ "farming:string","moreblocks:panel_wood_1","farming:string" }
},
})
minetest.register_craft({
output = "homedecor:lattice_wood 8",
recipe = {
{"group:stick", "group:wood", "group:stick"},
{"group:wood", "", "group:wood"},
{"group:stick", "group:wood", "group:stick"},
},
})
minetest.register_craft({
output = "homedecor:lattice_white_wood 8",
recipe = {
{"group:stick", "group:wood", "group:stick"},
{"group:wood", "dye:white", "group:wood"},
{"group:stick", "group:wood", "group:stick"},
},
})
minetest.register_craft({
output = "homedecor:lattice_wood_vegetal 8",
recipe = {
{"group:stick", "group:wood", "group:stick"},
{"group:wood", "group:leaves", "group:wood"},
{"group:stick", "group:wood", "group:stick"},
},
})
minetest.register_craft({
output = "homedecor:lattice_white_wood_vegetal 8",
recipe = {
{"group:stick", "group:wood", "group:stick"},
{"group:wood", "group:leaves", "group:wood"},
{"group:stick", "dye:white", "group:stick"},
},
})
minetest.register_craft({
output = "homedecor:shrubbery_green 3",
recipe = {
{ "group:leaves", "group:leaves", "group:leaves" },
{ "group:leaves", "group:leaves", "group:leaves" },
{ "group:stick", "group:stick", "group:stick" }
}
})
for _, color in ipairs(homedecor.shrub_colors) do
minetest.register_craft({
type = "shapeless",
output = "homedecor:shrubbery_large_"..color,
recipe = {
"homedecor:shrubbery_"..color
}
})
minetest.register_craft({
type = "shapeless",
output = "homedecor:shrubbery_"..color,
recipe = {
"homedecor:shrubbery_large_"..color
}
})
if color ~= "green" then
minetest.register_craft({
type = "shapeless",
output = "homedecor:shrubbery_large_"..color,
recipe = {
"homedecor:shrubbery_large_green",
"dye:"..color
}
})
minetest.register_craft({
type = "shapeless",
output = "homedecor:shrubbery_"..color,
recipe = {
"homedecor:shrubbery_green",
"dye:"..color
}
})
end
end
-- aliases
minetest.register_alias("homedecor:well_top", "air")
minetest.register_alias("homedecor:well_base", "homedecor:well")

View File

@ -14,7 +14,7 @@ if signs_modpath then
sign_post_model = signs_lib.sign_post_model.nodebox
end
local S = homedecor.gettext
local S = homedecor_i18n.gettext
local materials = {
{ S("brass"), "brass" },
@ -307,183 +307,3 @@ if signs_modpath then
signs_lib.register_fence_with_sign("homedecor:fence_brass", "homedecor:fence_brass_with_sign")
signs_lib.register_fence_with_sign("homedecor:fence_wrought_iron", "homedecor:fence_wrought_iron_with_sign")
end
-- crafting
-- Brass/wrought iron fences
minetest.register_craft( {
output = "homedecor:fence_brass 6",
recipe = {
{ "basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot" },
{ "basic_materials:brass_ingot", "basic_materials:brass_ingot", "basic_materials:brass_ingot" },
},
})
minetest.register_craft( {
output = "homedecor:fence_wrought_iron 6",
recipe = {
{ "default:iron_lump","default:iron_lump","default:iron_lump" },
{ "default:iron_lump","default:iron_lump","default:iron_lump" },
},
})
-- other types of fences
minetest.register_craft( {
output = "homedecor:fence_wrought_iron_2 4",
recipe = {
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
{ "homedecor:pole_wrought_iron", "default:iron_lump" },
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_wrought_iron_2_corner",
recipe = {
"homedecor:fence_wrought_iron_2",
"homedecor:fence_wrought_iron_2"
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_wrought_iron_2 2",
recipe = {
"homedecor:fence_wrought_iron_2_corner",
},
})
--
minetest.register_craft( {
output = "homedecor:fence_picket 6",
recipe = {
{ "group:stick", "group:stick", "group:stick" },
{ "group:stick", "", "group:stick" },
{ "group:stick", "group:stick", "group:stick" }
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_picket_corner",
recipe = {
"homedecor:fence_picket",
"homedecor:fence_picket"
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_picket 2",
recipe = {
"homedecor:fence_picket_corner"
},
})
--
minetest.register_craft( {
output = "homedecor:fence_picket_white 6",
recipe = {
{ "group:stick", "group:stick", "group:stick" },
{ "group:stick", "dye:white", "group:stick" },
{ "group:stick", "group:stick", "group:stick" }
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_picket_corner_white",
recipe = {
"homedecor:fence_picket_white",
"homedecor:fence_picket_white"
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_picket_white 2",
recipe = {
"homedecor:fence_picket_corner_white"
},
})
--
minetest.register_craft( {
output = "homedecor:fence_privacy 6",
recipe = {
{ "group:wood", "group:stick", "group:wood" },
{ "group:wood", "", "group:wood" },
{ "group:wood", "group:stick", "group:wood" }
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_privacy_corner",
recipe = {
"homedecor:fence_privacy",
"homedecor:fence_privacy"
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_privacy 2",
recipe = {
"homedecor:fence_privacy_corner"
},
})
--
minetest.register_craft( {
output = "homedecor:fence_barbed_wire 6",
recipe = {
{ "group:stick", "basic_materials:steel_wire", "group:stick" },
{ "group:stick", "", "group:stick" },
{ "group:stick", "basic_materials:steel_wire", "group:stick" }
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_barbed_wire_corner",
recipe = { "homedecor:fence_barbed_wire", "homedecor:fence_barbed_wire" },
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_barbed_wire 2",
recipe = { "homedecor:fence_barbed_wire_corner" },
})
--
minetest.register_craft( {
output = "homedecor:fence_chainlink 9",
recipe = {
{ "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" },
{ "basic_materials:steel_wire", "basic_materials:steel_wire", "default:steel_ingot" },
{ "basic_materials:steel_wire", "basic_materials:steel_wire", "default:steel_ingot" }
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_chainlink_corner",
recipe = { "homedecor:fence_chainlink", "homedecor:fence_chainlink" },
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:fence_chainlink 2",
recipe = { "homedecor:fence_chainlink_corner" },
})

View File

@ -1,5 +1,5 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
homedecor.register("coatrack_wallmount", {
tiles = { homedecor.plain_wood },
@ -67,55 +67,3 @@ for _, mat in ipairs(mat_colors) do
}
})
end
-- crafting
minetest.register_craft({
output = "homedecor:welcome_mat_grey 2",
recipe = {
{ "", "dye:black", "" },
{ "wool:grey", "wool:grey", "wool:grey" },
},
})
minetest.register_craft({
output = "homedecor:welcome_mat_brown 2",
recipe = {
{ "", "dye:black", "" },
{ "wool:brown", "wool:brown", "wool:brown" },
},
})
minetest.register_craft({
output = "homedecor:welcome_mat_green 2",
recipe = {
{ "", "dye:white", "" },
{ "wool:dark_green", "wool:dark_green", "wool:dark_green" },
},
})
minetest.register_craft({
output = "homedecor:welcome_mat_green 2",
recipe = {
{ "", "dye:white", "" },
{ "dye:black", "dye:black", "dye:black" },
{ "wool:green", "wool:green", "wool:green" },
},
})
minetest.register_craft( {
output = "homedecor:coat_tree",
recipe = {
{ "group:stick", "group:stick", "group:stick" },
{ "", "group:stick", "" },
{ "", "group:wood", "" }
},
})
minetest.register_craft( {
output = "homedecor:coatrack_wallmount",
recipe = {
{ "group:stick", "homedecor:curtainrod_wood", "group:stick" },
},
})

View File

@ -1,5 +1,5 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
local table_colors = {
{ "", S("Table"), homedecor.plain_wood },
@ -34,7 +34,15 @@ end
local kc_cbox = {
type = "fixed",
fixed = { -0.3125, -0.3125, -0.5, 0.3125, 0.3125, 0.5 },
fixed = { -0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125 },
}
local ac_cbox = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0, 0.5 },
{-0.5, -0.5, 0.4, 0.5, 0.5, 0.5 }
}
}
homedecor.register("kitchen_chair_wood", {
@ -84,14 +92,6 @@ homedecor.register("kitchen_chair_padded", {
end
})
local ac_cbox = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0, 0.5 },
{-0.5, -0.5, 0.4, 0.5, 0.5, 0.5 }
}
}
homedecor.register("armchair", {
description = S("Armchair"),
mesh = "forniture_armchair.obj",
@ -136,7 +136,7 @@ minetest.register_node(":homedecor:openframe_bookshelf", {
homedecor.register("wall_shelf", {
description = S("Wall Shelf"),
tiles = {
"default_wood.png",
"homedecor_wood_table_large_edges.png",
},
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
@ -149,289 +149,6 @@ homedecor.register("wall_shelf", {
}
})
-- Crafts
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" },
},
})
-- Aliases for 3dforniture mod.
minetest.register_alias("3dforniture:table", "homedecor:table")
@ -472,7 +189,7 @@ end
table.insert(homedecor.old_static_chairs, "homedecor:chair")
minetest.register_lbm({
name = ":homedecor:convert_chairs",
name = "homedecor:convert_chairs",
label = "Convert homedecor chairs to use param2 color",
run_at_every_load = false,
nodenames = homedecor.old_static_chairs,

View File

@ -1,5 +1,5 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
homedecor.register("bars", {
description = S("Bars"),

View File

@ -0,0 +1,280 @@
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" },
},
})

View File

@ -1,5 +1,5 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
local cutlery_cbox = {
type = "fixed",
@ -104,6 +104,22 @@ homedecor.register("wine_rack", {
sounds = default.node_sound_defaults(),
})
homedecor.register("dartboard", {
description = S("Dartboard"),
mesh = "homedecor_dartboard.obj",
tiles = { "homedecor_dartboard.png" },
inventory_image = "homedecor_dartboard_inv.png",
wield_image = "homedecor_dartboard_inv.png",
paramtype2 = "wallmounted",
walkable = false,
selection_box = {
type = "wallmounted",
},
groups = {choppy=2,dig_immediate=2,attached_node=1},
legacy_wallmounted = true,
sounds = default.node_sound_wood_defaults(),
})
homedecor.register("beer_tap", {
description = S("Beer tap"),
mesh = "homedecor_beer_taps.obj",
@ -220,218 +236,3 @@ homedecor.register("soda_machine", {
})
minetest.register_alias("homedecor:coin", "currency:minegeld_cent_25")
-- 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
})
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"
})
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
})
-- crafting
minetest.register_craftitem(":homedecor:soda_can", {
description = S("Soda Can"),
inventory_image = "homedecor_soda_can.png",
on_use = minetest.item_eat(2),
})
minetest.register_craft( {
output = "homedecor:bottle_green",
recipe = {
{ "vessels:glass_bottle", "dye:green" }
},
})
minetest.register_craft( {
output = "homedecor:bottle_brown",
recipe = {
{ "vessels:glass_bottle", "dye:brown" }
},
})
minetest.register_craft({
output = "homedecor:coffee_maker",
recipe = {
{"basic_materials:plastic_sheet", "bucket:bucket_water", "basic_materials:plastic_sheet"},
{"basic_materials:plastic_sheet", "default:glass", "basic_materials:plastic_sheet"},
{"basic_materials:plastic_sheet", "basic_materials:heating_element", "basic_materials:plastic_sheet"}
},
})
minetest.register_craft({
output = "homedecor:toaster",
recipe = {
{ "default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot" },
{ "default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot" }
},
})
minetest.register_craft({
output = "homedecor:beer_tap",
recipe = {
{ "group:stick","default:steel_ingot","group:stick" },
{ "homedecor:kitchen_faucet","default:steel_ingot","homedecor:kitchen_faucet" },
{ "default:steel_ingot","default:steel_ingot","default:steel_ingot" }
},
})
minetest.register_craft({
type = "shapeless",
output = "homedecor:4_bottles_brown",
recipe = {
"homedecor:bottle_brown",
"homedecor:bottle_brown",
"homedecor:bottle_brown",
"homedecor:bottle_brown"
},
})
minetest.register_craft({
type = "shapeless",
output = "homedecor:4_bottles_green",
recipe = {
"homedecor:bottle_green",
"homedecor:bottle_green",
"homedecor:bottle_green",
"homedecor:bottle_green"
},
})
minetest.register_craft({
type = "shapeless",
output = "homedecor:4_bottles_multi",
recipe = {
"homedecor:bottle_brown",
"homedecor:bottle_brown",
"homedecor:bottle_green",
"homedecor:bottle_green",
},
})
minetest.register_craft({
output = "homedecor:wine_rack",
recipe = {
{ "homedecor:4_bottles_brown", "group:wood", "homedecor:4_bottles_brown" },
{ "homedecor:4_bottles_brown", "group:wood", "homedecor:4_bottles_brown" },
{ "homedecor:4_bottles_brown", "group:wood", "homedecor:4_bottles_brown" },
},
})
minetest.register_craft({
output = "homedecor:soda_machine",
recipe = {
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{"default:steel_ingot", "dye:red", "default:steel_ingot"},
{"default:steel_ingot", "default:copperblock", "default:steel_ingot"},
},
})

View File

@ -1,5 +1,5 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
-- vectors to place one node next to or behind another

View File

@ -1,6 +1,6 @@
-- This code supplies an oven/stove. Basically it's just a copy of the default furnace with different textures.
local S = homedecor.gettext
local S = homedecor_i18n.gettext
local function swap_node(pos, name)
local node = minetest.get_node(pos)

View File

@ -0,0 +1,24 @@
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")

View File

@ -1,5 +1,5 @@
local S = homedecor.gettext
local S = homedecor_i18n.gettext
local default_can_dig = function(pos,player)
local meta = minetest.get_meta(pos)

View File

@ -91,5 +91,5 @@ function homedecor.register(name, original_def)
end
-- register the actual minetest node
minetest.register_node(":homedecor:" .. name, def)
minetest.register_node("homedecor:" .. name, def)
end

View File

@ -71,7 +71,6 @@ function homedecor.start_particle_spawner(pos, node, particledef, soundname)
amount = 60,
time = 0,
collisiondetection = true,
collision_removal = particledef.die_on_collision,
minpos = {x=pos.x - minx, y=pos.y + outlety, z=pos.z - minz},
maxpos = {x=pos.x - maxx, y=pos.y + outlety, z=pos.z - maxz},
minvel = {x = minvelx, y = velocityy, z = minvelz},

View File

@ -1,16 +1,19 @@
-- Home Decor API/functions, and common textures and models
-- by VanessaE
-- Home Decor mod by VanessaE
--
-- Mostly my own code, with bits and pieces lifted from Minetest's default
-- lua files and from ironzorg's flowers mod. Many thanks to GloopMaster
-- for helping me figure out the inventories used in the nightstands/dressers.
--
-- The code for ovens, nightstands, refrigerators are basically modified
-- copies of the code for chests and furnaces.
local modpath = minetest.get_modpath("homedecor_common")
local modpath = minetest.get_modpath("homedecor")
local S = homedecor_i18n.gettext
homedecor = {}
homedecor.modpath = modpath
-- Intllib support
homedecor.gettext, homedecor.ngettext = dofile(modpath.."/intllib.lua")
local S = homedecor.gettext
-- Determine if the item being pointed at is the underside of a node (e.g a ceiling)
function homedecor.find_ceiling(itemstack, placer, pointed_thing)
-- most of this is copied from the rotate-and-place function in builtin
@ -67,16 +70,55 @@ homedecor.color_dark_grey = 0xff606060
homedecor.color_med_grey = 0xffa0a0a0
-- load different handler subsystems
dofile(modpath.."/nodeboxes.lua")
dofile(modpath.."/expansion.lua")
dofile(modpath.."/furnaces.lua")
dofile(modpath.."/inventory.lua")
dofile(modpath.."/registration.lua")
dofile(modpath.."/water_particles.lua")
dofile(modpath.."/mt_game_beds_functions.lua")
dofile(modpath.."/sit.lua")
dofile(modpath.."/handlers/init.lua")
-- load various other components
dofile(modpath.."/misc-nodes.lua") -- the catch-all for all misc nodes
dofile(modpath.."/tables.lua")
dofile(modpath.."/electronics.lua")
dofile(modpath.."/shutters.lua")
dofile(modpath.."/roofing.lua")
dofile(modpath.."/foyer.lua")
dofile(modpath.."/doors_and_gates.lua")
dofile(modpath.."/fences.lua")
dofile(modpath.."/lighting.lua")
dofile(modpath.."/kitchen_appliances.lua")
dofile(modpath.."/kitchen_furniture.lua")
dofile(modpath.."/gastronomy.lua")
dofile(modpath.."/bathroom_furniture.lua")
dofile(modpath.."/bathroom_sanitation.lua")
dofile(modpath.."/bedroom.lua")
dofile(modpath.."/laundry.lua")
dofile(modpath.."/office.lua")
dofile(modpath.."/clocks.lua")
dofile(modpath.."/electrics.lua")
dofile(modpath.."/window_treatments.lua")
dofile(modpath.."/furniture.lua")
dofile(modpath.."/furniture_medieval.lua")
dofile(modpath.."/furniture_recipes.lua")
dofile(modpath.."/climate-control.lua")
dofile(modpath.."/cobweb.lua")
dofile(modpath.."/books.lua")
dofile(modpath.."/exterior.lua")
dofile(modpath.."/trash_cans.lua")
dofile(modpath.."/wardrobe.lua")
dofile(modpath.."/crafts.lua")
if minetest.settings:get_bool("log_mod") then
minetest.log("action", "[HomeDecor API] " .. S("Loaded!"))
minetest.log("action", "[HomeDecor] " .. S("Loaded!"))
end

View File

@ -0,0 +1,256 @@
-- 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

View File

@ -0,0 +1,157 @@
-- 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 }
},
})

61
homedecor/laundry.lua Normal file
View File

@ -0,0 +1,61 @@
-- 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
})

View File

@ -1,6 +1,6 @@
-- This file supplies glowlights
local S = homedecor.gettext
local S = homedecor_i18n.gettext
local glowlight_nodebox = {
half = homedecor.nodebox.slab_y(1/2),
@ -11,7 +11,7 @@ local glowlight_nodebox = {
},
}
minetest.register_node(":homedecor:glowlight_half", {
minetest.register_node("homedecor:glowlight_half", {
description = S("Thick Glowlight"),
tiles = {
"homedecor_glowlight_top.png",
@ -49,7 +49,7 @@ minetest.register_node(":homedecor:glowlight_half", {
end,
})
minetest.register_node(":homedecor:glowlight_quarter", {
minetest.register_node("homedecor:glowlight_quarter", {
description = S("Thin Glowlight"),
tiles = {
"homedecor_glowlight_top.png",
@ -87,7 +87,7 @@ minetest.register_node(":homedecor:glowlight_quarter", {
end,
})
minetest.register_node(":homedecor:glowlight_small_cube", {
minetest.register_node("homedecor:glowlight_small_cube", {
description = S("Small Glowlight Cube"),
tiles = {
"homedecor_glowlight_cube_tb.png",
@ -126,7 +126,7 @@ minetest.register_node(":homedecor:glowlight_small_cube", {
})
homedecor.register("plasma_lamp", {
description = S("Plasma Lamp/Light"),
description = S("Plasma Lamp"),
drawtype = "mesh",
mesh = "plasma_lamp.obj",
tiles = {
@ -273,7 +273,7 @@ local ol_cbox = {
}
homedecor.register("oil_lamp", {
description = S("Oil lamp/Light (hurricane)"),
description = S("Oil lamp (hurricane)"),
mesh = "homedecor_oil_lamp.obj",
tiles = {
"homedecor_generic_metal_brass.png",
@ -293,7 +293,7 @@ homedecor.register("oil_lamp", {
})
homedecor.register("oil_lamp_tabletop", {
description = S("Oil Lamp/Light (tabletop)"),
description = S("Oil Lamp (tabletop)"),
mesh = "homedecor_oil_lamp_tabletop.obj",
tiles = {"homedecor_oil_lamp_tabletop.png"},
inventory_image = "homedecor_oil_lamp_tabletop_inv.png",
@ -312,7 +312,7 @@ local gl_cbox = {
minetest.register_alias("homedecor:wall_lantern", "homedecor:ground_lantern")
homedecor.register("ground_lantern", {
description = S("Ground Lantern/Light"),
description = S("Ground Lantern"),
mesh = "homedecor_ground_lantern.obj",
tiles = { "homedecor_light.png", "homedecor_generic_metal_wrought_iron.png" },
use_texture_alpha = true,
@ -330,7 +330,7 @@ local hl_cbox = {
}
homedecor.register("hanging_lantern", {
description = S("Hanging Lantern/Light"),
description = S("Hanging Lantern"),
mesh = "homedecor_hanging_lantern.obj",
tiles = { "homedecor_generic_metal_wrought_iron.png", "homedecor_light.png" },
use_texture_alpha = true,
@ -353,7 +353,7 @@ homedecor.register("ceiling_lantern", {
tiles = { "homedecor_light.png", "homedecor_generic_metal_wrought_iron.png" },
use_texture_alpha = true,
inventory_image = "homedecor_ceiling_lantern_inv.png",
description = S("Ceiling Lantern/Light"),
description = S("Ceiling Lantern"),
groups = {snappy=3},
light_source = 11,
selection_box = cl_cbox,
@ -367,7 +367,7 @@ if minetest.get_modpath("darkage") then
sm_light = default.LIGHT_MAX-5
else
homedecor.register("lattice_lantern_large", {
description = S("Lattice lantern/Light (large)"),
description = S("Lattice lantern (large)"),
tiles = { 'homedecor_lattice_lantern_large.png' },
groups = { snappy = 3 },
light_source = default.LIGHT_MAX,
@ -438,7 +438,7 @@ local function reg_lamp(suffix, nxt, light, brightness)
local wool_brighten = (light or 0) * 15
homedecor.register("table_lamp_"..suffix, {
description = S("Table Lamp/Light"),
description = S("Table Lamp"),
mesh = "homedecor_table_lamp.obj",
tiles = {
"wool_grey.png^[colorize:#ffffff:"..wool_brighten,
@ -471,7 +471,7 @@ local function reg_lamp(suffix, nxt, light, brightness)
})
homedecor.register("standing_lamp_"..suffix, {
description = S("Standing Lamp/Light"),
description = S("Standing Lamp"),
mesh = "homedecor_standing_lamp.obj",
tiles = {
"wool_grey.png^[colorize:#ffffff:"..wool_brighten,
@ -522,7 +522,7 @@ local dlamp_cbox = {
}
homedecor.register("desk_lamp", {
description = S("Desk Lamp/Light"),
description = S("Desk Lamp"),
mesh = "homedecor_desk_lamp.obj",
tiles = {
"homedecor_generic_metal.png",
@ -547,7 +547,7 @@ homedecor.register("desk_lamp", {
-- "kitchen"/"dining room" ceiling lamp
homedecor.register("ceiling_lamp", {
description = S("Ceiling Lamp/Light"),
description = S("Ceiling Lamp"),
mesh = "homedecor_ceiling_lamp.obj",
tiles = {
"homedecor_generic_metal_brass.png",
@ -565,7 +565,7 @@ homedecor.register("ceiling_lamp", {
})
homedecor.register("ceiling_lamp_off", {
description = S("Ceiling Lamp/Light (off)"),
description = S("Ceiling Lamp (off)"),
mesh = "homedecor_ceiling_lamp.obj",
tiles = {
"homedecor_generic_metal_brass.png",
@ -602,7 +602,7 @@ for _, power in ipairs(lamp_power) do
end
minetest.register_lbm({
name = ":homedecor:convert_lighting",
name = "homedecor:convert_lighting",
label = "Convert homedecor glowlights, table lamps, and standing lamps to use param2 color",
run_at_every_load = false,
nodenames = homedecor.old_static_nodes,
@ -707,7 +707,7 @@ homedecor.old_static_desk_lamps = {
}
minetest.register_lbm({
name = ":homedecor:convert_desk_lamps",
name = "homedecor:convert_desk_lamps",
label = "Convert homedecor desk lamps to use param2 color",
run_at_every_load = false,
nodenames = homedecor.old_static_desk_lamps,
@ -756,7 +756,7 @@ local topchains_sbox = {
}
}
minetest.register_node(":homedecor:chain_steel_top", {
minetest.register_node("homedecor:chain_steel_top", {
description = S("Hanging chain (ceiling mount, steel)"),
drawtype = "mesh",
mesh = "homedecor_chains_top.obj",
@ -770,7 +770,7 @@ minetest.register_node(":homedecor:chain_steel_top", {
selection_box = topchains_sbox,
})
minetest.register_node(":homedecor:chain_brass_top", {
minetest.register_node("homedecor:chain_brass_top", {
description = S("Hanging chain (ceiling mount, brass)"),
drawtype = "mesh",
mesh = "homedecor_chains_top.obj",
@ -784,7 +784,7 @@ minetest.register_node(":homedecor:chain_brass_top", {
selection_box = topchains_sbox,
})
minetest.register_node(":homedecor:chandelier_steel", {
minetest.register_node("homedecor:chandelier_steel", {
description = S("Chandelier (steel)"),
paramtype = "light",
light_source = 12,
@ -810,7 +810,7 @@ minetest.register_node(":homedecor:chandelier_steel", {
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node(":homedecor:chandelier_brass", {
minetest.register_node("homedecor:chandelier_brass", {
description = S("Chandelier (brass)"),
paramtype = "light",
light_source = 12,
@ -836,7 +836,7 @@ minetest.register_node(":homedecor:chandelier_brass", {
sounds = default.node_sound_stone_defaults(),
})
-- crafting
-- crafts
minetest.register_craft({
output = 'homedecor:chain_steel_top',
@ -874,322 +874,6 @@ minetest.register_craft({
}
})
-- candles
minetest.register_craft({
output = "homedecor:candle_thin 4",
recipe = {
{"farming:string" },
{"basic_materials:paraffin" }
}
})
minetest.register_craft({
output = "homedecor:candle 2",
recipe = {
{"farming:string" },
{"basic_materials:paraffin" },
{"basic_materials:paraffin" }
}
})
minetest.register_craft({
output = "homedecor:wall_sconce 2",
recipe = {
{"default:iron_lump", "", ""},
{"default:iron_lump", "homedecor:candle", ""},
{"default:iron_lump", "", ""},
}
})
minetest.register_craft({
output = "homedecor:candlestick_wrought_iron",
recipe = {
{""},
{"homedecor:candle_thin"},
{"default:iron_lump"},
}
})
minetest.register_craft({
output = "homedecor:candlestick_brass",
recipe = {
{""},
{"homedecor:candle_thin"},
{"basic_materials:brass_ingot"},
}
})
minetest.register_craft({
output = "homedecor:oil_lamp",
recipe = {
{ "", "vessels:glass_bottle", "" },
{ "", "farming:string", "" },
{ "default:steel_ingot", "basic_materials:oil_extract", "default:steel_ingot" }
}
})
minetest.register_craft({
output = "homedecor:oil_lamp_tabletop",
recipe = {
{ "", "vessels:glass_bottle", "" },
{ "", "farming:string", "" },
{ "default:iron_lump", "basic_materials:oil_extract", "default:iron_lump" }
}
})
-- Wrought-iron wall latern
minetest.register_craft({
output = "homedecor:ground_lantern",
recipe = {
{ "default:iron_lump", "default:iron_lump", "default:iron_lump" },
{ "default:iron_lump", "default:torch", "default:iron_lump" },
{ "", "default:iron_lump", "" }
}
})
-- wood-lattice lamps
if minetest.get_modpath("darkage") then
minetest.register_craft( {
output = "homedecor:lattice_lantern_small 8",
recipe = {
{ "darkage:lamp" },
},
})
minetest.register_craft( {
output = "darkage:lamp",
type = "shapeless",
recipe = {
"homedecor:lattice_lantern_small",
"homedecor:lattice_lantern_small",
"homedecor:lattice_lantern_small",
"homedecor:lattice_lantern_small",
"homedecor:lattice_lantern_small",
"homedecor:lattice_lantern_small",
"homedecor:lattice_lantern_small",
"homedecor:lattice_lantern_small",
},
})
else
minetest.register_craft( {
output = "homedecor:lattice_lantern_large 2",
recipe = {
{ "dye:black", "dye:yellow", "dye:black" },
{ "group:stick", "building_blocks:woodglass", "group:stick" },
{ "group:stick", "basic_materials:energy_crystal_simple", "group:stick" }
},
})
minetest.register_craft( {
output = "homedecor:lattice_lantern_small 8",
recipe = {
{ "homedecor:lattice_lantern_large" },
},
})
minetest.register_craft( {
output = "homedecor:lattice_lantern_large",
type = "shapeless",
recipe = {
"homedecor:lattice_lantern_small",
"homedecor:lattice_lantern_small",
"homedecor:lattice_lantern_small",
"homedecor:lattice_lantern_small",
"homedecor:lattice_lantern_small",
"homedecor:lattice_lantern_small",
"homedecor:lattice_lantern_small",
"homedecor:lattice_lantern_small",
},
})
end
-- glowlights
minetest.register_craft({
output = "homedecor:glowlight_half 6",
recipe = {
{ "default:glass", "basic_materials:energy_crystal_simple", "default:glass", },
}
})
minetest.register_craft({
output = "homedecor:glowlight_half 6",
recipe = {
{"moreblocks:super_glow_glass", "moreblocks:glow_glass", "moreblocks:super_glow_glass", },
}
})
minetest.register_craft({
output = "homedecor:glowlight_half",
recipe = {
{"homedecor:glowlight_small_cube","homedecor:glowlight_small_cube"},
{"homedecor:glowlight_small_cube","homedecor:glowlight_small_cube"}
}
})
minetest.register_craft({
output = "homedecor:glowlight_half",
type = "shapeless",
recipe = {
"homedecor:glowlight_quarter",
"homedecor:glowlight_quarter"
}
})
unifieddyes.register_color_craft({
output = "homedecor:glowlight_half",
palette = "wallmounted",
type = "shapeless",
neutral_node = "homedecor:glowlight_half",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE"
}
})
minetest.register_craft({
output = "homedecor:glowlight_quarter 6",
recipe = {
{"homedecor:glowlight_half", "homedecor:glowlight_half", "homedecor:glowlight_half", },
}
})
unifieddyes.register_color_craft({
output = "homedecor:glowlight_quarter",
palette = "wallmounted",
type = "shapeless",
neutral_node = "homedecor:glowlight_quarter",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE"
}
})
minetest.register_craft({
output = "homedecor:glowlight_small_cube 8",
recipe = {
{ "dye:white" },
{ "default:glass" },
{ "basic_materials:energy_crystal_simple" },
}
})
minetest.register_craft({
output = "homedecor:glowlight_small_cube 8",
recipe = {
{"dye:white" },
{"moreblocks:super_glow_glass" },
}
})
minetest.register_craft({
output = "homedecor:glowlight_small_cube 4",
recipe = {
{"homedecor:glowlight_half" },
}
})
unifieddyes.register_color_craft({
output = "homedecor:glowlight_small_cube",
palette = "wallmounted",
type = "shapeless",
neutral_node = "homedecor:glowlight_small_cube",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE"
}
})
----
minetest.register_craft({
output = "homedecor:plasma_lamp",
recipe = {
{"", "default:glass", ""},
{"default:glass", "basic_materials:energy_crystal_simple", "default:glass"},
{"", "default:glass", ""}
}
})
minetest.register_craft({
output = "homedecor:plasma_ball 2",
recipe = {
{"", "default:glass", ""},
{"default:glass", "default:copper_ingot", "default:glass"},
{"basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet"}
}
})
minetest.register_craft({
output = "homedecor:desk_lamp 2",
recipe = {
{ "", "default:steel_ingot", "homedecor:glowlight_small_cube" },
{ "", "basic_materials:steel_strip", "" },
{ "basic_materials:plastic_sheet", "basic_materials:copper_wire", "basic_materials:plastic_sheet" },
},
})
unifieddyes.register_color_craft({
output = "homedecor:desk_lamp",
palette = "wallmounted",
type = "shapeless",
neutral_node = "homedecor:desk_lamp",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE"
}
})
minetest.register_craft({
output = "homedecor:hanging_lantern 2",
recipe = {
{ "default:iron_lump", "default:iron_lump", "" },
{ "default:iron_lump", "homedecor:lattice_lantern_large", "" },
{ "default:iron_lump", "", "" },
},
})
minetest.register_craft({
output = "homedecor:ceiling_lantern 2",
recipe = {
{ "default:iron_lump", "default:iron_lump", "default:iron_lump" },
{ "default:iron_lump", "homedecor:lattice_lantern_large", "default:iron_lump" },
{ "", "default:iron_lump", "" },
},
})
minetest.register_craft({
output = "homedecor:wall_lamp 2",
recipe = {
{ "", "homedecor:lattice_lantern_large", "" },
{ "default:iron_lump", "group:stick", "" },
{ "default:iron_lump", "group:stick", "" },
},
})
minetest.register_craft({
output = "homedecor:ceiling_lamp",
recipe = {
{ "", "basic_materials:brass_ingot", ""},
{ "", "basic_materials:chainlink_brass", ""},
{ "default:glass", "homedecor:glowlight_small_cube", "default:glass"}
},
})
minetest.register_craft({
output = "homedecor:ceiling_lamp",
recipe = {
{ "", "basic_materials:chain_steel_top_brass", ""},
{ "default:glass", "homedecor:glowlight_small_cube", "default:glass"}
},
})
-- aliases
minetest.register_alias("chains:chain_top", "homedecor:chain_steel_top")
minetest.register_alias("chains:chain_top_brass", "homedecor:chain_brass_top")

View File

@ -1,13 +1,7 @@
-- Home Decor mod by VanessaE
--
-- Mostly my own code, with bits and pieces lifted from Minetest's default
-- lua files and from ironzorg's flowers mod. Many thanks to GloopMaster
-- for helping me figure out the inventories used in the nightstands/dressers.
--
-- The code for ovens, nightstands, refrigerators are basically modified
-- copies of the code for chests and furnaces.
local S = homedecor.gettext
local S = homedecor_i18n.gettext
local function N_(x) return x end
homedecor.register("ceiling_paint", {
description = S("Textured Ceiling Paint"),
@ -34,9 +28,9 @@ homedecor.register("ceiling_tile", {
})
local rug_types = {
{ "small", "homedecor_small_rug.obj" },
{ "large", homedecor.box.slab_y(0.0625) },
{ "persian", homedecor.box.slab_y(0.0625) },
{ N_("small"), "homedecor_small_rug.obj" },
{ N_("large"), homedecor.box.slab_y(0.0625) },
{ N_("persian"), homedecor.box.slab_y(0.0625) },
}
for _, rt in ipairs(rug_types) do
@ -72,7 +66,7 @@ for _, rt in ipairs(rug_types) do
})
end
local pot_colors = { "black", "green", "terracotta" }
local pot_colors = { N_("black"), N_("green"), N_("terracotta") }
for _, p in ipairs(pot_colors) do
homedecor.register("flower_pot_"..p, {
@ -394,6 +388,53 @@ homedecor.register("tool_cabinet", {
minetest.register_alias("homedecor:tool_cabinet_bottom", "homedecor:tool_cabinet")
minetest.register_alias("homedecor:tool_cabinet_top", "air")
local pframe_cbox = {
type = "fixed",
fixed = { -0.18, -0.5, -0.08, 0.18, -0.08, 0.18 }
}
local n = { 1, 2 }
for _, i in ipairs(n) do
homedecor.register("picture_frame"..i, {
description = S("Picture Frame "..i),
mesh = "homedecor_picture_frame.obj",
tiles = {
"homedecor_picture_frame_image"..i..".png",
homedecor.lux_wood,
"homedecor_picture_frame_back.png",
},
inventory_image = "homedecor_picture_frame"..i.."_inv.png",
wield_image = "homedecor_picture_frame"..i.."_inv.png",
groups = {snappy = 3},
selection_box = pframe_cbox,
walkable = false,
sounds = default.node_sound_glass_defaults()
})
end
local p_cbox = {
type = "fixed",
fixed = {
{ -0.5, -0.5, 0.4375, 0.5, 0.5, 0.5 }
}
}
for i = 1,20 do
homedecor.register("painting_"..i, {
description = S("Decorative painting #@1", i),
mesh = "homedecor_painting.obj",
tiles = {
"default_wood.png",
"homedecor_blank_canvas.png",
"homedecor_painting"..i..".png"
},
selection_box = p_cbox,
walkable = false,
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
})
end
homedecor.banister_materials = {
{ "wood",
S("wood"),
@ -470,7 +511,7 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do
}
if side ~= "horizontal" then
def.groups.not_in_creative_inventory = 1
def.groups.not_in_creative_inventory = 1
end
if name == "wood" then
@ -489,7 +530,7 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do
homedecor.white_wood
}
def2.inventory_image = "homedecor_banister_wood_colored_inv.png"
def2.groups.not_in_creative_inventory = 1
def2.groups.not_in_creative_inventory = 1
unifieddyes.generate_split_palette_nodes(nn, def2, "homedecor:banister_"..name.."_horizontal")
end
@ -586,416 +627,3 @@ minetest.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack
end
end
end)
minetest.register_node(":homedecor:tatami_mat", {
tiles = {
"homedecor_tatami.png",
"homedecor_tatami.png",
"homedecor_tatami.png",
"homedecor_tatami.png",
"homedecor_tatami.png",
"homedecor_tatami.png"
},
description = S("Japanese tatami"),
drawtype = "nodebox",
paramtype = "light",
groups = {snappy=3},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
}
}
})
homedecor.register("dartboard", {
description = S("Dartboard"),
mesh = "homedecor_dartboard.obj",
tiles = { "homedecor_dartboard.png" },
inventory_image = "homedecor_dartboard_inv.png",
wield_image = "homedecor_dartboard_inv.png",
paramtype2 = "wallmounted",
walkable = false,
selection_box = {
type = "wallmounted",
},
groups = {choppy=2,dig_immediate=2,attached_node=1},
legacy_wallmounted = true,
sounds = default.node_sound_wood_defaults(),
})
-- crafting
-- Crafting for homedecor mod (includes folding) by Vanessa Ezekowitz
--
-- Mostly my own code; overall template borrowed from game default
local S = homedecor.gettext
minetest.register_craft( {
output = "homedecor:flower_pot_terracotta",
recipe = {
{ "homedecor:roof_tile_terracotta", "default:dirt", "homedecor:roof_tile_terracotta" },
{ "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta", "homedecor:roof_tile_terracotta" },
},
})
minetest.register_craft( {
output = "homedecor:flower_pot_green",
recipe = {
{ "", "dye:dark_green", "" },
{ "basic_materials:plastic_sheet", "default:dirt", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
},
})
minetest.register_craft( {
output = "homedecor:flower_pot_black",
recipe = {
{ "dye:black", "dye:black", "dye:black" },
{ "basic_materials:plastic_sheet", "default:dirt", "basic_materials:plastic_sheet" },
{ "basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet" },
},
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:ceiling_paint 20",
recipe = {
"dye:white",
"dye:white",
"default:sand",
"bucket:bucket_water",
},
replacements = { { "bucket:bucket_water","bucket:bucket_empty" } }
})
minetest.register_craft( {
output = "homedecor:ceiling_tile 10",
recipe = {
{ "", "dye:white", "" },
{ "default:steel_ingot", "default:stone", "default:steel_ingot" },
},
})
minetest.register_craft( {
output = "homedecor:drawer_small",
recipe = {
{ "group:wood", "default:steel_ingot", "group:wood" },
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:drawer_small",
burntime = 30,
})
-- vertical poles/lampposts
minetest.register_craft( {
output = "homedecor:pole_brass 4",
recipe = {
{ "", "basic_materials:brass_ingot", "" },
{ "", "basic_materials:brass_ingot", "" },
{ "", "basic_materials:brass_ingot", "" }
},
})
minetest.register_craft( {
output = "homedecor:pole_wrought_iron 4",
recipe = {
{ "default:iron_lump", },
{ "default:iron_lump", },
{ "default:iron_lump", },
},
})
-- ===========================================================
-- Recipes that require materials from wool (cotton alternate)
minetest.register_craft( {
type = "shapeless",
output = "homedecor:rug_small 8",
recipe = {
"wool:red",
"wool:yellow",
"wool:blue",
"wool:black"
},
})
minetest.register_craft( {
output = "homedecor:rug_persian 8",
recipe = {
{ "", "wool:yellow", "" },
{ "wool:red", "wool:blue", "wool:red" },
{ "", "wool:yellow", "" }
},
})
-- cotton versions:
minetest.register_craft( {
type = "shapeless",
output = "homedecor:rug_small 8",
recipe = {
"cotton:red",
"cotton:yellow",
"cotton:blue",
"cotton:black"
},
})
minetest.register_craft( {
output = "homedecor:rug_persian 8",
recipe = {
{ "", "cotton:yellow", "" },
{ "cotton:red", "cotton:blue", "cotton:red" },
{ "", "cotton:yellow", "" }
},
})
-- fuel recipes for same
minetest.register_craft({
type = "fuel",
recipe = "homedecor:rug_small",
burntime = 30,
})
minetest.register_craft( {
type = "shapeless",
output = "homedecor:rug_large 2",
recipe = {
"homedecor:rug_small",
"homedecor:rug_small",
},
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:rug_large",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "homedecor:rug_persian",
burntime = 30,
})
-- more misc stuff here
minetest.register_craft({
output = "homedecor:fishtank",
recipe = {
{ "basic_materials:plastic_sheet", "homedecor:glowlight_small_cube", "basic_materials:plastic_sheet" },
{ "default:glass", "bucket:bucket_water", "default:glass" },
{ "default:glass", "building_blocks:gravel_spread", "default:glass" },
},
replacements = { {"bucket:bucket_water", "bucket:bucket_empty"} }
})
minetest.register_craft({
output = "homedecor:cardboard_box 2",
recipe = {
{ "default:paper", "", "default:paper" },
{ "default:paper", "default:paper", "default:paper" },
},
})
minetest.register_craft({
output = "homedecor:cardboard_box_big 2",
recipe = {
{ "default:paper", "", "default:paper" },
{ "default:paper", "", "default:paper" },
{ "default:paper", "default:paper", "default:paper" },
},
})
minetest.register_craft( {
output = "homedecor:openframe_bookshelf",
recipe = {
{"group:wood", "", "group:wood"},
{"default:book", "default:book", "default:book"},
{"group:wood", "", "group:wood"},
},
})
-- japanese walls and mat
minetest.register_craft( {
output = "homedecor:japanese_wall_top",
recipe = {
{"group:stick", "default:paper"},
{"default:paper", "group:stick"},
{"group:stick", "default:paper"}
},
})
minetest.register_craft( {
output = "homedecor:japanese_wall_top",
recipe = {
{"default:paper", "group:stick"},
{"group:stick", "default:paper"},
{"default:paper", "group:stick"}
},
})
minetest.register_craft( {
output = "homedecor:japanese_wall_middle",
recipe = {
{"homedecor:japanese_wall_top"}
},
})
minetest.register_craft( {
output = "homedecor:japanese_wall_bottom",
recipe = {
{"homedecor:japanese_wall_middle"}
},
})
minetest.register_craft( {
output = "homedecor:japanese_wall_top",
recipe = {
{"homedecor:japanese_wall_bottom"}
},
})
minetest.register_craft( {
output = "homedecor:tatami_mat",
recipe = {
{"farming:wheat", "farming:wheat", "farming:wheat"}
},
})
minetest.register_craft( {
output = "homedecor:pool_table",
recipe = {
{ "wool:dark_green", "wool:dark_green", "wool:dark_green" },
{ "building_blocks:hardwood", "building_blocks:hardwood", "building_blocks:hardwood" },
{ "building_blocks:slab_hardwood", "", "building_blocks:slab_hardwood" }
},
})
minetest.register_craft({
output = "homedecor:dartboard",
recipe = {
{"dye:black", "basic_materials:plastic_sheet", "dye:white"},
{"basic_materials:plastic_sheet", "basic_materials:plastic_sheet", "basic_materials:plastic_sheet"},
{"dye:dark_green", "basic_materials:plastic_sheet", "dye:red"}
},
})
minetest.register_craft({
output = "homedecor:piano",
recipe = {
{ "", "basic_materials:steel_wire", "building_blocks:hardwood" },
{ "basic_materials:plastic_strip", "basic_materials:steel_wire", "building_blocks:hardwood" },
{ "basic_materials:brass_ingot", "default:steelblock", "building_blocks:hardwood" }
},
})
minetest.register_craft({
output = "homedecor:wall_shelf 2",
recipe = {
{ "homedecor:wood_table_small_square", "homedecor:curtainrod_wood", "homedecor:curtainrod_wood" },
},
})
minetest.register_craft({
output = "homedecor:trophy 3",
recipe = {
{ "default:gold_ingot","","default:gold_ingot" },
{ "","default:gold_ingot","" },
{ "group:wood","default:gold_ingot","group:wood" }
},
})
minetest.register_craft({
output = "homedecor:sportbench",
recipe = {
{ "stairs:slab_steelblock","homedecor:pole_wrought_iron","stairs:slab_steelblock" },
{ "default:steel_ingot","wool:black","default:steel_ingot" },
{ "default:steel_ingot","wool:black","default:steel_ingot" }
},
})
minetest.register_craft({
output = "homedecor:skateboard",
recipe = {
{ "dye:yellow","dye:green","dye:blue" },
{ "homedecor:wood_table_small_square","homedecor:wood_table_small_square","homedecor:wood_table_small_square" },
{ "default:steel_ingot","","default:steel_ingot" }
},
})
minetest.register_craft({
output = "homedecor:tool_cabinet",
recipe = {
{ "basic_materials:motor", "default:axe_steel", "default:pick_steel" },
{ "default:steel_ingot", "homedecor:drawer_small", "default:steel_ingot" },
{ "default:steel_ingot", "homedecor:drawer_small", "default:steel_ingot" }
},
})
minetest.register_craft({
output = "homedecor:spiral_staircase",
recipe = {
{ "default:steelblock", "homedecor:pole_wrought_iron", "" },
{ "", "homedecor:pole_wrought_iron", "default:steelblock" },
{ "default:steelblock", "homedecor:pole_wrought_iron", "" }
},
})
minetest.register_craftitem(":homedecor:flower_pot_small", {
description = S("Small Flower Pot"),
inventory_image = "homedecor_flowerpot_small_inv.png"
})
minetest.register_craft( {
output = "homedecor:flower_pot_small",
recipe = {
{ "default:clay_brick", "", "default:clay_brick" },
{ "", "default:clay_brick", "" }
}
})
minetest.register_craft( {
output = "homedecor:flower_pot_small 3",
recipe = { { "homedecor:flower_pot_terracotta" } }
})
for i in ipairs(homedecor.banister_materials) do
local name = homedecor.banister_materials[i][1]
local topmat = homedecor.banister_materials[i][5]
local vertmat = homedecor.banister_materials[i][6]
local dye1 = homedecor.banister_materials[i][7]
local dye2 = homedecor.banister_materials[i][8]
minetest.register_craft({
output = "homedecor:banister_"..name.."_horizontal 2",
recipe = {
{ topmat, "", dye1 },
{ vertmat, topmat, "" },
{ dye2, vertmat, topmat }
},
})
end
unifieddyes.register_color_craft({
output = "",
palette = "split",
neutral_node = "homedecor:banister_wood_horizontal",
type = "shapeless",
output_prefix = "homedecor:banister_wood_horizontal_",
output_suffix = "",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE",
}
})

View File

Before

Width:  |  Height:  |  Size: 165 B

After

Width:  |  Height:  |  Size: 165 B

Some files were not shown because too many files have changed in this diff Show More