1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2025-06-28 14:16:06 +02:00

Update home decor and plantlife

more mesh on homedecor, and important performance upgrade for plantlife
This commit is contained in:
Ombridride
2015-03-02 21:55:02 +01:00
parent 989b94df71
commit ef8497f9b2
2267 changed files with 3507 additions and 586 deletions

0
mods/homedecor_modpack/homedecor/LICENSE Normal file → Executable file
View File

View File

View File

View File

@ -0,0 +1,151 @@
local S = homedecor.gettext
local bookcolors = {
"red",
"green",
"blue",
"violet",
"grey",
"brown"
}
local BOOK_FORMNAME = "homedecor:book_form"
for c in ipairs(bookcolors) do
local color = bookcolors[c]
local color_d = S(bookcolors[c])
local function book_dig(pos, node, digger)
if minetest.is_protected(pos, digger:get_player_name()) then return end
local meta = minetest.get_meta(pos)
local stack = ItemStack({
name = "homedecor:book_"..color,
metadata = meta:get_string("text"),
})
stack = digger:get_inventory():add_item("main", stack)
if not stack:is_empty() then
minetest.item_drop(stack, digger, pos)
end
minetest.remove_node(pos)
end
homedecor.register("book_"..color, {
description = S("Book (%s)"):format(color_d),
mesh = "homedecor_book.obj",
tiles = { "homedecor_book_"..color..".png" },
inventory_image = "homedecor_book_"..color.."_inv.png",
wield_image = "homedecor_book_"..color.."_inv.png",
groups = { snappy=3, oddly_breakable_by_hand=3, book=1 },
stack_max = 1,
on_rightclick = function(pos, node, clicker)
local fdir = node.param2
minetest.swap_node(pos, { name = "homedecor:book_open_"..color, param2 = fdir })
end,
on_place = function(itemstack, placer, pointed_thing)
local plname = placer:get_player_name()
local pos = pointed_thing.under
local node = minetest.get_node(pos)
local n = minetest.registered_nodes[node.name]
if not n.buildable_to then
pos = pointed_thing.above
node = minetest.get_node(pos)
n = minetest.registered_nodes[node.name]
if not n.buildable_to then return end
end
if minetest.is_protected(pos, plname) then return end
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
minetest.set_node(pos, {
name = "homedecor:book_"..color,
param2 = fdir,
})
local text = itemstack:get_metadata() or ""
local meta = minetest.get_meta(pos)
meta:set_string("text", text)
local data = minetest.deserialize(text) or {}
if data.title and data.title ~= "" then
meta:set_string("infotext", data.title)
end
if not minetest.setting_getbool("creative_mode") then
itemstack:take_item()
end
return itemstack
end,
on_dig = book_dig,
on_use = function(itemstack, user, pointed_thing)
local player_name = user:get_player_name()
local data = minetest.deserialize(itemstack:get_metadata())
local title, text, owner = "", "", player_name
if data then
title, text, owner = data.title, data.text, data.owner
end
local formspec
if owner == player_name then
formspec = "size[8,8]"..default.gui_bg..default.gui_bg_img..
"field[0.5,1;7.5,0;title;Book title :;"..
minetest.formspec_escape(title).."]"..
"textarea[0.5,1.5;7.5,7;text;Book content :;"..
minetest.formspec_escape(text).."]"..
"button_exit[2.5,7.5;3,1;save;Save]"
else
formspec = "size[8,8]"..default.gui_bg..
"button_exit[7,0.25;1,0.5;close;X]"..
default.gui_bg_img..
"label[0.5,0.5;by "..owner.."]"..
"label[0.5,0;"..minetest.formspec_escape(title).."]"..
"textarea[0.5,1.5;7.5,7;;"..minetest.formspec_escape(text)..";]"
end
minetest.show_formspec(user:get_player_name(), BOOK_FORMNAME, formspec)
end,
selection_box = {
type = "fixed",
fixed = {-0.2, -0.5, -0.25, 0.2, -0.35, 0.25}
},
collision_box = {
type = "fixed",
fixed = {-0.15, -0.5, -0.25, 0.15, -0.35, 0.25}
},
})
homedecor.register("book_open_"..color, {
mesh = "homedecor_book_open.obj",
tiles = { "homedecor_book_open_"..color..".png" },
groups = { snappy=3, oddly_breakable_by_hand=3, not_in_creative_inventory=1 },
drop = "homedecor:book_"..color,
on_dig = book_dig,
on_rightclick = function(pos, node, clicker)
local fdir = node.param2
minetest.swap_node(pos, { name = "homedecor:book_"..color, param2 = fdir })
minetest.sound_play("homedecor_book_close", {
pos=pos,
max_hear_distance = 3,
gain = 2,
})
end,
selection_box = {
type = "fixed",
fixed = {-0.35, -0.5, -0.25, 0.35, -0.4, 0.25}
},
collision_box = {
type = "fixed",
fixed = {-0.35, -0.5, -0.25, 0.35, -0.4, 0.25}
},
})
end
minetest.register_on_player_receive_fields(function(player, form_name, fields)
if form_name ~= BOOK_FORMNAME or not fields.save then
return
end
local stack = player:get_wielded_item()
if minetest.get_item_group(stack:get_name(), "book") == 0 then
return
end
local data = minetest.deserialize(stack:get_metadata()) or {}
data.title, data.text, data.owner =
fields.title, fields.text, player:get_player_name()
stack:set_metadata(minetest.serialize(data))
player:set_wielded_item(stack)
minetest.log("action", player:get_player_name().." has written in a book (title: \""..fields.title.."\"): \""..fields.text..
"\" at location: "..minetest.pos_to_string(player:getpos()))
end)

0
mods/homedecor_modpack/homedecor/changelog.txt Normal file → Executable file
View File

0
mods/homedecor_modpack/homedecor/climate-control.lua Normal file → Executable file
View File

70
mods/homedecor_modpack/homedecor/clocks.lua Normal file → Executable file
View File

@ -1,46 +1,32 @@
homedecor.register("analog_clock_plastic", {
description = "Analog clock (plastic)",
mesh = "homedecor_analog_clock.obj",
tiles = { "homedecor_analog_clock_plastic.png" },
inventory_image = "homedecor_analog_clock_plastic_inv.png",
collision_box = {
type = "fixed",
fixed = {
{ -8/32, -3/32, 15/32, 8/32, 3/32, 16/32 },
{ -7/32, -5/32, 15/32, 7/32, 5/32, 16/32 },
{ -6/32, -6/32, 15/32, 6/32, 6/32, 16/32 },
{ -5/32, -7/32, 15/32, 5/32, 7/32, 16/32 },
{ -3/32, -8/32, 15/32, 3/32, 8/32, 16/32 }
}
},
selection_box = {
type = "fixed",
fixed = { -8/32, -8/32, 15/32, 8/32, 8/32, 16/32 }
},
groups = {snappy=3},
})
local clock_cbox = {
type = "fixed",
fixed = {
{ -8/32, -3/32, 14/32, 8/32, 3/32, 16/32 },
{ -7/32, -5/32, 14/32, 7/32, 5/32, 16/32 },
{ -6/32, -6/32, 14/32, 6/32, 6/32, 16/32 },
{ -5/32, -7/32, 14/32, 5/32, 7/32, 16/32 },
{ -3/32, -8/32, 14/32, 3/32, 8/32, 16/32 }
}
}
homedecor.register("analog_clock_wood", {
description = "Analog clock (wood)",
mesh = "homedecor_analog_clock.obj",
tiles = { "homedecor_analog_clock_wood.png" },
inventory_image = "homedecor_analog_clock_wood_inv.png",
collision_box = {
type = "fixed",
fixed = {
{ -8/32, -3/32, 15/32, 8/32, 3/32, 16/32 },
{ -7/32, -5/32, 15/32, 7/32, 5/32, 16/32 },
{ -6/32, -6/32, 15/32, 6/32, 6/32, 16/32 },
{ -5/32, -7/32, 15/32, 5/32, 7/32, 16/32 },
{ -3/32, -8/32, 15/32, 3/32, 8/32, 16/32 }
}
},
selection_box = {
type = "fixed",
fixed = { -8/32, -8/32, 15/32, 8/32, 8/32, 16/32 }
},
groups = {snappy=3},
})
local clock_sbox = {
type = "fixed",
fixed = { -8/32, -8/32, 14/32, 8/32, 8/32, 16/32 }
}
local materials = {"plastic", "wood"}
for _, m in ipairs(materials) do
homedecor.register("analog_clock_"..m, {
description = "Analog clock ("..m..")",
mesh = "homedecor_analog_clock.obj",
tiles = { "homedecor_analog_clock_"..m..".png" },
inventory_image = "homedecor_analog_clock_"..m.."_inv.png",
collision_box = clock_cbox,
selection_box = clock_sbox,
groups = {snappy=3},
})
end
homedecor.register("digital_clock", {
description = "Digital clock",

0
mods/homedecor_modpack/homedecor/cobweb.lua Normal file → Executable file
View File

0
mods/homedecor_modpack/homedecor/copyright.txt Normal file → Executable file
View File

31
mods/homedecor_modpack/homedecor/crafts.lua Normal file → Executable file
View File

@ -1281,7 +1281,7 @@ minetest.register_craft({
-- Wrought-iron wall latern
minetest.register_craft({
output = "homedecor:wall_lantern 4",
output = "homedecor:ground_lantern",
recipe = {
{ "default:iron_lump", "default:iron_lump", "default:iron_lump" },
{ "default:iron_lump", "default:torch", "default:iron_lump" },
@ -1361,6 +1361,15 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "homedecor:glowlight_half_yellow",
type = "shapeless",
recipe = {
"homedecor:glowlight_quarter_yellow",
"homedecor:glowlight_quarter_yellow"
}
})
-- white
minetest.register_craft({
@ -1428,6 +1437,17 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "homedecor:glowlight_half_white",
type = "shapeless",
recipe = {
"homedecor:glowlight_quarter_white",
"homedecor:glowlight_quarter_white"
}
})
----
minetest.register_craft({
output = "homedecor:plasma_lamp",
recipe = {
@ -3010,6 +3030,15 @@ for _, color in ipairs(dlamp_colors) do
})
end
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", "", "" },
},
})
if (minetest.get_modpath("technic") and minetest.get_modpath("dye") and minetest.get_modpath("bees")) then
technic.register_separating_recipe({ input = {"bees:wax 1"}, output = {"homedecor:oil_extract 2","dye:yellow 1"} })
end

0
mods/homedecor_modpack/homedecor/depends.txt Normal file → Executable file
View File

0
mods/homedecor_modpack/homedecor/door_models.lua Normal file → Executable file
View File

0
mods/homedecor_modpack/homedecor/doors_and_gates.lua Normal file → Executable file
View File

0
mods/homedecor_modpack/homedecor/electronics.lua Normal file → Executable file
View File

View File

@ -0,0 +1,560 @@
local S = homedecor.gettext
dofile(homedecor.modpath.."/furniture.lua")
homedecor.register("barbecue", {
description = "Barbecue",
tiles = {
{name="homedecor_barbecue_top.png", animation={type="vertical_frames",
aspect_w=16, aspect_h=16, length=2}},
"forniture_black_metal.png",
},
groups = { snappy=3 },
light_source = 9,
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.25, -0.4375, 0.0625, 0.3125}, -- NodeBox1
{0.4375, -0.5, 0.25, 0.5, 0.0625, 0.3125}, -- NodeBox2
{-0.5, -0.5, -0.3125, -0.4375, 0.0625, -0.25}, -- NodeBox3
{0.4375, -0.5, -0.3125, 0.5, 0.0625, -0.25}, -- NodeBox4
{-0.5, 0.0625, -0.3125, 0.5, 0.375, 0.3125}, -- NodeBox5
{-0.375, 0.5, -0.25, -0.313, 0.5, 0.251}, -- NodeBox6
{-0.25, 0.5, -0.25, -0.188, 0.5, 0.251}, -- NodeBox7
{-0.125, 0.5, -0.25, -0.063, 0.5, 0.251}, -- NodeBox8
{0, 0.5, -0.25, 0.062, 0.5, 0.251}, -- NodeBox9
{0.125, 0.5, -0.25, 0.187, 0.5, 0.251}, -- NodeBox10
{0.25, 0.5, -0.25, 0.312, 0.5, 0.251}, -- NodeBox11
{0.375, 0.5, -0.25, 0.437, 0.5, 0.251}, -- NodeBox12
{-0.5, 0.375, 0.251, 0.5, 0.5, 0.3125}, -- NodeBox13
{-0.5, 0.0625, -0.3125, 0.5, 0.5, -0.25}, -- NodeBox14
{-0.5, 0.0625, -0.3125, -0.438, 0.5, 0.3125}, -- NodeBox15
{0.4375, 0.0625, -0.3125, 0.5, 0.5, 0.3125}, -- NodeBox16
}
},
selection_box = {
type = "fixed",
fixed = { -0.5, -0.5, -0.3125, 0.5, 0.625, 0.3125 }
},
expand = { top="homedecor:barbecue_meat" },
})
homedecor.register("barbecue_meat", {
tiles = {
"homedecor_barbecue_meat.png",
},
groups = { snappy=3, not_in_creative_inventory=1 },
node_box = {
type = "fixed",
fixed = {
{-0.25, -0.5, -0.125, -0.0625, -0.4375, 0.125}, -- NodeBox1
{0.125, -0.5, -0.125, 0.3125, -0.4375, 0.125}, -- NodeBox2
}
},
selection_box = homedecor.nodebox.null
})
homedecor.register("bench_large_1_left", {
description = "Garden Bench (style 1)",
tiles = {
"homedecor_bench_large_1_left_top.png",
"homedecor_bench_large_1_left_bottom.png",
"homedecor_bench_large_1_ends.png^[transformFX",
"homedecor_bench_large_1_ends.png",
"homedecor_bench_large_1_left_back.png",
"homedecor_bench_large_1_left_front.png"
},
inventory_image = "homedecor_bench_large_1_inv.png",
groups = {snappy=3},
node_box = {
type = "fixed",
fixed = {
{-0.5, 0.25, 0.375, 0.5, 0.4375, 0.4375}, -- NodeBox1
{-0.5, 0, 0.375, 0.5, 0.1875, 0.4375}, -- NodeBox2
{-0.5, -0.125, 0.115, 0.5, -0.0625, 0.35}, -- NodeBox3
{-0.5, -0.125, -0.0872, 0.5, -0.0625, 0.079}, -- NodeBox4
{-0.3125, -0.5, 0.4375, -0.25, 0.375, 0.5}, -- NodeBox5
{-0.3125, -0.25, -0.0625, -0.25, -0.125, 0.4375}, -- NodeBox6
{-0.3125, -0.5, -0.0625, -0.25, -0.25, 0}, -- NodeBox7
}
},
selection_box = {
type = "fixed",
fixed = { -0.5, -0.5, -0.09375, 1.5, 0.5, 0.5 }
},
expand = { right="homedecor:bench_large_1_right" },
on_rightclick = function(pos, node, clicker)
pos.y = pos.y-0 -- player's sit position.
homedecor.sit_exec(pos, node, clicker)
end,
})
homedecor.register("bench_large_1_right", {
tiles = {
"homedecor_bench_large_1_left_top.png^[transformFX",
"homedecor_bench_large_1_left_bottom.png^[transformFX",
"homedecor_bench_large_1_ends.png^[transformFX",
"homedecor_bench_large_1_ends.png",
"homedecor_bench_large_1_left_back.png^[transformFX",
"homedecor_bench_large_1_left_front.png^[transformFX"
},
groups = {snappy=3},
node_box = {
type = "fixed",
fixed = {
{-0.5, 0.25, 0.375, 0.5, 0.4375, 0.4375}, -- NodeBox1
{-0.5, 0, 0.375, 0.5, 0.1875, 0.4375}, -- NodeBox2
{-0.5, -0.125, 0.115, 0.5, -0.0625, 0.35}, -- NodeBox3
{-0.5, -0.125, -0.0872, 0.5, -0.0625, 0.079}, -- NodeBox4
{0.25, -0.5, 0.4375, 0.3125, 0.375, 0.5}, -- NodeBox5
{0.25, -0.25, -0.0625, 0.3125, -0.125, 0.5}, -- NodeBox6
{0.25, -0.5, -0.0625, 0.3125, -0.25, 0}, -- NodeBox7
}
},
selection_box = homedecor.nodebox.null,
})
homedecor.register("bench_large_2_left", {
description = "Garden Bench (style 2)",
tiles = {
"homedecor_generic_wood.png",
"homedecor_generic_wood.png",
"homedecor_generic_wood.png",
"homedecor_generic_wood.png",
"homedecor_bench_large_2_left_back.png",
"homedecor_bench_large_2_left_back.png^[transformFX"
},
inventory_image = "homedecor_bench_large_2_inv.png",
groups = {snappy=3},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0.375, -0.375, 0.5, 0.5}, -- NodeBox1
{-0.375, 0.3125, 0.4375, 0.5, 0.4375, 0.5}, -- NodeBox2
{-0.375, -0.0625, 0.4375, 0.5, 0.0625, 0.5}, -- NodeBox3
{-0.3125, 0.0625, 0.45, -0.25, 0.3125, 0.48}, -- NodeBox4
{-0.1875, 0.0625, 0.45, -0.125, 0.3125, 0.48}, -- NodeBox5
{-0.0625, 0.0625, 0.45, 0, 0.3125, 0.48}, -- NodeBox6
{0.0625, 0.0625, 0.45, 0.125, 0.3125, 0.48}, -- NodeBox7
{0.1875, 0.0625, 0.45, 0.25, 0.3125, 0.48}, -- NodeBox8
{0.3125, 0.0625, 0.45, 0.375, 0.3125, 0.48}, -- NodeBox9
{0.4375, 0.0625, 0.45, 0.5, 0.3125, 0.48}, -- NodeBox10
{-0.5, 0.0625, -0.145362, -0.375, 0.125, 0.375}, -- NodeBox11
{-0.5, -0.5, -0.0625, -0.375, 0.0625, 0.0625}, -- NodeBox12
{-0.4375, -0.125, -0.0625, 0.5, -0.0911603, 0.4375}, -- NodeBox13
{-0.4375, -0.4375, 0.0625, -0.375, -0.3125, 0.375}, -- NodeBox14
{-0.375, -0.342324, 0.25, 0.5, -0.4375, 0.1875}, -- NodeBox15
{-0.5, -0.25, -0.0290173, 0.5, -0.125, 0.0125346}, -- NodeBox16
}
},
selection_box = {
type = "fixed",
fixed = { -0.5, -0.5, -0.15625, 1.5, 0.5, 0.5 }
},
expand = { right="homedecor:bench_large_2_right" },
on_rightclick = function(pos, node, clicker)
pos.y = pos.y-0 -- player's sit position.
homedecor.sit_exec(pos, node, clicker)
end,
})
homedecor.register("bench_large_2_right", {
tiles = {
"homedecor_generic_wood.png",
"homedecor_generic_wood.png",
"homedecor_generic_wood.png",
"homedecor_generic_wood.png",
"homedecor_bench_large_2_right_back.png",
"homedecor_bench_large_2_right_back.png^[transformFX"
},
groups = {snappy=3},
node_box = {
type = "fixed",
fixed = {
{0.375, -0.5, 0.375, 0.5, 0.5, 0.5}, -- NodeBox1
{-0.5, 0.3125, 0.4375, 0.375, 0.4375, 0.5}, -- NodeBox2
{-0.5, -0.0625, 0.4375, 0.375, 0.0625, 0.5}, -- NodeBox3
{-0.5, 0.0625, 0.45, -0.4375, 0.3125, 0.48}, -- NodeBox4
{-0.375, 0.0625, 0.45, -0.3125, 0.3125, 0.48}, -- NodeBox5
{-0.25, 0.0625, 0.45, -0.1875, 0.3125, 0.48}, -- NodeBox6
{-0.125, 0.0625, 0.45, -0.0625, 0.3125, 0.48}, -- NodeBox7
{0, 0.0625, 0.45, 0.0625, 0.3125, 0.48}, -- NodeBox8
{0.125, 0.0625, 0.45, 0.1875, 0.3125, 0.48}, -- NodeBox9
{0.25, 0.0625, 0.45, 0.3125, 0.3125, 0.48}, -- NodeBox10
{0.375, 0.0625, -0.145362, 0.5, 0.125, 0.375}, -- NodeBox11
{0.375, -0.5, -0.0625, 0.5, 0.125, 0.0625}, -- NodeBox12
{0.375, -0.4375, 0.0625, 0.4375, -0.3125, 0.375}, -- NodeBox13
{-0.5, -0.4375, 0.1875, 0.375, -0.342324, 0.25}, -- NodeBox14
{-0.5, -0.125, -0.0625, 0.4375, -0.0911603, 0.4375}, -- NodeBox15
{-0.5, -0.25, -0.0290173, 0.5, -0.125, 0.0125346}, -- NodeBox16
}
},
selection_box = homedecor.nodebox.null,
})
homedecor.register("deckchair_head", {
tiles = {
"homedecor_deckchair_top_c1.png",
"homedecor_deckchair_sides.png",
"homedecor_deckchair_sides.png",
"homedecor_deckchair_sides.png^[transformFX",
"homedecor_deckchair_sides.png",
"homedecor_deckchair_front.png"
},
groups = { snappy = 3, not_in_creative_inventory = 1 },
node_box = {
type = "fixed",
fixed = {
{-0.375, -0.3125, -0.0625, 0.375, -0.25, 0}, -- NodeBox1
{-0.375, -0.25, 0, 0.375, -0.1875, 0.0625}, -- NodeBox2
{-0.375, -0.1875, 0.0625, 0.375, -0.125, 0.125}, -- NodeBox3
{-0.375, -0.125, 0.125, 0.375, -0.0625, 0.1875}, -- NodeBox4
{-0.375, -0.0625, 0.1875, 0.375, 0, 0.25}, -- NodeBox5
{-0.375, 0, 0.25, 0.375, 0.0625, 0.3125}, -- NodeBox6
{-0.375, 0.0625, 0.3125, 0.375, 0.125, 0.375}, -- NodeBox7
{-0.375, 0.125, 0.375, 0.375, 0.1875, 0.4375}, -- NodeBox8
{-0.375, 0.1875, 0.4375, 0.375, 0.25, 0.5}, -- NodeBox9
{-0.375, -0.375, -0.5, 0.375, -0.3125, 0.0625}, -- NodeBox10
{0.3125, -0.1875, -0.5, 0.4375, -0.1575, 0.0625}, -- NodeBox11
{-0.4375, -0.1875, -0.5, -0.3125, -0.1575, 0.0625}, -- NodeBox12
{0.3125, -0.5, 0, 0.375, -0.25, 0.0625}, -- NodeBox13
{-0.375, -0.5, 0, -0.3125, -0.25, 0.0625}, -- NodeBox14
}
},
selection_box = homedecor.nodebox.null
})
homedecor.register("deckchair_foot", {
tiles = {
"homedecor_deckchair_top_c2.png",
"homedecor_deckchair_sides.png",
"homedecor_deckchair_sides.png",
"homedecor_deckchair_sides.png^[transformFX",
"homedecor_deckchair_front.png"
},
description = "Deck chair",
inventory_image = "homedecor_deckchair_inv.png",
groups = { snappy = 3 },
node_box = {
type = "fixed",
fixed = {
{-0.375, -0.375, -0.5, 0.375, -0.3125, 0.5}, -- NodeBox1
{0.3125, -0.5, -0.5, 0.375, -0.375, -0.4375}, -- NodeBox2
{-0.375, -0.5, -0.5, -0.3125, -0.375, -0.4375}, -- NodeBox3
{0.3125, -0.1875, 0.3, 0.4375, -0.1575, 0.5}, -- NodeBox4
{-0.4375, -0.1875, 0.3, -0.3125, -0.1575, 0.5}, -- NodeBox5
{-0.365, -0.3125, 0.32, -0.3225, -0.1875, 0.4375}, -- NodeBox6
{0.3225, -0.3125, 0.32, 0.365, -0.1875, 0.4375}, -- NodeBox7
}
},
selection_box = {
type = "fixed",
fixed = { -0.45, -0.5, -0.5, 0.45, 0.35, 1.5 }
},
expand = { forward="homedecor:deckchair_head" },
})
homedecor.register("doghouse_base", {
tiles = {
"homedecor_doghouse_base_top.png",
"homedecor_doghouse_base_bottom.png",
"homedecor_doghouse_base_side.png",
"homedecor_doghouse_base_side.png",
"homedecor_doghouse_base_side.png",
"homedecor_doghouse_base_front.png"
},
description = "Doghouse",
inventory_image = "homedecor_doghouse_inv.png",
node_box = {
type = "fixed",
fixed = {
{0.3125, -0.5, -0.4375, 0.4375, -0.3125, -0.3125}, -- NodeBox1
{0.3125, -0.5, 0.3125, 0.4375, -0.3125, 0.4375}, -- NodeBox2
{-0.4375, -0.5, 0.3125, -0.3125, -0.3125, 0.4375}, -- NodeBox3
{-0.4375, -0.5, -0.4375, -0.3125, -0.3125, -0.3125}, -- NodeBox4
{-0.4375, -0.3125, -0.4375, -0.375, 0.5, 0.4375}, -- NodeBox5
{-0.4375, 0.3125, -0.375, 0.4375, 0.5, -0.3125}, -- NodeBox6
{-0.4375, -0.3125, -0.4375, 0.4375, -0.25, 0.4375}, -- NodeBox7
{-0.375, -0.3125, -0.375, -0.1875, 0.4375, -0.3125}, -- NodeBox8
{0.1875, -0.3125, -0.375, 0.4375, 0.5, -0.3125}, -- NodeBox9
{0.375, -0.25, -0.4375, 0.4375, 0.5, 0.4375}, -- NodeBox10
{-0.4375, -0.3125, 0.375, 0.4375, 0.5, 0.4375}, -- NodeBox11
}
},
selection_box = homedecor.nodebox.slab_y(1.5),
groups = {snappy=3},
expand = { top="homedecor:doghouse_roof" },
})
homedecor.register("doghouse_roof", {
tiles = {
"homedecor_doghouse_roof_top.png",
"homedecor_doghouse_roof_bottom.png",
"homedecor_doghouse_roof_side.png",
"homedecor_doghouse_roof_side.png",
"homedecor_doghouse_roof_front.png",
"homedecor_doghouse_roof_front.png"
},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, -0.4375, -0.4375, 0.5}, -- NodeBox17
{-0.4375, -0.4375, -0.5, -0.375, -0.375, 0.5}, -- NodeBox18
{-0.375, -0.375, -0.5, -0.3125, -0.3125, 0.5}, -- NodeBox19
{-0.3125, -0.3125, -0.5, -0.25, -0.25, 0.5}, -- NodeBox20
{-0.25, -0.25, -0.5, -0.1875, -0.1875, 0.5}, -- NodeBox21
{-0.1875, -0.1875, -0.5, -0.125, -0.125, 0.5}, -- NodeBox22
{-0.125, -0.125, -0.5, -0.0625, -0.0625, 0.5}, -- NodeBox23
{-0.0625, -0.0625, -0.5, 0.0625, 0, 0.5}, -- NodeBox24
{0.0625, -0.125, -0.5, 0.125, -0.0625, 0.5}, -- NodeBox25
{0.125, -0.1875, -0.5, 0.1875, -0.125, 0.5}, -- NodeBox26
{0.1875, -0.25, -0.5, 0.25, -0.1875, 0.5}, -- NodeBox27
{0.25, -0.3125, -0.5, 0.3125, -0.25, 0.5}, -- NodeBox28
{0.3125, -0.375, -0.5, 0.375, -0.3125, 0.5}, -- NodeBox29
{0.375, -0.4375, -0.5, 0.4375, -0.375, 0.5}, -- NodeBox30
{0.4375, -0.5, -0.5, 0.5, -0.4375, 0.5}, -- NodeBox31
{-0.4375, -0.5, -0.375, 0.4375, -0.4375, 0.4375}, -- NodeBox32
{-0.375, -0.4375, -0.375, 0.375, -0.375, 0.4375}, -- NodeBox33
{-0.3125, -0.375, -0.375, 0.3125, -0.3125, 0.4375}, -- NodeBox34
{-0.25, -0.3125, -0.375, 0.25, -0.25, 0.4375}, -- NodeBox35
{-0.1875, -0.25, -0.375, 0.1875, -0.1875, 0.4375}, -- NodeBox36
{-0.125, -0.1875, -0.375, 0.125, -0.125, 0.4375}, -- NodeBox37
{0.0625, -0.125, -0.375, -0.0625, -0.0625, 0.4375}, -- NodeBox38
}
},
selection_box = homedecor.nodebox.null,
groups = {snappy=3, not_in_creative_inventory=1},
})
homedecor.register("simple_bench", {
tiles = {
"homedecor_generic_wood.png",
"homedecor_generic_wood.png",
"homedecor_generic_wood.png",
"homedecor_generic_wood.png",
"homedecor_bench_large_2_left_back.png",
"homedecor_bench_large_2_left_back.png^[transformFX"
},
description = "Simple Bench",
groups = {snappy=3},
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.15, 0, 0.5, -0.05, 0.4},
{-0.4, -0.5, 0.1, -0.3, -0.15, 0.3},
{ 0.3, -0.5, 0.1, 0.4, -0.15, 0.3},
}
},
on_rightclick = function(pos, node, clicker)
pos.y = pos.y-0 -- player's sit position.
homedecor.sit_exec(pos, node, clicker)
end,
})
homedecor.register("stonepath", {
description = "Garden stone path",
tiles = {
"default_stone.png"
},
inventory_image = "homedecor_stonepath_inv.png",
groups = { snappy=3 },
node_box = {
type = "fixed",
fixed = {
{-0.4375, -0.5, 0.3125, -0.3125, -0.48, 0.4375}, -- NodeBox1
{-0.25, -0.5, 0.125, 0, -0.48, 0.375}, -- NodeBox2
{0.125, -0.5, 0.125, 0.4375, -0.48, 0.4375}, -- NodeBox3
{-0.4375, -0.5, -0.125, -0.25, -0.48, 0.0625}, -- NodeBox4
{-0.0625, -0.5, -0.25, 0.25, -0.48, 0.0625}, -- NodeBox5
{0.3125, -0.5, -0.25, 0.4375, -0.48, -0.125}, -- NodeBox6
{-0.3125, -0.5, -0.375, -0.125, -0.48, -0.1875}, -- NodeBox7
{0.125, -0.5, -0.4375, 0.25, -0.48, -0.3125}, -- NodeBox8
}
},
selection_box = {
type = "fixed",
fixed = { -0.4375, -0.5, -0.4375, 0.4375, -0.4, 0.4375 }
}
})
homedecor.register("swing", {
description = "Tree's swing",
tiles = {
"homedecor_swing_top.png",
"homedecor_swing_top.png^[transformR180",
"homedecor_swing_top.png"
},
inventory_image = "homedecor_swing_inv.png",
groups = { snappy=3, oddly_breakable_by_hand=3 },
node_box = {
type = "fixed",
fixed = {
{-0.3125, 0.33, -0.125, 0.3125, 0.376, 0.1875}, -- NodeBox1
{-0.3125, 0.376, 0.025, -0.3, 0.5, 0.0375}, -- NodeBox2
{ 0.3, 0.376, 0.025, 0.3125, 0.5, 0.0375}, -- NodeBox3
}
},
selection_box = {
type = "fixed",
fixed = { -0.3125, 0.33, -0.125, 0.3125, 0.5, 0.1875 }
},
on_place = function(itemstack, placer, pointed_thing)
isceiling, pos = homedecor.find_ceiling(itemstack, placer, pointed_thing)
if isceiling then
local height = 0
for i = 0, 4 do -- search up to 5 spaces downward from the ceiling for the first non-buildable-to node...
height = i
local testpos = { x=pos.x, y=pos.y-i-1, z=pos.z }
local testnode = minetest.get_node(testpos)
local testreg = core.registered_nodes[testnode.name]
if not testreg.buildable_to then
if i < 1 then
minetest.chat_send_player(placer:get_player_name(), "No room under there to hang a swing.")
return
else
break
end
end
end
for j = 0, height do -- then fill that space with ropes...
local testpos = { x=pos.x, y=pos.y-j, z=pos.z }
local testnode = minetest.get_node(testpos)
local testreg = core.registered_nodes[testnode.name]
minetest.set_node(testpos, { name = "homedecor:swing_rope", param2 = fdir })
end
minetest.set_node({ x=pos.x, y=pos.y-height, z=pos.z }, { name = "homedecor:swing", param2 = fdir })
if not homedecor.expect_infinite_stacks then
itemstack:take_item()
return itemstack
end
else
minetest.chat_send_player(placer:get_player_name(), "You have to point at the bottom side of an overhanging object to place a swing.")
end
end,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
for i = 0, 4 do
local testpos = { x=pos.x, y=pos.y+i+1, z=pos.z }
if minetest.get_node(testpos).name == "homedecor:swing_rope" then
minetest.remove_node(testpos)
else
return
end
end
end
})
homedecor.register("swing_rope", {
tiles = {
"homedecor_swingrope_sides.png"
},
groups = { not_in_creative_inventory=1 },
node_box = {
type = "fixed",
fixed = {
{-0.3125, -0.5, 0.025, -0.3, 0.5, 0.0375}, -- NodeBox1
{0.3, -0.5, 0.025, 0.3125, 0.5, 0.0375}, -- NodeBox2
}
},
selection_box = homedecor.nodebox.null
})
homedecor.register("well_base", {
tiles = {
"homedecor_well_base_top.png",
"default_cobble.png"
},
inventory_image = "homedecor_well_inv.png",
description = "Water well",
groups = { snappy = 3 },
node_box = {
type = "fixed",
fixed = {
{-0.3125, -0.5, -0.4375, 0.3125, 0.5, -0.3125}, -- NodeBox1
{0.3125, -0.5, -0.3125, 0.4375, 0.5, 0.3125}, -- NodeBox2
{-0.4375, -0.5, -0.3125, -0.3125, 0.5, 0.3125}, -- NodeBox3
{-0.3125, -0.5, 0.3125, 0.3125, 0.5, 0.4375}, -- NodeBox4
{0.25, -0.5, -0.375, 0.375, 0.5, -0.25}, -- NodeBox5
{0.25, -0.5, 0.25, 0.375, 0.5, 0.375}, -- NodeBox6
{-0.375, -0.5, -0.375, -0.25, 0.5, -0.25}, -- NodeBox7
{-0.375, -0.5, 0.25, -0.25, 0.5, 0.375}, -- NodeBox8
{-0.3125, -0.5, -0.5, 0.3125, -0.3125, -0.4375}, -- NodeBox9
{0.4375, -0.5, -0.3125, 0.5, -0.3125, 0.3125}, -- NodeBox10
{-0.3125, -0.5, 0.4375, 0.3125, -0.3125, 0.5}, -- NodeBox11
{-0.5, -0.5, -0.3125, -0.4375, -0.3125, 0.3125}, -- NodeBox12
{0.3125, -0.5, -0.4375, 0.4375, -0.3125, -0.3125}, -- NodeBox13
{0.3125, -0.5, 0.3125, 0.4375, -0.3125, 0.4375}, -- NodeBox14
{-0.4375, -0.5, 0.3125, -0.3125, -0.3125, 0.4375}, -- NodeBox15
{-0.4375, -0.5, -0.4375, -0.3125, -0.3125, -0.3125}, -- NodeBox16
{-0.3125, -0.5, -0.3125, 0.3125, 0, 0.3125}, -- NodeBox17
}
},
selection_box = homedecor.nodebox.slab_y(2),
expand = { top="homedecor:well_top" },
})
homedecor.register("well_top", {
tiles = {
"homedecor_well_roof_top.png",
"homedecor_well_roof_wood.png",
"homedecor_well_roof_side3.png",
"homedecor_well_roof_side3.png",
"homedecor_well_roof_side2.png",
"homedecor_well_roof_side1.png"
},
groups = { snappy = 3 },
node_box = {
type = "fixed",
fixed = {
{-0.0625, -0.5, 0.375, 0.0625, 0.4375, 0.4375}, -- NodeBox1
{-0.0625, -0.5, -0.4375, 0.0625, 0.4375, -0.375}, -- NodeBox2
{-0.125, 0.375, -0.5, 0.125, 0.4375, 0.5}, -- NodeBox3
{0.125, 0.3125, -0.5, 0.1875, 0.375, 0.5}, -- NodeBox4
{-0.1875, 0.3125, -0.5, -0.125, 0.375, 0.5}, -- NodeBox5
{0.1875, 0.25, -0.5, 0.25, 0.3125, 0.5}, -- NodeBox6
{-0.25, 0.25, -0.5, -0.1875, 0.3125, 0.5}, -- NodeBox7
{0.25, 0.1875, -0.5, 0.3125, 0.25, 0.5}, -- NodeBox8
{-0.3125, 0.1875, -0.5, -0.25, 0.25, 0.5}, -- NodeBox9
{0.3125, 0.125, -0.5, 0.375, 0.1875, 0.5}, -- NodeBox10
{-0.375, 0.125, -0.5, -0.3125, 0.1875, 0.5}, -- NodeBox11
{0.375, 0.0625, -0.5, 0.4375, 0.125, 0.5}, -- NodeBox12
{-0.375, 0.0625, -0.5, -0.4375, 0.125, 0.5}, -- NodeBox13
{0.4375, 0, -0.5, 0.5, 0.0625, 0.5}, -- NodeBox14
{-0.5, 0, -0.5, -0.4375, 0.0625, 0.5}, -- NodeBox15
{-0.0625, 0.4375, -0.5, 0.0625, 0.5, 0.5}, -- NodeBox16
{-0.125, 0.125, -0.4375, 0.125, 0.1875, -0.375}, -- NodeBox17
{0.125, 0.1875, -0.4375, 0.1875, 0.25, -0.375}, -- NodeBox18
{-0.1875, 0.1875, -0.4375, -0.125, 0.25, -0.375}, -- NodeBox19
{-0.125, 0.125, 0.375, 0.125, 0.1875, 0.4375}, -- NodeBox20
{0.125, 0.1875, 0.375, 0.1875, 0.25, 0.4375}, -- NodeBox21
{-0.1875, 0.1875, 0.375, -0.125, 0.25, 0.4375}, -- NodeBox22
{-0.0165975, -0.159751, -0.375, 0.0165974, -0.125, 0.375}, -- NodeBox23
{-0.00414942, -0.465, -0.008299, 0.008299, -0.159751, 0.004149}, -- NodeBox24
{-0.0625, -0.0625, -0.5, 0.0625, 0, -0.4646}, -- NodeBox25
{0.0625, -0.125, -0.5, 0.125, -0.0625, -0.4646}, -- NodeBox26
{0.125, -0.25, -0.5, 0.1875, -0.125, -0.4646}, -- NodeBox27
{0.0625, -0.3125, -0.5, 0.125, -0.25, -0.4646}, -- NodeBox28
{-0.0625, -0.375, -0.5, 0.0625, -0.3125, -0.4646}, -- NodeBox29
{-0.0625, -0.3125, -0.5, -0.125, -0.25, -0.4646}, -- NodeBox30
{-0.1875, -0.25, -0.5, -0.125, -0.125, -0.4646}, -- NodeBox31
{-0.125, -0.125, -0.5, -0.0625, -0.0625, -0.4646}, -- NodeBox32
{-0.016598, -0.3125, -0.48, 0.020747, -0.0625, -0.49}, -- NodeBox33
{-0.125, -0.209544, -0.48, 0.125, -0.172199, -0.49}, -- NodeBox34
{-0.0165975, -0.200, -0.477178, 0.020747, -0.175349, -0.435685}, -- NodeBox35
{0.1, -0.75, -0.125, 0.125, -0.5, 0.125}, -- NodeBox36
{-0.125, -0.75, -0.125, -0.1, -0.5, 0.125}, -- NodeBox37
{-0.125, -0.75, -0.125, 0.125, -0.729253, 0.125}, -- NodeBox38
{-0.125, -0.75, -0.125, 0.125, -0.5, -0.1}, -- NodeBox39
{-0.125, -0.75, 0.1, 0.125, -0.5, 0.125}, -- NodeBox40
{-0.0165975,-0.465, -0.125, 0.0165974, -0.451245, 0.125}, -- NodeBox41
{-0.0165975, -0.51, 0.112033, 0.0165974, -0.46, 0.125}, -- NodeBox42
{-0.0165975, -0.51, -0.125, 0.0165974, -0.46, -0.112033}, -- NodeBox43
}
},
selection_box = homedecor.nodebox.null,
})

63
mods/homedecor_modpack/homedecor/fences.lua Normal file → Executable file
View File

@ -15,22 +15,15 @@ if signs_modpath then
end
local S = homedecor.gettext
local materials = {"brass", "wrought_iron"}
homedecor.register("fence_brass", {
description = S("Brass Fence/railing"),
drawtype = "fencelike",
tiles = {"homedecor_tile_brass.png"},
inventory_image = "homedecor_fence_brass.png",
selection_box = homedecor.nodebox.bar_y(1/7),
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
})
for _, m in ipairs(materials) do
homedecor.register("fence_wrought_iron", {
description = S("Wrought Iron Fence/railing"),
homedecor.register("fence_"..m, {
description = S("Fence/railing ("..m..")"),
drawtype = "fencelike",
tiles = {"homedecor_tile_wrought_iron.png"},
inventory_image = "homedecor_fence_wrought_iron.png",
tiles = {"homedecor_tile_"..m..".png"},
inventory_image = "homedecor_fence_"..m..".png",
selection_box = homedecor.nodebox.bar_y(1/7),
groups = {snappy=3},
sounds = default.node_sound_wood_defaults(),
@ -38,17 +31,17 @@ homedecor.register("fence_wrought_iron", {
-- brass/wrought iron with signs:
homedecor.register("fence_brass_with_sign", {
description = S("Brass Fence/railing with sign"),
homedecor.register("fence_"..m.."_with_sign", {
description = S("Fence/railing with sign ("..m..")"),
tiles = {
"homedecor_sign_brass_post_top.png",
"homedecor_sign_brass_post_bottom.png",
"homedecor_sign_brass_post_side.png",
"homedecor_sign_brass_post_side.png",
"homedecor_sign_brass_post_back.png",
"homedecor_sign_brass_post_front.png",
"homedecor_sign_"..m.."_post_top.png",
"homedecor_sign_"..m.."_post_bottom.png",
"homedecor_sign_"..m.."_post_side.png",
"homedecor_sign_"..m.."_post_side.png",
"homedecor_sign_"..m.."_post_back.png",
"homedecor_sign_"..m.."_post_front.png",
},
wield_image = "homedecor_sign_brass_post.png",
wield_image = "homedecor_sign_"..m.."_post.png",
node_box = sign_post_model,
groups = {snappy=3,not_in_creative_inventory=1},
sounds = default.node_sound_wood_defaults(),
@ -57,34 +50,12 @@ homedecor.register("fence_brass_with_sign", {
max_items = 2,
items = {
{ items = { "default:sign_wall" }},
{ items = { "homedecor:fence_brass" }},
{ items = { "homedecor:fence_"..m }},
},
},
})
homedecor.register("fence_wrought_iron_with_sign", {
description = S("Wrought Iron Fence/railing with sign"),
tiles = {
"homedecor_sign_wrought_iron_post_top.png",
"homedecor_sign_wrought_iron_post_bottom.png",
"homedecor_sign_wrought_iron_post_side.png",
"homedecor_sign_wrought_iron_post_side.png",
"homedecor_sign_wrought_iron_post_back.png",
"homedecor_sign_wrought_iron_post_front.png",
},
wield_image = "homedecor_sign_wrought_iron_post.png",
node_box = sign_post_model,
groups = {snappy=3,not_in_creative_inventory=1},
sounds = default.node_sound_wood_defaults(),
sunlight_propagates = true,
drop = {
max_items = 2,
items = {
{ items = { "default:sign_wall" }},
{ items = { "homedecor:fence_wrought_iron" }},
},
},
})
end
-- other types of fences

125
mods/homedecor_modpack/homedecor/furniture.lua Normal file → Executable file
View File

@ -1,39 +1,5 @@
local S = homedecor.gettext
-- 3dforniture tables ... well, they used to be :P
local table_colors = { "", "mahogany", "white" }
for _, i in ipairs(table_colors) do
local color = "_"..i
local desc = S("Table ("..i..")")
if i == "" then
color = ""
desc = S("Table")
end
homedecor.register("table"..color, {
description = desc,
tiles = { "forniture_wood"..color..".png" },
node_box = {
type = "fixed",
fixed = {
{ -0.4, -0.5, -0.4, -0.3, 0.4, -0.3 },
{ 0.3, -0.5, -0.4, 0.4, 0.4, -0.3 },
{ -0.4, -0.5, 0.3, -0.3, 0.4, 0.4 },
{ 0.3, -0.5, 0.3, 0.4, 0.4, 0.4 },
{ -0.5, 0.4, -0.5, 0.5, 0.5, 0.5 },
{ -0.4, -0.2, -0.3, -0.3, -0.1, 0.3 },
{ 0.3, -0.2, -0.4, 0.4, -0.1, 0.3 },
{ -0.3, -0.2, -0.4, 0.4, -0.1, -0.3 },
{ -0.3, -0.2, 0.3, 0.3, -0.1, 0.4 },
},
},
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
})
end
local function sit(pos, node, clicker)
local name = clicker:get_player_name()
local meta = minetest:get_meta(pos)
@ -75,6 +41,38 @@ local function sit_exec(pos, node, clicker) -- don't move these functions inside
]]
end
local table_colors = { "", "mahogany", "white" }
for _, i in ipairs(table_colors) do
local color = "_"..i
local desc = S("Table ("..i..")")
if i == "" then
color = ""
desc = S("Table")
end
homedecor.register("table"..color, {
description = desc,
tiles = { "forniture_wood"..color..".png" },
node_box = {
type = "fixed",
fixed = {
{ -0.4, -0.5, -0.4, -0.3, 0.4, -0.3 },
{ 0.3, -0.5, -0.4, 0.4, 0.4, -0.3 },
{ -0.4, -0.5, 0.3, -0.3, 0.4, 0.4 },
{ 0.3, -0.5, 0.3, 0.4, 0.4, 0.4 },
{ -0.5, 0.4, -0.5, 0.5, 0.5, 0.5 },
{ -0.4, -0.2, -0.3, -0.3, -0.1, 0.3 },
{ 0.3, -0.2, -0.4, 0.4, -0.1, 0.3 },
{ -0.3, -0.2, -0.4, 0.4, -0.1, -0.3 },
{ -0.3, -0.2, 0.3, 0.3, -0.1, 0.4 },
},
},
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
})
end
local chaircolors = {
{ "", "plain" },
{ "black", "Black" },
@ -676,28 +674,34 @@ homedecor.register("grandfather_clock_top", {
selection_box = homedecor.nodebox.null,
})
homedecor.register("office_chair_upscale", {
description = "Office chair (upscale)",
drawtype = "mesh",
tiles = { "homedecor_office_chair_upscale.png" },
mesh = "homedecor_office_chair_upscale.obj",
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
selection_box = {
local ofchairs_sbox = {
type = "fixed",
fixed = { -8/16, -8/16, -8/16, 8/16, 29/32, 8/16 }
},
collision_box = {
}
local ofchairs_cbox = {
type = "fixed",
fixed = {
{ -5/16, 1/16, -7/16, 5/16, 4/16, 7/16 }, -- seat
{ -5/16, 4/16, 4/16, 5/16, 29/32, 15/32 }, -- seatback
{ -7/16, 1/16, -9/32, -5/16, 7/16, 6/16 }, -- right arm
{ 5/16, 1/16, -9/32, 7/16, 7/16, 6/16 }, -- left arm
{ -1/16, -11/32, -1/16, 1/16, 1/16, 1/16 }, -- cylinder
{ -8/16, -8/16, -8/16, 8/16, -11/32, 8/16 } -- legs/wheels
}
},
}
local ofchairs = {"basic", "upscale"}
for _, c in ipairs(ofchairs) do
homedecor.register("office_chair_"..c, {
description = "Office chair ("..c..")",
drawtype = "mesh",
tiles = { "homedecor_office_chair_"..c..".png" },
mesh = "homedecor_office_chair_"..c..".obj",
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
selection_box = ofchairs_sbox,
collision_box = ofchairs_cbox,
expand = { top = "air" },
on_rightclick = function(pos, node, clicker)
pos.y = pos.y+0.14 -- player's sit position.
@ -705,32 +709,7 @@ homedecor.register("office_chair_upscale", {
end,
})
homedecor.register("office_chair_basic", {
description = "Office chair (basic)",
drawtype = "mesh",
tiles = { "homedecor_office_chair_basic.png" },
mesh = "homedecor_office_chair_basic.obj",
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
selection_box = {
type = "fixed",
fixed = { -8/16, -8/16, -8/16, 8/16, 29/32, 8/16 }
},
collision_box = {
type = "fixed",
fixed = {
{ -5/16, 1/16, -7/16, 5/16, 4/16, 7/16 }, -- seat
{ -5/16, 4/16, 4/16, 5/16, 29/32, 15/32 }, -- seatback
{ -1/16, -11/32, -1/16, 1/16, 1/16, 1/16 }, -- cylinder
{ -8/16, -8/16, -8/16, 8/16, -11/32, 8/16 } -- legs/wheels
}
},
expand = { top = "air" },
on_rightclick = function(pos, node, clicker)
pos.y = pos.y+0.14 -- player's sit position.
sit_exec(pos, node, clicker)
end,
})
end
-- Aliases for 3dforniture mod.

View File

0
mods/homedecor_modpack/homedecor/furniture_recipes.lua Normal file → Executable file
View File

View File

0
mods/homedecor_modpack/homedecor/handlers/furnaces.lua Normal file → Executable file
View File

0
mods/homedecor_modpack/homedecor/handlers/locked.lua Normal file → Executable file
View File

View File

View File

2
mods/homedecor_modpack/homedecor/init.lua Normal file → Executable file
View File

@ -147,6 +147,8 @@ dofile(homedecor.modpath.."/furniture_recipes.lua")
dofile(homedecor.modpath.."/climate-control.lua")
dofile(homedecor.modpath.."/cobweb.lua")
dofile(homedecor.modpath.."/books.lua")
dofile(homedecor.modpath.."/exterior.lua")
dofile(homedecor.modpath.."/handlers/locked.lua")

53
mods/homedecor_modpack/homedecor/kitchen_appliances.lua Normal file → Executable file
View File

@ -377,55 +377,13 @@ homedecor.register("dishwasher", {
groups = { snappy = 3 },
})
homedecor.register("dishwasher_wood", {
description = "Dishwasher",
tiles = {
"homedecor_kitchen_cabinet_top.png",
"homedecor_dishwasher_bottom.png",
"homedecor_dishwasher_sides.png",
"homedecor_dishwasher_sides.png^[transformFX",
"homedecor_dishwasher_back.png",
"homedecor_dishwasher_front.png"
},
paramtype = "light",
paramtype2 = "facedir",
groups = { snappy = 3 },
})
local materials = {"granite", "marble", "steel", "wood"}
homedecor.register("dishwasher_steel", {
description = "Dishwasher",
for _, m in ipairs(materials) do
homedecor.register("dishwasher_"..m, {
description = "Dishwasher ("..m..")",
tiles = {
"homedecor_kitchen_cabinet_top_steel.png",
"homedecor_dishwasher_bottom.png",
"homedecor_dishwasher_sides.png",
"homedecor_dishwasher_sides.png^[transformFX",
"homedecor_dishwasher_back.png",
"homedecor_dishwasher_front.png"
},
paramtype = "light",
paramtype2 = "facedir",
groups = { snappy = 3 },
})
homedecor.register("dishwasher_marble", {
description = "Dishwasher",
tiles = {
"homedecor_kitchen_cabinet_top_marble.png",
"homedecor_dishwasher_bottom.png",
"homedecor_dishwasher_sides.png",
"homedecor_dishwasher_sides.png^[transformFX",
"homedecor_dishwasher_back.png",
"homedecor_dishwasher_front.png"
},
paramtype = "light",
paramtype2 = "facedir",
groups = { snappy = 3 },
})
homedecor.register("dishwasher_granite", {
description = "Dishwasher",
tiles = {
"homedecor_kitchen_cabinet_top_granite.png",
"homedecor_kitchen_cabinet_top_"..m..".png",
"homedecor_dishwasher_bottom.png",
"homedecor_dishwasher_sides.png",
"homedecor_dishwasher_sides.png^[transformFX",
@ -436,3 +394,4 @@ homedecor.register("dishwasher_granite", {
paramtype2 = "facedir",
groups = { snappy = 3 },
})
end

0
mods/homedecor_modpack/homedecor/kitchen_furniture.lua Normal file → Executable file
View File

0
mods/homedecor_modpack/homedecor/laundry.lua Normal file → Executable file
View File

155
mods/homedecor_modpack/homedecor/lighting.lua Normal file → Executable file
View File

@ -70,17 +70,15 @@ local glowlight_nodebox = {
},
}
-- Yellow
homedecor.register("glowlight_half_yellow", {
description = S("Yellow Glowlight (thick)"),
homedecor.register("glowlight_half_"..color, {
description = S("Thick Glowlight ("..color..")"),
tiles = {
'homedecor_glowlight_yellow_top.png',
'homedecor_glowlight_yellow_bottom.png',
'homedecor_glowlight_thick_yellow_sides.png',
'homedecor_glowlight_thick_yellow_sides.png',
'homedecor_glowlight_thick_yellow_sides.png',
'homedecor_glowlight_thick_yellow_sides.png'
"homedecor_glowlight_"..color.."_top.png",
"homedecor_glowlight_"..color.."_bottom.png",
"homedecor_glowlight_thick_"..color.."_sides.png",
"homedecor_glowlight_thick_"..color.."_sides.png",
"homedecor_glowlight_thick_"..color.."_sides.png",
"homedecor_glowlight_thick_"..color.."_sides.png"
},
selection_box = glowlight_nodebox.half,
node_box = glowlight_nodebox.half,
@ -90,53 +88,15 @@ homedecor.register("glowlight_half_yellow", {
on_place = minetest.rotate_node
})
homedecor.register("glowlight_quarter_yellow", {
description = S("Yellow Glowlight (thin)"),
homedecor.register("glowlight_quarter_"..color, {
description = S("Thin Glowlight ("..color..")"),
tiles = {
'homedecor_glowlight_yellow_top.png',
'homedecor_glowlight_yellow_bottom.png',
'homedecor_glowlight_thin_yellow_sides.png',
'homedecor_glowlight_thin_yellow_sides.png',
'homedecor_glowlight_thin_yellow_sides.png',
'homedecor_glowlight_thin_yellow_sides.png'
},
selection_box = glowlight_nodebox.quarter,
node_box = glowlight_nodebox.quarter,
groups = { snappy = 3 },
light_source = LIGHT_MAX-1,
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
})
-- White
homedecor.register("glowlight_half_white", {
description = S("White Glowlight (thick)"),
tiles = {
'homedecor_glowlight_white_top.png',
'homedecor_glowlight_white_bottom.png',
'homedecor_glowlight_thick_white_sides.png',
'homedecor_glowlight_thick_white_sides.png',
'homedecor_glowlight_thick_white_sides.png',
'homedecor_glowlight_thick_white_sides.png'
},
selection_box = glowlight_nodebox.half,
node_box = glowlight_nodebox.half,
groups = { snappy = 3 },
light_source = LIGHT_MAX,
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
})
homedecor.register("glowlight_quarter_white", {
description = S("White Glowlight (thin)"),
tiles = {
'homedecor_glowlight_white_top.png',
'homedecor_glowlight_white_bottom.png',
'homedecor_glowlight_thin_white_sides.png',
'homedecor_glowlight_thin_white_sides.png',
'homedecor_glowlight_thin_white_sides.png',
'homedecor_glowlight_thin_white_sides.png'
"homedecor_glowlight_"..color.."_top.png",
"homedecor_glowlight_"..color.."_bottom.png",
"homedecor_glowlight_thin_"..color.."_sides.png",
"homedecor_glowlight_thin_"..color.."_sides.png",
"homedecor_glowlight_thin_"..color.."_sides.png",
"homedecor_glowlight_thin_"..color.."_sides.png"
},
selection_box = glowlight_nodebox.quarter,
node_box = glowlight_nodebox.quarter,
@ -148,15 +108,15 @@ homedecor.register("glowlight_quarter_white", {
-- Glowlight "cubes"
homedecor.register("glowlight_small_cube_yellow", {
description = S("Yellow Glowlight (small cube)"),
homedecor.register("glowlight_small_cube_"..color, {
description = S("Small Glowlight Cube ("..color..")"),
tiles = {
'homedecor_glowlight_cube_yellow_tb.png',
'homedecor_glowlight_cube_yellow_tb.png',
'homedecor_glowlight_cube_yellow_sides.png',
'homedecor_glowlight_cube_yellow_sides.png',
'homedecor_glowlight_cube_yellow_sides.png',
'homedecor_glowlight_cube_yellow_sides.png'
"homedecor_glowlight_cube_"..color.."_tb.png",
"homedecor_glowlight_cube_"..color.."_tb.png",
"homedecor_glowlight_cube_"..color.."_sides.png",
"homedecor_glowlight_cube_"..color.."_sides.png",
"homedecor_glowlight_cube_"..color.."_sides.png",
"homedecor_glowlight_cube_"..color.."_sides.png"
},
selection_box = glowlight_nodebox.small_cube,
node_box = glowlight_nodebox.small_cube,
@ -166,23 +126,7 @@ homedecor.register("glowlight_small_cube_yellow", {
on_place = minetest.rotate_node
})
homedecor.register("glowlight_small_cube_white", {
description = S("White Glowlight (small cube)"),
tiles = {
'homedecor_glowlight_cube_white_tb.png',
'homedecor_glowlight_cube_white_tb.png',
'homedecor_glowlight_cube_white_sides.png',
'homedecor_glowlight_cube_white_sides.png',
'homedecor_glowlight_cube_white_sides.png',
'homedecor_glowlight_cube_white_sides.png'
},
selection_box = glowlight_nodebox.small_cube,
node_box = glowlight_nodebox.small_cube,
groups = { snappy = 3 },
light_source = LIGHT_MAX-1,
sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node
})
end
homedecor.register("plasma_lamp", {
description = "Plasma Lamp",
@ -267,21 +211,40 @@ homedecor.register("oil_lamp", {
sounds = default.node_sound_wood_defaults(),
})
homedecor.register("wall_lantern", {
description = S("Wall lantern"),
drawtype = "plantlike",
tiles = { 'homedecor_wall_lantern.png' },
inventory_image = 'homedecor_wall_lantern.png',
sunlight_propagates = true,
selection_box = {
type = "fixed",
fixed = {
{ -0.3, -0.5, -0.3, 0.3, 0.5, 0.3 },
}
},
groups = { snappy = 3 },
light_source = LIGHT_MAX-4,
sounds = default.node_sound_wood_defaults(),
local gl_cbox = {
type = "fixed",
fixed = { -0.25, -0.5, -0.25, 0.25, 0.45, 0.25 },
}
minetest.register_alias("homedecor:wall_lantern", "homedecor:ground_lantern")
homedecor.register("ground_lantern", {
description = S("Ground Lantern"),
mesh = "homedecor_ground_lantern.obj",
tiles = {"homedecor_ground_lantern.png"},
inventory_image = "homedecor_ground_lantern_inv.png",
wield_image = "homedecor_ground_lantern_inv.png",
groups = {snappy=3},
light_source = 11,
selection_box = gl_cbox,
collision_box = gl_cbox
})
local hl_cbox = {
type = "fixed",
fixed = { -0.25, -0.4, -0.2, 0.25, 0.5, 0.5 },
}
homedecor.register("hanging_lantern", {
description = S("Hanging Lantern"),
mesh = "homedecor_hanging_lantern.obj",
tiles = {"homedecor_hanging_lantern.png"},
inventory_image = "homedecor_hanging_lantern_inv.png",
wield_image = "homedecor_hanging_lantern_inv.png",
groups = {snappy=3},
light_source = 11,
selection_box = hl_cbox,
collision_box = hl_cbox
})
homedecor.register("lattice_lantern_large", {

0
mods/homedecor_modpack/homedecor/listnodes.sh Normal file → Executable file
View File

0
mods/homedecor_modpack/homedecor/locale/de.txt Normal file → Executable file
View File

0
mods/homedecor_modpack/homedecor/locale/es.txt Normal file → Executable file
View File

0
mods/homedecor_modpack/homedecor/locale/fr.txt Normal file → Executable file
View File

0
mods/homedecor_modpack/homedecor/locale/pt.txt Normal file → Executable file
View File

0
mods/homedecor_modpack/homedecor/locale/template.txt Normal file → Executable file
View File

0
mods/homedecor_modpack/homedecor/misc-electrical.lua Normal file → Executable file
View File

136
mods/homedecor_modpack/homedecor/misc-nodes.lua Normal file → Executable file
View File

@ -1,5 +1,3 @@
-- Various misc. nodes
local S = homedecor.gettext
homedecor.register("ceiling_paint", {
@ -12,12 +10,7 @@ homedecor.register("ceiling_paint", {
walkable = false,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "wallmounted",
--wall_top = <default>
--wall_bottom = <default>
--wall_side = <default>
},
selection_box = { type = "wallmounted" },
})
homedecor.register("ceiling_tile", {
@ -30,75 +23,38 @@ homedecor.register("ceiling_tile", {
walkable = false,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "wallmounted",
--wall_top = <default>
--wall_bottom = <default>
--wall_side = <default>
},
selection_box = { type = "wallmounted" },
})
homedecor.register("rug_small", {
description = S("Small Throw Rug"),
local rug_sizes = {"small", "large"}
for _, s in ipairs(rug_sizes) do
homedecor.register("rug_"..s, {
description = S("Throw Rug ("..s..")"),
drawtype = 'signlike',
tiles = { 'homedecor_rug_small.png' },
wield_image = 'homedecor_rug_small.png',
inventory_image = 'homedecor_rug_small.png',
tiles = {"homedecor_rug_"..s..".png"},
wield_image = "homedecor_rug_"..s..".png",
inventory_image = "homedecor_rug_"..s..".png",
sunlight_propagates = true,
paramtype2 = "wallmounted",
walkable = false,
groups = { snappy = 3 },
groups = {snappy = 3},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "wallmounted",
--wall_top = <default>
--wall_bottom = <default>
--wall_side = <default>
},
selection_box = { type = "wallmounted" },
})
end
homedecor.register("rug_large", {
description = S("Large Area Rug"),
drawtype = 'signlike',
tiles = { 'homedecor_rug_large.png' },
wield_image = 'homedecor_rug_large.png',
inventory_image = 'homedecor_rug_large.png',
sunlight_propagates = true,
paramtype2 = "wallmounted",
walkable = false,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "wallmounted",
--wall_top = <default>
--wall_bottom = <default>
--wall_side = <default>
},
})
local pot_colors = {"black", "green", "terracotta"}
homedecor.register("flower_pot_terracotta", {
description = S("Terracotta Flower Pot"),
for _, p in ipairs(pot_colors) do
homedecor.register("flower_pot_"..p, {
description = S("Flower Pot ("..p..")"),
mesh = "homedecor_flowerpot.obj",
tiles = { "homedecor_flower_pot_terracotta.png" },
groups = { snappy = 3, potting_soil=1},
sounds = default.node_sound_leaves_defaults(),
})
homedecor.register("flower_pot_black", {
description = S("Black Plastic Flower Pot"),
mesh = "homedecor_flowerpot.obj",
tiles = { "homedecor_flower_pot_black.png" },
groups = { snappy = 3, potting_soil=1 },
sounds = default.node_sound_leaves_defaults(),
})
homedecor.register("flower_pot_green", {
description = S("Green Plastic Flower Pot"),
mesh = "homedecor_flowerpot.obj",
tiles = { "homedecor_flower_pot_green.png" },
tiles = { "homedecor_flower_pot_"..p..".png" },
groups = { snappy = 3, potting_soil=1 },
sounds = default.node_sound_leaves_defaults(),
})
end
homedecor.register("pole_brass", {
description = S("Brass Pole"),
@ -677,21 +633,21 @@ local bottle_cbox = {
}
}
homedecor.register("bottle_brown", {
tiles = { "homedecor_bottle_brown.png" },
inventory_image = "homedecor_bottle_brown_inv.png",
description = "Brown bottle",
mesh = "homedecor_bottle.obj",
sunlight_propagates = true,
groups = {snappy=3},
collision_box = bottle_cbox,
selection_box = bottle_cbox
})
local fbottle_cbox = {
type = "fixed",
fixed = {
{ -0.375, -0.5, -0.3125, 0.375, 0, 0.3125 }
}
}
homedecor.register("bottle_green", {
tiles = { "homedecor_bottle_green.png" },
inventory_image = "homedecor_bottle_green_inv.png",
description = "Green bottle",
local bottle_colors = {"brown", "green"}
for _, b in ipairs(bottle_colors) do
homedecor.register("bottle_"..b, {
tiles = { "homedecor_bottle_"..b..".png" },
inventory_image = "homedecor_bottle_"..b.."_inv.png",
description = "Bottle ("..b..")",
mesh = "homedecor_bottle.obj",
sunlight_propagates = true,
groups = {snappy=3},
@ -701,17 +657,10 @@ homedecor.register("bottle_green", {
-- 4-bottle sets
local fbottle_cbox = {
type = "fixed",
fixed = {
{ -0.375, -0.5, -0.3125, 0.375, 0, 0.3125 }
}
}
homedecor.register("4_bottles_brown", {
tiles = { "homedecor_bottle_brown.png" },
inventory_image = "homedecor_4_bottles_brown_inv.png",
description = "Four brown bottles",
homedecor.register("4_bottles_"..b, {
tiles = { "homedecor_bottle_"..b..".png" },
inventory_image = "homedecor_4_bottles_"..b.."_inv.png",
description = "Four "..b.." bottles",
mesh = "homedecor_4_bottles.obj",
sunlight_propagates = true,
groups = {snappy=3},
@ -719,16 +668,7 @@ homedecor.register("4_bottles_brown", {
selection_box = fbottle_cbox
})
homedecor.register("4_bottles_green", {
tiles = { "homedecor_bottle_green.png" },
inventory_image = "homedecor_4_bottles_green_inv.png",
description = "Four green bottles",
mesh = "homedecor_4_bottles.obj",
sunlight_propagates = true,
groups = {snappy=3},
collision_box = fbottle_cbox,
selection_box = fbottle_cbox
})
end
homedecor.register("4_bottles_multi", {
tiles = { "homedecor_4_bottles_multi.png" },

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

Before

Width:  |  Height:  |  Size: 165 B

After

Width:  |  Height:  |  Size: 165 B

View File

View File

View File

View File

@ -0,0 +1,419 @@
# Blender v2.69 (sub 0) OBJ File: 'wall_lantern.blend'
# www.blender.org
mtllib wall_lantern.mtl
o Cylinder
v 0.000027 0.249001 -0.240326
v 0.000027 0.222662 -0.240326
v 0.208213 0.249001 -0.120130
v 0.208213 0.222662 -0.120130
v 0.208213 0.249001 0.120264
v 0.208213 0.222662 0.120264
v 0.000027 0.249001 0.240460
v 0.000027 0.222662 0.240460
v -0.208160 0.249001 0.120263
v -0.208160 0.222662 0.120263
v -0.208160 0.249001 -0.120130
v -0.208160 0.222662 -0.120130
v 0.000027 0.450268 -0.023624
v 0.020543 0.450268 -0.011778
v 0.020543 0.450268 0.011912
v 0.000027 0.450268 0.023757
v -0.020490 0.450268 0.011912
v -0.020490 0.450268 -0.011778
v -0.046448 0.382417 -0.026765
v -0.105707 0.314565 -0.060978
v 0.000027 0.314565 -0.122023
v 0.000027 0.382417 -0.053597
v -0.046448 0.382417 0.026899
v -0.105707 0.314565 0.061112
v 0.000027 0.382417 0.053731
v 0.000027 0.314565 0.122157
v 0.046501 0.382417 0.026899
v 0.105760 0.314565 0.061112
v 0.046501 0.382417 -0.026765
v 0.105760 0.314565 -0.060978
v 0.000027 -0.051212 -0.199676
v 0.000027 0.000049 -0.199676
v 0.173009 -0.051212 -0.099805
v 0.173009 0.000049 -0.099805
v 0.173009 -0.051212 0.099938
v 0.173009 0.000049 0.099938
v 0.000027 -0.051212 0.199810
v 0.000027 0.000049 0.199810
v -0.172956 -0.051212 0.099938
v -0.172956 0.000049 0.099938
v -0.172956 -0.051212 -0.099805
v -0.172956 0.000049 -0.099805
v -0.136643 0.000049 -0.078839
v -0.136643 0.000049 0.078973
v 0.000027 0.000049 0.157879
v 0.136696 0.000049 0.078973
v 0.136696 0.000049 -0.078839
v 0.000027 0.000049 -0.157746
v -0.070961 -0.049741 -0.040918
v -0.070961 -0.049741 0.041052
v 0.000027 -0.049741 0.082037
v 0.071015 -0.049741 0.041052
v 0.071015 -0.049741 -0.040918
v 0.000027 -0.049741 -0.081903
v 0.000027 -0.496263 -0.216256
v 0.000027 -0.458016 -0.216256
v 0.187368 -0.496263 -0.108095
v 0.187368 -0.458016 -0.108095
v 0.187368 -0.496263 0.108229
v 0.187368 -0.458016 0.108229
v 0.000027 -0.496263 0.216390
v 0.000027 -0.458016 0.216390
v -0.187315 -0.496263 0.108228
v -0.187315 -0.458016 0.108228
v -0.187315 -0.496263 -0.108095
v -0.187315 -0.458016 -0.108095
v 0.000027 -0.413993 -0.081903
v 0.071015 -0.413993 -0.040918
v 0.071015 -0.413993 0.041052
v 0.000027 -0.413993 0.082037
v -0.070961 -0.413993 0.041052
v -0.070961 -0.413993 -0.040918
v -0.136643 0.223914 -0.078839
v -0.136643 0.223914 0.078973
v 0.000027 0.223914 0.157879
v 0.136696 0.223914 0.078973
v 0.136696 0.223914 -0.078839
v 0.000027 0.223914 -0.157746
vt 0.726272 0.908090
vt 0.726272 0.873728
vt 0.437365 0.873728
vt 0.437365 0.908090
vt 0.980817 0.582819
vt 0.946456 0.582819
vt 0.946456 0.871726
vt 0.980817 0.871726
vt 0.435363 0.908090
vt 0.435363 0.873728
vt 0.146456 0.873728
vt 0.146456 0.908090
vt 0.980817 0.291910
vt 0.946456 0.291910
vt 0.946456 0.580817
vt 0.980817 0.580817
vt 0.726272 0.944454
vt 0.726272 0.910092
vt 0.437365 0.910092
vt 0.437365 0.944454
vt 0.801001 0.926772
vt 0.801001 0.891410
vt 0.836364 0.873728
vt 0.871726 0.891410
vt 0.871726 0.926772
vt 0.836364 0.944454
vt 0.144454 0.871726
vt 0.144454 0.728274
vt 0.073728 0.728274
vt 0.073728 0.871726
vt 0.582819 0.362635
vt 0.726272 0.362635
vt 0.726272 0.291910
vt 0.582819 0.291910
vt 0.071726 0.871726
vt 0.071726 0.728274
vt 0.001001 0.728274
vt 0.001001 0.871726
vt 0.582819 0.726272
vt 0.726272 0.726272
vt 0.726272 0.655546
vt 0.582819 0.655546
vt 0.726272 0.364637
vt 0.655546 0.364637
vt 0.655546 0.653544
vt 0.726272 0.653544
vt 0.001001 0.944454
vt 0.144454 0.944454
vt 0.144454 0.873728
vt 0.001001 0.873728
vt 0.798999 1.017181
vt 0.798999 0.873728
vt 0.728274 0.873728
vt 0.728274 1.017181
vt 0.437365 0.618682
vt 0.509091 0.582819
vt 0.580817 0.618682
vt 0.580817 0.690409
vt 0.509091 0.726272
vt 0.437365 0.690409
vt 0.435363 0.944454
vt 0.435363 0.910092
vt 0.146456 0.910092
vt 0.146456 0.944454
vt 0.798999 0.291910
vt 0.728274 0.291910
vt 0.728274 0.580817
vt 0.798999 0.580817
vt 0.435363 0.726272
vt 0.435363 0.655546
vt 0.146456 0.655546
vt 0.146456 0.726272
vt 0.798999 0.001001
vt 0.728274 0.001001
vt 0.728274 0.289908
vt 0.798999 0.289908
vt 0.435363 0.798999
vt 0.435363 0.728274
vt 0.146456 0.728274
vt 0.146456 0.798999
vt 0.798999 0.582819
vt 0.728274 0.582819
vt 0.728274 0.871726
vt 0.798999 0.871726
vt 0.437108 0.293800
vt 0.293655 0.293800
vt 0.293655 0.437253
vt 0.437108 0.437253
vt 0.289908 0.437655
vt 0.146456 0.437655
vt 0.146456 0.581108
vt 0.289908 0.581108
vt 0.432308 0.439110
vt 0.288855 0.439110
vt 0.288855 0.582562
vt 0.432308 0.582562
vt 0.146054 0.439110
vt 0.002601 0.439110
vt 0.002601 0.582562
vt 0.146054 0.582562
vt 0.511400 0.219281
vt 0.511400 0.074828
vt 0.583126 0.002601
vt 0.654853 0.074828
vt 0.654853 0.219281
vt 0.583126 0.291508
vt 0.435363 0.146456
vt 0.291910 0.146456
vt 0.291910 0.289908
vt 0.435363 0.289908
vt 0.435363 0.001001
vt 0.291910 0.001001
vt 0.291910 0.144454
vt 0.435363 0.144454
vt 0.726272 0.962635
vt 0.726272 0.946456
vt 0.437365 0.946456
vt 0.437365 0.962635
vt 0.001001 0.950500
vt 0.009091 0.946456
vt 0.017181 0.950500
vt 0.017181 0.958590
vt 0.009091 0.962635
vt 0.001001 0.958590
vt 0.962635 0.001001
vt 0.946456 0.001001
vt 0.946456 0.289908
vt 0.962635 0.289908
vt 0.435363 0.962635
vt 0.435363 0.946456
vt 0.146456 0.946456
vt 0.146456 0.962635
vt 0.980817 0.001001
vt 0.964637 0.001001
vt 0.964637 0.289908
vt 0.980817 0.289908
vt 0.726272 0.980817
vt 0.726272 0.964637
vt 0.437365 0.964637
vt 0.437365 0.980817
vt 0.998999 0.582819
vt 0.982819 0.582819
vt 0.982819 0.871726
vt 0.998999 0.871726
vt 0.435363 0.508090
vt 0.435363 0.437365
vt 0.146456 0.437365
vt 0.146456 0.508090
vt 0.908090 0.582819
vt 0.873728 0.582819
vt 0.873728 0.871726
vt 0.908090 0.871726
vt 0.580817 0.362635
vt 0.580817 0.291910
vt 0.291910 0.291910
vt 0.291910 0.362635
vt 0.908090 0.291910
vt 0.873728 0.291910
vt 0.873728 0.580817
vt 0.908090 0.580817
vt 0.580817 0.435363
vt 0.580817 0.364637
vt 0.291910 0.364637
vt 0.291910 0.435363
vt 0.908090 0.001001
vt 0.873728 0.001001
vt 0.873728 0.289908
vt 0.908090 0.289908
vt 0.435363 0.580817
vt 0.435363 0.510092
vt 0.146456 0.510092
vt 0.146456 0.580817
vt 0.944454 0.582819
vt 0.910092 0.582819
vt 0.910092 0.871726
vt 0.944454 0.871726
vt 0.435363 0.653544
vt 0.435363 0.582819
vt 0.146456 0.582819
vt 0.146456 0.653544
vt 0.944454 0.291910
vt 0.910092 0.291910
vt 0.910092 0.580817
vt 0.944454 0.580817
vt 0.726272 0.289908
vt 0.726272 0.219183
vt 0.437365 0.219183
vt 0.437365 0.289908
vt 0.944454 0.001001
vt 0.910092 0.001001
vt 0.910092 0.289908
vt 0.944454 0.289908
vt 0.437365 0.217181
vt 0.726272 0.217181
vt 0.726272 0.146456
vt 0.437365 0.146456
vt 0.653544 0.653544
vt 0.653544 0.364637
vt 0.582819 0.364637
vt 0.582819 0.653544
vt 0.437365 0.144454
vt 0.726272 0.144454
vt 0.726272 0.073728
vt 0.437365 0.073728
vt 0.144454 0.726272
vt 0.144454 0.437365
vt 0.073728 0.437365
vt 0.073728 0.726272
vt 0.437365 0.071726
vt 0.726272 0.071726
vt 0.726272 0.001001
vt 0.437365 0.001001
vt 0.071726 0.726272
vt 0.071726 0.437365
vt 0.001001 0.437365
vt 0.001001 0.726272
vt 0.437365 0.473228
vt 0.509091 0.437365
vt 0.580817 0.473228
vt 0.580817 0.544954
vt 0.509091 0.580817
vt 0.437365 0.544954
vt 0.908090 0.944454
vt 0.908090 0.873728
vt 0.891910 0.873728
vt 0.891910 0.944454
vt 0.889908 0.944454
vt 0.889908 0.873728
vt 0.873728 0.873728
vt 0.873728 0.944454
vt 0.944454 0.944454
vt 0.944454 0.873728
vt 0.928274 0.873728
vt 0.928274 0.944454
vt 0.926272 0.944454
vt 0.926272 0.873728
vt 0.910092 0.873728
vt 0.910092 0.944454
vt 0.073728 0.980817
vt 0.144454 0.980817
vt 0.144454 0.964637
vt 0.073728 0.964637
vt 0.073728 0.962635
vt 0.144454 0.962635
vt 0.144454 0.946456
vt 0.073728 0.946456
vt 0.290050 0.071502
vt 0.290050 0.000777
vt 0.001142 0.000777
vt 0.001142 0.071502
vt 0.071219 0.072041
vt 0.000494 0.072041
vt 0.000494 0.360948
vt 0.071219 0.360948
vt 0.289555 0.071500
vt 0.289555 0.000775
vt 0.000648 0.000775
vt 0.000648 0.071500
vt 0.071219 0.072182
vt 0.000494 0.072182
vt 0.000494 0.361089
vt 0.071219 0.361089
vt 0.289465 0.071500
vt 0.289465 0.000775
vt 0.000557 0.000775
vt 0.000557 0.071500
vt 0.071219 0.072038
vt 0.000494 0.072038
vt 0.000494 0.360945
vt 0.071219 0.360945
usemtl (null)
s off
f 68/1 67/2 54/3 53/4
f 69/5 68/6 53/7 52/8
f 70/9 69/10 52/11 51/12
f 71/13 70/14 51/15 50/16
f 72/17 71/18 50/19 49/20
f 53/21 54/22 49/23 50/24 51/25 52/26
f 55/27 56/28 58/29 57/30
f 57/31 58/32 60/33 59/34
f 59/35 60/36 62/37 61/38
f 61/39 62/40 64/41 63/42
f 56/43 66/44 72/45 67/46
f 65/47 66/48 56/49 55/50
f 63/51 64/52 66/53 65/54
f 55/55 57/56 59/57 61/58 63/59 65/60
f 67/61 72/62 49/63 54/64
f 66/65 64/66 71/67 72/68
f 64/69 62/70 70/71 71/72
f 62/73 60/74 69/75 70/76
f 60/77 58/78 68/79 69/80
f 58/81 56/82 67/83 68/84
f 1/85 2/86 4/87 3/88
f 3/89 4/90 6/91 5/92
f 5/93 6/94 8/95 7/96
f 7/97 8/98 10/99 9/100
f 4/101 2/102 12/103 10/104 8/105 6/106
f 11/107 12/108 2/109 1/110
f 9/111 10/112 12/113 11/114
f 19/115 22/116 13/117 18/118
f 13/119 14/120 15/121 16/122 17/123 18/124
f 23/125 19/126 18/127 17/128
f 25/129 23/130 17/131 16/132
f 27/133 25/134 16/135 15/136
f 29/137 27/138 15/139 14/140
f 22/141 29/142 14/143 13/144
f 11/145 1/146 21/147 20/148
f 20/149 21/150 22/151 19/152
f 9/153 11/154 20/155 24/156
f 24/157 20/158 19/159 23/160
f 7/161 9/162 24/163 26/164
f 26/165 24/166 23/167 25/168
f 5/169 7/170 26/171 28/172
f 28/173 26/174 25/175 27/176
f 3/177 5/178 28/179 30/180
f 30/181 28/182 27/183 29/184
f 1/185 3/186 30/187 21/188
f 21/189 30/190 29/191 22/192
f 31/193 32/194 34/195 33/196
f 33/197 34/198 36/199 35/200
f 35/201 36/202 38/203 37/204
f 37/205 38/206 40/207 39/208
f 41/209 42/210 32/211 31/212
f 39/213 40/214 42/215 41/216
f 31/217 33/218 35/219 37/220 39/221 41/222
f 34/223 32/224 48/225 47/226
f 36/227 34/228 47/229 46/230
f 38/231 36/232 46/233 45/234
f 40/235 38/236 45/237 44/238
f 42/239 40/240 44/241 43/242
f 32/243 42/244 43/245 48/246
f 47/247 48/248 78/249 77/250
f 46/251 47/252 77/253 76/254
f 45/255 46/256 76/257 75/258
f 44/259 45/260 75/261 74/262
f 43/263 44/264 74/265 73/266
f 48/267 43/268 73/269 78/270

File diff suppressed because it is too large Load Diff

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

91
mods/homedecor_modpack/homedecor/nightstands.lua Normal file → Executable file
View File

@ -1,15 +1,16 @@
-- This file supplies nightstands
local S = homedecor.gettext
local woods = {"mahogany", "oak"}
homedecor.register("nightstand_oak_one_drawer", {
description = S("Oak Nightstand with One Drawer"),
tiles = { 'homedecor_nightstand_oak_top.png',
'homedecor_nightstand_oak_bottom.png',
'homedecor_nightstand_oak_right.png',
'homedecor_nightstand_oak_left.png',
'homedecor_nightstand_oak_back.png',
'homedecor_nightstand_oak_1_drawer_front.png'},
for _, w in ipairs(woods) do
homedecor.register("nightstand_"..w.."_one_drawer", {
description = S("Nightstand with One Drawer ("..w..")"),
tiles = { 'homedecor_nightstand_'..w..'_top.png',
'homedecor_nightstand_'..w..'_bottom.png',
'homedecor_nightstand_'..w..'_right.png',
'homedecor_nightstand_'..w..'_left.png',
'homedecor_nightstand_'..w..'_back.png',
'homedecor_nightstand_'..w..'_1_drawer_front.png'},
selection_box = { type = "regular" },
node_box = {
type = "fixed",
@ -30,14 +31,14 @@ homedecor.register("nightstand_oak_one_drawer", {
},
})
homedecor.register("nightstand_oak_two_drawers", {
description = S("Oak Nightstand with Two Drawers"),
tiles = { 'homedecor_nightstand_oak_top.png',
'homedecor_nightstand_oak_bottom.png',
'homedecor_nightstand_oak_right.png',
'homedecor_nightstand_oak_left.png',
'homedecor_nightstand_oak_back.png',
'homedecor_nightstand_oak_2_drawer_front.png'},
homedecor.register("nightstand_"..w.."_two_drawers", {
description = S("Nightstand with Two Drawers ("..w..")"),
tiles = { 'homedecor_nightstand_'..w..'_top.png',
'homedecor_nightstand_'..w..'_bottom.png',
'homedecor_nightstand_'..w..'_right.png',
'homedecor_nightstand_'..w..'_left.png',
'homedecor_nightstand_'..w..'_back.png',
'homedecor_nightstand_'..w..'_2_drawer_front.png'},
selection_box = { type = "regular" },
node_box = {
type = "fixed",
@ -56,56 +57,4 @@ homedecor.register("nightstand_oak_two_drawers", {
},
})
homedecor.register("nightstand_mahogany_one_drawer", {
description = S("Mahogany Nightstand with One Drawer"),
tiles = { 'homedecor_nightstand_mahogany_top.png',
'homedecor_nightstand_mahogany_bottom.png',
'homedecor_nightstand_mahogany_right.png',
'homedecor_nightstand_mahogany_left.png',
'homedecor_nightstand_mahogany_back.png',
'homedecor_nightstand_mahogany_1_drawer_front.png'},
selection_box = { type = "regular" },
node_box = {
type = "fixed",
fixed = {
{ -8/16, 0, -30/64, 8/16, 8/16, 8/16 }, -- top half
{ -7/16, 1/16, -32/64, 7/16, 7/16, -29/64}, -- drawer face
{ -8/16, -8/16, -30/64, -7/16, 0, 8/16 }, -- left
{ 7/16, -8/16, -30/64, 8/16, 0, 8/16 }, -- right
{ -8/16, -8/16, 7/16, 8/16, 0, 8/16 }, -- back
{ -8/16, -8/16, -30/64, 8/16, -7/16, 8/16 } -- bottom
}
},
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
infotext=S("One-drawer Nightstand"),
inventory = {
size=8,
},
})
homedecor.register("nightstand_mahogany_two_drawers", {
description = S("Mahogany Nightstand with Two Drawers"),
tiles = { 'homedecor_nightstand_mahogany_top.png',
'homedecor_nightstand_mahogany_bottom.png',
'homedecor_nightstand_mahogany_right.png',
'homedecor_nightstand_mahogany_left.png',
'homedecor_nightstand_mahogany_back.png',
'homedecor_nightstand_mahogany_2_drawer_front.png'},
selection_box = { type = "regular" },
node_box = {
type = "fixed",
fixed = {
{ -8/16, -8/16, -30/64, 8/16, 8/16, 8/16 }, -- main body
{ -7/16, 1/16, -32/64, 7/16, 7/16, -29/64 }, -- top drawer face
{ -7/16, -7/16, -32/64, 7/16, -1/16, -29/64 }, -- bottom drawer face
}
},
groups = { snappy = 3 },
sounds = default.node_sound_wood_defaults(),
infotext=S("Two-drawer Nightstand"),
inventory = {
size=16,
},
})
end

0
mods/homedecor_modpack/homedecor/paintings.lua Normal file → Executable file
View File

43
mods/homedecor_modpack/homedecor/shingles.lua Normal file → Executable file
View File

@ -1,5 +1,3 @@
-- Various kidns of shingles
local S = homedecor.gettext
minetest.register_node("homedecor:skylight", {
@ -29,42 +27,19 @@ minetest.register_node("homedecor:skylight_frosted", {
selection_box = homedecor.nodebox.slab_y(0.1),
})
minetest.register_node("homedecor:shingles_wood", {
description = S("Wood Shingles"),
local materials = {"asphalt", "terracotta", "wood"}
for _, s in ipairs(materials) do
minetest.register_node("homedecor:shingles_"..s, {
description = S("Shingles ("..s..")"),
drawtype = "raillike",
tiles = { "homedecor_shingles_wood.png" },
wield_image = "homedecor_shingles_wood.png",
inventory_image = "homedecor_shingles_wood_inv.png",
tiles = { "homedecor_shingles_"..s..".png" },
wield_image = "homedecor_shingles_"..s..".png",
inventory_image = "homedecor_shingles_"..s.."_inv.png",
paramtype = "light",
walkable = false,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
selection_box = homedecor.nodebox.slab_y(0.1),
})
minetest.register_node("homedecor:shingles_asphalt", {
description = S("Asphalt Shingles"),
drawtype = "raillike",
tiles = { "homedecor_shingles_asphalt.png" },
wield_image = "homedecor_shingles_asphalt.png",
inventory_image = "homedecor_shingles_asphalt_inv.png",
paramtype = "light",
walkable = false,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
selection_box = homedecor.nodebox.slab_y(0.1),
})
minetest.register_node("homedecor:shingles_terracotta", {
description = S("Terracotta Shingles"),
drawtype = "raillike",
tiles = { "homedecor_shingles_terracotta.png" },
wield_image = "homedecor_shingles_terracotta.png",
inventory_image = "homedecor_shingles_terracotta_inv.png",
paramtype = "light",
walkable = false,
groups = { snappy = 3 },
sounds = default.node_sound_leaves_defaults(),
selection_box = homedecor.nodebox.slab_y(0.1),
})
end

0
mods/homedecor_modpack/homedecor/shutters.lua Normal file → Executable file
View File

0
mods/homedecor_modpack/homedecor/slopes.lua Normal file → Executable file
View File

View File

View File

View File

View File

View File

View File

0
mods/homedecor_modpack/homedecor/sounds/toaster.ogg Normal file → Executable file
View File

27
mods/homedecor_modpack/homedecor/tables.lua Normal file → Executable file
View File

@ -157,27 +157,15 @@ homedecor.register("utility_table_top", {
-- Various kinds of table legs
homedecor.register("table_legs_brass", {
description = S("Brass Table Legs"),
drawtype = "plantlike",
tiles = {"homedecor_table_legs_brass.png"},
inventory_image = "homedecor_table_legs_brass.png",
wield_image = "homedecor_table_legs_brass.png",
walkable = false,
groups = {snappy=3},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
fixed = { -0.37, -0.5, -0.37, 0.37, 0.5, 0.37 }
},
})
local materials = {"brass", "wrought_iron"}
homedecor.register("table_legs_wrought_iron", {
description = S("Wrought Iron Table Legs"),
for _, t in ipairs(materials) do
homedecor.register("table_legs_"..t, {
description = S("Table Legs ("..t..")"),
drawtype = "plantlike",
tiles = {"homedecor_table_legs_wrought_iron.png"},
inventory_image = "homedecor_table_legs_wrought_iron.png",
wield_image = "homedecor_table_legs_wrought_iron.png",
tiles = {"homedecor_table_legs_"..t..".png"},
inventory_image = "homedecor_table_legs_"..t..".png",
wield_image = "homedecor_table_legs_"..t..".png",
walkable = false,
groups = {snappy=3},
sounds = default.node_sound_leaves_defaults(),
@ -186,6 +174,7 @@ homedecor.register("table_legs_wrought_iron", {
fixed = { -0.37, -0.5, -0.37, 0.37, 0.5, 0.37 }
},
})
end
homedecor.register("utility_table_legs", {
description = S("Legs for Utility Table"),

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 305 B

After

Width:  |  Height:  |  Size: 305 B

View File

Before

Width:  |  Height:  |  Size: 389 B

After

Width:  |  Height:  |  Size: 389 B

View File

Before

Width:  |  Height:  |  Size: 403 B

After

Width:  |  Height:  |  Size: 403 B

View File

Before

Width:  |  Height:  |  Size: 351 B

After

Width:  |  Height:  |  Size: 351 B

View File

Before

Width:  |  Height:  |  Size: 416 B

After

Width:  |  Height:  |  Size: 416 B

View File

Before

Width:  |  Height:  |  Size: 403 B

After

Width:  |  Height:  |  Size: 403 B

View File

Before

Width:  |  Height:  |  Size: 293 B

After

Width:  |  Height:  |  Size: 293 B

View File

Before

Width:  |  Height:  |  Size: 356 B

After

Width:  |  Height:  |  Size: 356 B

View File

Before

Width:  |  Height:  |  Size: 391 B

After

Width:  |  Height:  |  Size: 391 B

View File

Before

Width:  |  Height:  |  Size: 316 B

After

Width:  |  Height:  |  Size: 316 B

View File

Before

Width:  |  Height:  |  Size: 395 B

After

Width:  |  Height:  |  Size: 395 B

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