gloopblocks, homedecor, ilights, led marquee, plasticbox, solidcolor, stained_glass, unified bricks, and unified dyes In most of these, the update is to shift over to the new "old" coloring paradigm in Unified Dyes. See its forum thread for details.
247 lines
6.5 KiB
Lua
247 lines
6.5 KiB
Lua
|
|
local S = homedecor_i18n.gettext
|
|
|
|
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 kc_cbox = {
|
|
type = "fixed",
|
|
fixed = { -0.3125, -0.5, -0.3125, 0.3125, 0.5, 0.3125 },
|
|
}
|
|
|
|
local ac_cbox = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, -0.5, -0.5, 0.5, 0, 0.5 },
|
|
{-0.5, -0.5, 0.4, 0.5, 0.5, 0.5 }
|
|
}
|
|
}
|
|
|
|
homedecor.register("kitchen_chair_wood", {
|
|
description = S("Kitchen chair"),
|
|
mesh = "homedecor_kitchen_chair.obj",
|
|
tiles = {
|
|
homedecor.plain_wood,
|
|
homedecor.plain_wood
|
|
},
|
|
inventory_image = "homedecor_chair_wood_inv.png",
|
|
paramtype2 = "wallmounted",
|
|
selection_box = kc_cbox,
|
|
collision_box = kc_cbox,
|
|
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
|
|
sounds = default.node_sound_wood_defaults(),
|
|
after_place_node = unifieddyes.fix_rotation_nsew,
|
|
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
|
pos.y = pos.y+0 -- where do I put my ass ?
|
|
homedecor.sit(pos, node, clicker)
|
|
return itemstack
|
|
end
|
|
})
|
|
|
|
homedecor.register("kitchen_chair_padded", {
|
|
description = S("Kitchen chair"),
|
|
mesh = "homedecor_kitchen_chair.obj",
|
|
tiles = {
|
|
homedecor.plain_wood,
|
|
"wool_white.png",
|
|
},
|
|
inventory_image = "homedecor_chair_padded_inv.png",
|
|
paramtype2 = "colorwallmounted",
|
|
palette = "unifieddyes_palette_colorwallmounted.png",
|
|
selection_box = kc_cbox,
|
|
collision_box = kc_cbox,
|
|
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, ud_param2_colorable = 1},
|
|
sounds = default.node_sound_wood_defaults(),
|
|
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
|
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
|
end,
|
|
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
|
pos.y = pos.y+0 -- where do I put my ass ?
|
|
homedecor.sit(pos, node, clicker)
|
|
return itemstack
|
|
end
|
|
})
|
|
|
|
homedecor.register("armchair", {
|
|
description = S("Armchair"),
|
|
mesh = "forniture_armchair.obj",
|
|
tiles = {
|
|
"wool_white.png",
|
|
{ name = "wool_dark_grey.png", color = 0xffffffff },
|
|
{ name = "default_wood.png", color = 0xffffffff }
|
|
},
|
|
inventory_image = "homedecor_armchair_inv.png",
|
|
paramtype2 = "colorwallmounted",
|
|
palette = "unifieddyes_palette_colorwallmounted.png",
|
|
groups = {snappy=3, ud_param2_colorable = 1},
|
|
sounds = default.node_sound_wood_defaults(),
|
|
node_box = ac_cbox,
|
|
after_place_node = function(pos, placer, itemstack, pointed_thing)
|
|
unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
|
|
end,
|
|
on_rotate = unifieddyes.fix_after_screwdriver_nsew,
|
|
})
|
|
|
|
local ob_cbox = {
|
|
type = "fixed",
|
|
fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0.5 }
|
|
}
|
|
|
|
minetest.register_node(":homedecor:openframe_bookshelf", {
|
|
description = S("Bookshelf (open-frame)"),
|
|
drawtype = "mesh",
|
|
mesh = "homedecor_openframe_bookshelf.obj",
|
|
tiles = {
|
|
"homedecor_openframe_bookshelf_books.png",
|
|
"default_wood.png"
|
|
},
|
|
groups = {choppy=3,oddly_breakable_by_hand=2,flammable=3},
|
|
sounds = default.node_sound_wood_defaults(),
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
selection_box = ob_cbox,
|
|
collision_box = ob_cbox,
|
|
})
|
|
|
|
homedecor.register("wall_shelf", {
|
|
description = S("Wall Shelf"),
|
|
tiles = {
|
|
"homedecor_wood_table_large_edges.png",
|
|
},
|
|
groups = { snappy = 3 },
|
|
sounds = default.node_sound_wood_defaults(),
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.5, 0.4, 0.47, 0.5, 0.47, 0.5},
|
|
{-0.5, 0.47, -0.1875, 0.5, 0.5, 0.5}
|
|
}
|
|
}
|
|
})
|
|
|
|
-- Aliases for 3dforniture mod.
|
|
|
|
minetest.register_alias("3dforniture:table", "homedecor:table")
|
|
minetest.register_alias("3dforniture:chair", "homedecor:chair")
|
|
minetest.register_alias("3dforniture:armchair", "homedecor:armchair_black")
|
|
minetest.register_alias("homedecor:armchair", "homedecor:armchair_black")
|
|
|
|
minetest.register_alias('table', 'homedecor:table')
|
|
minetest.register_alias('chair', 'homedecor:chair')
|
|
minetest.register_alias('armchair', 'homedecor:armchair')
|
|
|
|
-- conversion to param2 colorization
|
|
|
|
homedecor.old_static_chairs = {}
|
|
|
|
local chair_colors = {
|
|
"black",
|
|
"brown",
|
|
"blue",
|
|
"cyan",
|
|
"dark_grey",
|
|
"dark_green",
|
|
"green",
|
|
"grey",
|
|
"magenta",
|
|
"orange",
|
|
"pink",
|
|
"red",
|
|
"violet",
|
|
"white",
|
|
"yellow",
|
|
}
|
|
|
|
for _, color in ipairs(chair_colors) do
|
|
table.insert(homedecor.old_static_chairs, "homedecor:chair_"..color)
|
|
table.insert(homedecor.old_static_chairs, "homedecor:armchair_"..color)
|
|
end
|
|
table.insert(homedecor.old_static_chairs, "homedecor:chair")
|
|
|
|
minetest.register_lbm({
|
|
name = "homedecor:convert_chairs",
|
|
label = "Convert homedecor chairs to use param2 color",
|
|
run_at_every_load = false,
|
|
nodenames = homedecor.old_static_chairs,
|
|
action = function(pos, node)
|
|
local name = node.name
|
|
local paletteidx = 0
|
|
local color
|
|
local a,b = string.find(name, "_")
|
|
|
|
if a then
|
|
color = string.sub(name, a+1)
|
|
|
|
if color == "blue" then
|
|
color = "medium_blue"
|
|
elseif color == "violet" then
|
|
color = "medium_violet"
|
|
elseif color == "red" then
|
|
color = "medium_red"
|
|
elseif color == "black" then
|
|
color = "dark_grey"
|
|
end
|
|
|
|
paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "wallmounted")
|
|
end
|
|
|
|
local old_fdir = math.floor(node.param2 % 32)
|
|
local new_fdir = 3
|
|
|
|
if old_fdir == 0 then
|
|
new_fdir = 3
|
|
elseif old_fdir == 1 then
|
|
new_fdir = 4
|
|
elseif old_fdir == 2 then
|
|
new_fdir = 2
|
|
elseif old_fdir == 3 then
|
|
new_fdir = 5
|
|
end
|
|
|
|
local param2 = paletteidx + new_fdir
|
|
local newname = "homedecor:armchair"
|
|
|
|
if node.name == "homedecor:chair" then
|
|
newname = "homedecor:kitchen_chair_wood"
|
|
elseif string.find(node.name, "homedecor:chair_") then
|
|
newname = "homedecor:kitchen_chair_padded"
|
|
end
|
|
|
|
minetest.set_node(pos, { name = newname, param2 = param2 })
|
|
local meta = minetest.get_meta(pos)
|
|
if color then
|
|
meta:set_string("dye", "unifieddyes:"..color)
|
|
end
|
|
end
|
|
})
|