Compare commits
6 Commits
2021-03-26
...
2021-03-27
Author | SHA1 | Date | |
---|---|---|---|
9ffe2b7d69 | |||
0268767ac9 | |||
950210a6e3 | |||
c70fb1a1ed | |||
40cd59aa24 | |||
da1f2b1430 |
@ -1,38 +1,5 @@
|
||||
local S = minetest.get_translator("homedecor_furniture")
|
||||
|
||||
local table_colors = {
|
||||
{ "", S("Table"), homedecor.plain_wood },
|
||||
{ "_mahogany", S("Mahogany Table"), homedecor.mahogany_wood },
|
||||
{ "_white", S("White Table"), homedecor.white_wood }
|
||||
}
|
||||
|
||||
for _, t in ipairs(table_colors) do
|
||||
local suffix, desc, texture = unpack(t)
|
||||
|
||||
homedecor.register("table"..suffix, {
|
||||
description = desc,
|
||||
tiles = { texture },
|
||||
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},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
|
||||
local ob_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0.5 }
|
||||
@ -69,224 +36,3 @@ homedecor.register("wall_shelf", {
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
-- Crafts
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:table",
|
||||
recipe = {
|
||||
{ "group:wood","group:wood", "group: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: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")
|
||||
minetest.register_alias('table', 'homedecor:table')
|
||||
|
@ -57,6 +57,24 @@ homedecor.register("chains", {
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
-- Crafts
|
||||
|
||||
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_alias("3dforniture:bars", "homedecor:bars")
|
||||
minetest.register_alias("3dforniture:L_binding_bars", "homedecor:L_binding_bars")
|
||||
minetest.register_alias("3dforniture:chains", "homedecor:chains")
|
||||
|
@ -790,6 +790,6 @@ minetest.register_lbm({
|
||||
new_fdir = 5
|
||||
end
|
||||
|
||||
minetest.set_node(pos, { name = newname, param2 = new_fdir })
|
||||
minetest.swap_node(pos, { name = newname, param2 = new_fdir })
|
||||
end
|
||||
})
|
||||
|
@ -1789,6 +1789,14 @@ unifieddyes.register_color_craft({
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:torch_wall 10",
|
||||
recipe = {
|
||||
{ "default:coal_lump" },
|
||||
{ "default:steel_ingot" },
|
||||
},
|
||||
})
|
||||
-- aliases
|
||||
|
||||
minetest.register_alias("chains:chain_top", "homedecor:chain_steel_top")
|
||||
|
@ -2,25 +2,58 @@
|
||||
|
||||
local S = minetest.get_translator("homedecor_tables")
|
||||
|
||||
local materials = {
|
||||
-- Various kinds of table legs
|
||||
|
||||
local table_shapes = {"large_square", "small_square", "small_round"}
|
||||
|
||||
local tabletop_materials = {
|
||||
{ "glass",
|
||||
S("Small square glass table"),
|
||||
S("Small round glass table"),
|
||||
S("Large glass table piece"),
|
||||
S("Small square glass tabletop"),
|
||||
S("Small round glass tabletop"),
|
||||
S("Large glass tabletop piece"),
|
||||
},
|
||||
{ "wood",
|
||||
S("Small square wooden table"),
|
||||
S("Small round wooden table"),
|
||||
S("Large wooden table piece"),
|
||||
S("Small square wooden tabletop"),
|
||||
S("Small round wooden tabletop"),
|
||||
S("Large wooden tabletop piece"),
|
||||
}
|
||||
}
|
||||
|
||||
leg_materials = {
|
||||
{ "brass", S("brass") },
|
||||
{ "wrought_iron", S("wrought iron") },
|
||||
{ "wood", S("wood") }
|
||||
}
|
||||
|
||||
for _, t in ipairs(leg_materials) do
|
||||
local name, desc = unpack(t)
|
||||
homedecor.register("table_legs_"..name, {
|
||||
description = S("Table Legs (@1)", desc),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"homedecor_table_legs_"..name..".png"},
|
||||
inventory_image = "homedecor_table_legs_"..name..".png",
|
||||
wield_image = "homedecor_table_legs_"..name..".png",
|
||||
walkable = false,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.37, -0.5, -0.37, 0.37, 0.5, 0.37 }
|
||||
},
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_alias("homedecor:utility_table_legs", "homedecor:table_legs_wood")
|
||||
minetest.register_alias("homedecor:utility_table_top", "homedecor:wood_table_small_square")
|
||||
|
||||
-- table tops and combined tables
|
||||
|
||||
local tables_cbox = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
|
||||
}
|
||||
|
||||
for i, mat in ipairs(materials) do
|
||||
for i, mat in ipairs(tabletop_materials) do
|
||||
local m, small_s, small_r, large = unpack(mat)
|
||||
local s
|
||||
|
||||
@ -30,179 +63,102 @@ for i, mat in ipairs(materials) do
|
||||
s = default.node_sound_wood_defaults()
|
||||
end
|
||||
|
||||
-- small square tables
|
||||
for _, shape in ipairs(table_shapes) do
|
||||
|
||||
homedecor.register(m.."_table_small_square", {
|
||||
description = small_s,
|
||||
mesh = "homedecor_table_small_square.obj",
|
||||
tiles = { 'homedecor_'..m..'_table_small_square.png' },
|
||||
wield_image = 'homedecor_'..m..'_table_small_square_inv.png',
|
||||
inventory_image = 'homedecor_'..m..'_table_small_square_inv.png',
|
||||
groups = { snappy = 3 },
|
||||
sounds = s,
|
||||
selection_box = tables_cbox,
|
||||
collision_box = tables_cbox,
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
homedecor.register(m.."_table_"..shape, {
|
||||
description = shape.." "..m.." tabletop",
|
||||
mesh = "homedecor_table_"..shape..".obj",
|
||||
tiles = {
|
||||
'homedecor_'..m..'_table_'..shape..'.png',
|
||||
'homedecor_'..m..'_table_edges.png',
|
||||
'homedecor_blanktile.png',
|
||||
'homedecor_blanktile.png',
|
||||
'homedecor_blanktile.png',
|
||||
},
|
||||
wield_image = 'homedecor_'..m..'_table_'..shape..'_inv.png',
|
||||
groups = { snappy = 3 },
|
||||
sounds = s,
|
||||
selection_box = tables_cbox,
|
||||
collision_box = tables_cbox,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
local player_name = placer:get_player_name()
|
||||
if minetest.is_protected(pointed_thing.under, player_name) then return end
|
||||
local node = minetest.get_node(pointed_thing.under)
|
||||
if string.find(node.name, "homedecor:table_legs") then
|
||||
local newname = string.format("homedecor:%s_table_%s_with_%s_legs",
|
||||
m, shape, string.sub(node.name, 22))
|
||||
minetest.set_node(pointed_thing.under, {name = newname})
|
||||
if not creative.is_enabled_for(player_name) then
|
||||
itemstack:take_item()
|
||||
return itemstack
|
||||
end
|
||||
else
|
||||
return minetest.rotate_node(itemstack, placer, pointed_thing)
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
-- small round tables
|
||||
for _, l in ipairs(leg_materials) do
|
||||
local leg_mat, desc = unpack(l)
|
||||
|
||||
homedecor.register(m..'_table_small_round', {
|
||||
description = small_r,
|
||||
mesh = "homedecor_table_small_round.obj",
|
||||
tiles = { "homedecor_"..m.."_table_small_round.png" },
|
||||
wield_image = 'homedecor_'..m..'_table_small_round_inv.png',
|
||||
inventory_image = 'homedecor_'..m..'_table_small_round_inv.png',
|
||||
groups = { snappy = 3 },
|
||||
sounds = s,
|
||||
selection_box = tables_cbox,
|
||||
collision_box = tables_cbox,
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
|
||||
-- Large square table pieces
|
||||
|
||||
homedecor.register(m..'_table_large', {
|
||||
description = large,
|
||||
tiles = {
|
||||
'homedecor_'..m..'_table_large_tb.png',
|
||||
'homedecor_'..m..'_table_large_tb.png',
|
||||
'homedecor_'..m..'_table_large_edges.png',
|
||||
'homedecor_'..m..'_table_large_edges.png',
|
||||
'homedecor_'..m..'_table_large_edges.png',
|
||||
'homedecor_'..m..'_table_large_edges.png'
|
||||
},
|
||||
wield_image = 'homedecor_'..m..'_table_large_inv.png',
|
||||
inventory_image = 'homedecor_'..m..'_table_large_inv.png',
|
||||
groups = { snappy = 3 },
|
||||
sounds = s,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
|
||||
},
|
||||
selection_box = tables_cbox,
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
homedecor.register(string.format("%s_table_%s_with_%s_legs", m, shape, leg_mat), {
|
||||
description = string.format("%s %s table with %s legs", shape, m, leg_mat),
|
||||
mesh = "homedecor_table_"..shape..".obj",
|
||||
tiles = {
|
||||
'homedecor_blanktile.png',
|
||||
'homedecor_blanktile.png',
|
||||
'homedecor_'..m..'_table_'..shape..'.png',
|
||||
'homedecor_'..m..'_table_edges.png',
|
||||
"homedecor_table_legs_"..leg_mat..".png",
|
||||
},
|
||||
groups = { snappy = 3 },
|
||||
sounds = s,
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_alias('homedecor:'..m..'_table_large_b', 'homedecor:'..m..'_table_large')
|
||||
minetest.register_alias('homedecor:'..m..'_table_small_square_b', 'homedecor:'..m..'_table_small_square')
|
||||
minetest.register_alias('homedecor:'..m..'_table_small_round_b', 'homedecor:'..m..'_table_small_round')
|
||||
minetest.register_alias('homedecor:'..m..'_table_large', 'homedecor:'..m..'_table_large_square')
|
||||
|
||||
end
|
||||
|
||||
-- conversion routines for old non-6dfacedir tables
|
||||
-- old-style tables that used to be from 3dforniture.
|
||||
|
||||
local tlist_s = {}
|
||||
local tlist_t = {}
|
||||
local dirs2 = { 9, 18, 7, 12 }
|
||||
|
||||
for i in ipairs(materials) do
|
||||
local m = materials[i][1]
|
||||
table.insert(tlist_s, "homedecor:"..m.."_table_large_s")
|
||||
table.insert(tlist_s, "homedecor:"..m.."_table_small_square_s")
|
||||
table.insert(tlist_s, "homedecor:"..m.."_table_small_round_s")
|
||||
|
||||
table.insert(tlist_t, "homedecor:"..m.."_table_large_t")
|
||||
table.insert(tlist_t, "homedecor:"..m.."_table_small_square_t")
|
||||
table.insert(tlist_t, "homedecor:"..m.."_table_small_round_t")
|
||||
end
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = tlist_s,
|
||||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local newnode = string.sub(node.name, 1, -3) -- strip the "_s" from the name
|
||||
local fdir = node.param2 or 0
|
||||
minetest.set_node(pos, {name = newnode, param2 = dirs2[fdir+1]})
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = tlist_t,
|
||||
interval = 1,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local newnode = string.sub(node.name, 1, -3) -- strip the "_t" from the name
|
||||
minetest.set_node(pos, { name = newnode, param2 = 20 })
|
||||
end
|
||||
})
|
||||
|
||||
-- other tables
|
||||
|
||||
homedecor.register("utility_table_top", {
|
||||
description = S("Utility Table"),
|
||||
tiles = {
|
||||
'homedecor_utility_table_tb.png',
|
||||
'homedecor_utility_table_tb.png',
|
||||
'homedecor_utility_table_edges.png',
|
||||
'homedecor_utility_table_edges.png',
|
||||
'homedecor_utility_table_edges.png',
|
||||
'homedecor_utility_table_edges.png'
|
||||
},
|
||||
wield_image = 'homedecor_utility_table_tb.png',
|
||||
inventory_image = 'homedecor_utility_table_tb.png',
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
paramtype2 = "wallmounted",
|
||||
node_box = {
|
||||
type = "wallmounted",
|
||||
wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
|
||||
wall_top = { -0.5, 0.4375, -0.5, 0.5, 0.5, 0.5 },
|
||||
wall_side = { -0.5, -0.5, -0.5, -0.4375, 0.5, 0.5 },
|
||||
},
|
||||
selection_box = {
|
||||
type = "wallmounted",
|
||||
wall_bottom = { -0.5, -0.5, -0.5, 0.5, -0.4375, 0.5 },
|
||||
wall_top = { -0.5, 0.4375, -0.5, 0.5, 0.5, 0.5 },
|
||||
wall_side = { -0.5, -0.5, -0.5, -0.4375, 0.5, 0.5 },
|
||||
},
|
||||
})
|
||||
|
||||
-- Various kinds of table legs
|
||||
|
||||
-- local above
|
||||
materials = {
|
||||
{ "brass", S("brass") },
|
||||
{ "wrought_iron", S("wrought iron") },
|
||||
local table_colors = {
|
||||
{ "", S("Table"), homedecor.plain_wood },
|
||||
{ "_mahogany", S("Mahogany Table"), homedecor.mahogany_wood },
|
||||
{ "_white", S("White Table"), homedecor.white_wood }
|
||||
}
|
||||
|
||||
for _, t in ipairs(materials) do
|
||||
local name, desc = unpack(t)
|
||||
homedecor.register("table_legs_"..name, {
|
||||
description = S("Table Legs (@1)", desc),
|
||||
drawtype = "plantlike",
|
||||
tiles = {"homedecor_table_legs_"..name..".png"},
|
||||
inventory_image = "homedecor_table_legs_"..name..".png",
|
||||
wield_image = "homedecor_table_legs_"..name..".png",
|
||||
walkable = false,
|
||||
groups = {snappy=3},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.37, -0.5, -0.37, 0.37, 0.5, 0.37 }
|
||||
},
|
||||
})
|
||||
for _, t in ipairs(table_colors) do
|
||||
local suffix, desc, texture = unpack(t)
|
||||
|
||||
homedecor.register("table"..suffix, {
|
||||
description = desc,
|
||||
tiles = { texture },
|
||||
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},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
end
|
||||
|
||||
homedecor.register("utility_table_legs", {
|
||||
description = S("Legs for Utility Table"),
|
||||
drawtype = "plantlike",
|
||||
tiles = { 'homedecor_utility_table_legs.png' },
|
||||
inventory_image = 'homedecor_utility_table_legs_inv.png',
|
||||
wield_image = 'homedecor_utility_table_legs.png',
|
||||
walkable = false,
|
||||
groups = { snappy = 3 },
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = { -0.37, -0.5, -0.37, 0.37, 0.5, 0.37 }
|
||||
},
|
||||
})
|
||||
|
||||
-- crafting
|
||||
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:glass_table_small_round_b 15",
|
||||
recipe = {
|
||||
@ -226,8 +182,6 @@ minetest.register_craft( {
|
||||
}
|
||||
})
|
||||
|
||||
--
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "homedecor:wood_table_small_round_b 15",
|
||||
recipe = {
|
||||
@ -305,7 +259,73 @@ minetest.register_craft({
|
||||
burntime = 30,
|
||||
})
|
||||
|
||||
for _, shape in ipairs (table_shapes) do
|
||||
for _, leg in ipairs(leg_materials) do
|
||||
for _, mat in ipairs(tabletop_materials) do
|
||||
minetest.register_craft({
|
||||
output = "homedecor:"..mat[1].."_table_"..shape.."_with_"..leg[1].."_legs",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"homedecor:"..mat[1].."_table_"..shape,
|
||||
"homedecor:table_legs_"..leg[1]
|
||||
},
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_craft({
|
||||
output = "homedecor:table",
|
||||
recipe = {
|
||||
{ "group:wood","group:wood", "group: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,
|
||||
})
|
||||
|
||||
-- recycling
|
||||
|
||||
@ -368,3 +388,8 @@ minetest.register_craft({
|
||||
"homedecor:wood_table_large"
|
||||
}
|
||||
})
|
||||
|
||||
-- Aliases for the above 3dforniture-like tables
|
||||
|
||||
minetest.register_alias("3dforniture:table", "homedecor:table")
|
||||
minetest.register_alias('table', 'homedecor:table')
|
||||
|
@ -1,3 +1,4 @@
|
||||
name = homedecor_tables
|
||||
description = Homedecor mod: tables
|
||||
depends = homedecor_common, default, basic_materials
|
||||
optional_depends = creative
|
||||
|
107
homedecor_tables/models/homedecor_table_large_square.obj
Normal file
@ -0,0 +1,107 @@
|
||||
# Blender v2.83.5 OBJ File: 'homedecor table with legs.blend'
|
||||
# www.blender.org
|
||||
o Cube_Cube.001
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v 0.500000 0.500000 -0.500000
|
||||
v -0.500000 0.437500 -0.500000
|
||||
v -0.353553 -0.500000 0.353554
|
||||
v -0.353553 0.437515 0.353554
|
||||
v 0.353553 -0.500000 -0.353553
|
||||
v 0.353553 0.437515 -0.353553
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.437500 -0.500000
|
||||
v 0.500000 -0.437500 0.500000
|
||||
v -0.500000 -0.437500 -0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v -0.500000 -0.437500 0.500000
|
||||
v 0.500000 0.437500 -0.500000
|
||||
v 0.500000 0.437500 0.500000
|
||||
v -0.500000 0.500000 -0.500000
|
||||
v -0.500000 0.437500 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v 0.353553 -0.500000 0.353554
|
||||
v 0.353553 0.437515 0.353554
|
||||
v -0.353553 -0.500000 -0.353553
|
||||
v -0.353553 0.437515 -0.353553
|
||||
vt -0.000000 -0.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 1.000000 0.500000
|
||||
vt -0.000000 0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt -0.000000 1.000000
|
||||
vt -0.000000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt -0.000000 1.000000
|
||||
vt -0.000000 0.937500
|
||||
vt 1.000000 0.937500
|
||||
vt -0.000000 0.937500
|
||||
vt 1.000000 0.937500
|
||||
vt 1.000000 1.000000
|
||||
vt 1.000000 1.000000
|
||||
vt -0.000000 1.000000
|
||||
vt -0.000000 0.937500
|
||||
vt 1.000000 0.937500
|
||||
vt 1.000000 1.000000
|
||||
vt -0.000000 1.000000
|
||||
vt -0.000000 0.937500
|
||||
vt 1.000000 0.937500
|
||||
vt -0.000000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt -0.000000 1.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 1.000000 0.500000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 -0.000000
|
||||
vt -0.000000 1.000000
|
||||
vt -0.000000 0.937500
|
||||
vt 1.000000 0.937500
|
||||
vt 1.000000 1.000000
|
||||
vt -0.000000 1.000000
|
||||
vt -0.000000 0.937500
|
||||
vt 1.000000 0.937500
|
||||
vt 1.000000 0.937500
|
||||
vt 1.000000 1.000000
|
||||
vt -0.000000 0.937500
|
||||
vt -0.000000 1.000000
|
||||
vt -0.000000 0.937500
|
||||
vt 1.000000 0.937500
|
||||
vt 1.000000 1.000000
|
||||
vt -0.000000 0.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt -0.000000 0.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 0.7071 0.0000 -0.7071
|
||||
vn 0.7071 0.0000 0.7071
|
||||
g Cube_Cube.001_top-bottom
|
||||
s off
|
||||
f 14/1/1 2/2/1 10/3/1 1/4/1
|
||||
f 11/5/2 13/6/2 15/7/2 12/8/2
|
||||
g Cube_Cube.001_edges
|
||||
f 11/5/3 12/9/3 10/10/3 2/11/3
|
||||
f 13/6/4 14/12/4 1/13/4 15/14/4
|
||||
f 12/15/5 15/16/5 1/17/5 10/18/5
|
||||
f 13/19/6 11/20/6 2/21/6 14/22/6
|
||||
g Cube_Cube.001_top-bot_with_legs
|
||||
f 20/23/2 3/24/2 4/25/2 18/26/2
|
||||
f 16/27/1 17/28/1 19/29/1 5/30/1
|
||||
g Cube_Cube.001_edges_with_legs
|
||||
f 20/31/5 19/32/5 17/33/5 3/34/5
|
||||
f 4/25/3 3/35/3 17/36/3 16/37/3
|
||||
f 19/38/4 20/39/4 18/26/4 5/40/4
|
||||
f 4/41/6 16/42/6 5/43/6 18/44/6
|
||||
g Cube_Cube.001_legs
|
||||
f 21/45/7 23/46/7 24/47/7 22/48/7
|
||||
f 6/49/8 8/50/8 9/51/8 7/52/8
|
@ -1,43 +1,139 @@
|
||||
v 0.499 -0.499 -0.499
|
||||
v 0.499 -0.499 0.499
|
||||
v -0.499 -0.499 0.499
|
||||
v -0.499 -0.499 -0.499
|
||||
v 0.499 -0.469 -0.499
|
||||
v 0.499 -0.469 0.499
|
||||
v -0.499 -0.469 0.499
|
||||
v -0.499 -0.469 -0.499
|
||||
v 0.469 -0.437 -0.469
|
||||
v 0.469 -0.437 0.469
|
||||
v -0.469 -0.437 0.469
|
||||
v -0.469 -0.437 -0.469
|
||||
vt 0.5 0.029
|
||||
vt 0.971 0.029
|
||||
vt 0.971 0.5
|
||||
vt 0.5 0.5
|
||||
vt 0.015 0.985
|
||||
vt 0.015 0.515
|
||||
vt 0.029 0.529
|
||||
vt 0.029 0.971
|
||||
vt 0.985 0.5
|
||||
vt 0.985 0.029
|
||||
vt 0.5 0.515
|
||||
vt 0.971 0.515
|
||||
vt 0.485 0.029
|
||||
vt 0.485 0.5
|
||||
vt 0.971 0.015
|
||||
vt 0.5 0.015
|
||||
vt 0.471 0.971
|
||||
vt 0.471 0.529
|
||||
vt 0.485 0.515
|
||||
vt 0.485 0.985
|
||||
# Blender v2.83.5 OBJ File: 'homedecor small square table with legs.blend'
|
||||
# www.blender.org
|
||||
o Cube_Cube.001
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v -0.500000 0.437500 -0.500000
|
||||
v -0.353553 -0.500000 0.353554
|
||||
v -0.353553 0.437515 0.353554
|
||||
v 0.353553 -0.500000 -0.353553
|
||||
v 0.353553 0.437515 -0.353553
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v 0.500000 0.437500 -0.500000
|
||||
v 0.500000 0.437500 0.500000
|
||||
v -0.500000 0.437500 0.500000
|
||||
v 0.353553 -0.500000 0.353554
|
||||
v 0.353553 0.437515 0.353554
|
||||
v -0.353553 -0.500000 -0.353553
|
||||
v -0.353553 0.437515 -0.353553
|
||||
v 0.468750 0.500000 0.468750
|
||||
v 0.500000 0.468750 0.500000
|
||||
v 0.500000 0.468750 -0.500000
|
||||
v 0.468750 0.500000 -0.468750
|
||||
v 0.500000 -0.468750 -0.500000
|
||||
v 0.468750 -0.437500 -0.468750
|
||||
v 0.500000 -0.468750 0.500000
|
||||
v 0.468750 -0.437500 0.468750
|
||||
v -0.500000 -0.468750 -0.500000
|
||||
v -0.468750 -0.437500 -0.468750
|
||||
v -0.468750 -0.437500 0.468750
|
||||
v -0.500000 -0.468750 0.500000
|
||||
v -0.468750 0.500000 -0.468750
|
||||
v -0.500000 0.468750 -0.500000
|
||||
v -0.468750 0.500000 0.468750
|
||||
v -0.500000 0.468750 0.500000
|
||||
vt -0.000000 -0.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 1.000000 0.500000
|
||||
vt -0.000000 0.500000
|
||||
vt 0.968750 0.984375
|
||||
vt 0.031250 0.984375
|
||||
vt 0.031250 0.515625
|
||||
vt 0.968750 0.515625
|
||||
vt 0.000000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 1.000000 0.968750
|
||||
vt 0.000000 0.968750
|
||||
vt 0.000000 0.937500
|
||||
vt 1.000000 0.937500
|
||||
vt 1.000000 0.968750
|
||||
vt 0.000000 0.968750
|
||||
vt 0.000000 0.937500
|
||||
vt 1.000000 0.937500
|
||||
vt 0.000000 0.968750
|
||||
vt 0.000000 0.937500
|
||||
vt 1.000000 0.937500
|
||||
vt 1.000000 0.968750
|
||||
vt 1.000000 0.968750
|
||||
vt 0.000000 0.968750
|
||||
vt 0.000000 0.937500
|
||||
vt 1.000000 0.937500
|
||||
vt 1.000000 -0.000000
|
||||
vt 1.000000 0.500000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 -0.000000
|
||||
vt 0.031250 0.515625
|
||||
vt 0.968750 0.515625
|
||||
vt 0.968750 0.984375
|
||||
vt 0.031250 0.984375
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 0.968750
|
||||
vt 0.000000 0.937500
|
||||
vt 1.000000 0.937500
|
||||
vt 1.000000 0.968750
|
||||
vt 0.000000 0.968750
|
||||
vt 0.000000 0.937500
|
||||
vt 1.000000 0.937500
|
||||
vt 1.000000 0.968750
|
||||
vt 1.000000 0.937500
|
||||
vt 1.000000 0.968750
|
||||
vt 0.000000 0.968750
|
||||
vt 0.000000 0.937500
|
||||
vt 1.000000 0.968750
|
||||
vt 0.000000 0.968750
|
||||
vt 0.000000 0.937500
|
||||
vt 1.000000 0.937500
|
||||
vt -0.000000 0.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt -0.000000 0.000000
|
||||
vt 1.000000 -0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vn 0.0000 -1.0000 0.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn 0.0000 0.7071 0.7071
|
||||
vn 0.7071 0.7071 0.0000
|
||||
vn 0.0000 0.7071 -0.7071
|
||||
vn -0.7071 0.7071 0.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
vn 0.7071 0.0000 -0.7071
|
||||
vn 0.7071 0.0000 0.7071
|
||||
g Cube_Cube.001_top-bottom
|
||||
s off
|
||||
f 1/1 2/2 3/3 4/4
|
||||
f 8/5 7/6 11/7 12/8
|
||||
f 1/9 5/3 6/2 2/10
|
||||
f 2/11 6/4 7/3 3/12
|
||||
f 3/13 7/1 8/4 4/14
|
||||
f 5/15 1/2 4/1 8/16
|
||||
f 9/17 12/8 11/7 10/18
|
||||
f 7/6 6/19 10/18 11/7
|
||||
f 5/20 8/5 12/8 9/17
|
||||
f 6/19 5/20 9/17 10/18
|
||||
f 9/1/1 2/2/1 8/3/1 1/4/1
|
||||
f 22/5/2 26/6/2 27/7/2 24/8/2
|
||||
f 24/8/3 27/7/3 28/9/3 23/10/3
|
||||
f 22/5/4 24/8/4 23/10/4 21/11/4
|
||||
f 26/6/5 22/5/5 21/11/5 25/12/5
|
||||
f 27/7/6 26/6/6 25/12/6 28/9/6
|
||||
g Cube_Cube.001_edges
|
||||
f 23/13/7 28/14/7 1/15/7 8/16/7
|
||||
f 25/17/8 21/18/8 2/19/8 9/20/8
|
||||
f 25/21/9 9/22/9 1/23/9 28/24/9
|
||||
f 21/25/10 23/26/10 8/27/10 2/28/10
|
||||
g Cube_Cube.001_top-bot_with_legs
|
||||
f 10/29/1 11/30/1 12/31/1 3/32/1
|
||||
f 31/33/2 17/34/2 20/35/2 29/36/2
|
||||
f 31/33/6 29/36/6 30/37/6 32/38/6
|
||||
f 20/35/4 17/34/4 18/39/4 19/40/4
|
||||
f 17/34/3 31/33/3 32/38/3 18/39/3
|
||||
f 29/36/5 20/35/5 19/40/5 30/37/5
|
||||
g Cube_Cube.001_edges_with_legs
|
||||
f 32/41/7 12/42/7 11/43/7 18/44/7
|
||||
f 19/45/8 10/46/8 3/47/8 30/48/8
|
||||
f 12/49/9 32/50/9 30/51/9 3/52/9
|
||||
f 19/53/10 18/54/10 11/55/10 10/56/10
|
||||
g Cube_Cube.001_legs
|
||||
f 13/57/11 15/58/11 16/59/11 14/60/11
|
||||
f 4/61/12 6/62/12 7/63/12 5/64/12
|
||||
|
Before Width: | Height: | Size: 74 B |
Before Width: | Height: | Size: 189 B After Width: | Height: | Size: 189 B |
Before Width: | Height: | Size: 2.4 KiB |
BIN
homedecor_tables/textures/homedecor_glass_table_large_square.png
Normal file
After Width: | Height: | Size: 604 B |
After Width: | Height: | Size: 315 B |
Before Width: | Height: | Size: 146 B |
Before Width: | Height: | Size: 241 B After Width: | Height: | Size: 597 B |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 713 B |
Before Width: | Height: | Size: 358 B After Width: | Height: | Size: 642 B |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 334 B |
Before Width: | Height: | Size: 331 B After Width: | Height: | Size: 476 B |
BIN
homedecor_tables/textures/homedecor_table_legs_wood.png
Normal file
After Width: | Height: | Size: 357 B |
Before Width: | Height: | Size: 325 B After Width: | Height: | Size: 439 B |
Before Width: | Height: | Size: 465 B |
Before Width: | Height: | Size: 338 B |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 576 B |
BIN
homedecor_tables/textures/homedecor_wood_table_edges.png
Normal file
After Width: | Height: | Size: 204 B |
Before Width: | Height: | Size: 465 B |
Before Width: | Height: | Size: 4.0 KiB |
BIN
homedecor_tables/textures/homedecor_wood_table_large_square.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 652 B |
Before Width: | Height: | Size: 529 B |
Before Width: | Height: | Size: 573 B After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 982 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 901 B |