Skip to content
Snippets Groups Projects
Commit eb6089a0 authored by Vanessa Dannenberg's avatar Vanessa Dannenberg
Browse files

make wooden banister colorable via Unified Dyes

parent 41455647
No related branches found
No related tags found
No related merge requests found
......@@ -3273,6 +3273,19 @@ for i in ipairs(homedecor.banister_materials) do
})
end
unifieddyes.register_color_craft({
output = "",
palette = "split",
neutral_node = "homedecor:banister_wood_horizontal",
type = "shapeless",
output_prefix = "homedecor:banister_wood_horizontal_",
output_suffix = "",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE",
}
})
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
......@@ -257,6 +257,8 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
if not pos then return itemstack end
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
local meta = itemstack:get_meta()
local pindex = meta:get_int("palette_index")
local abovepos = { x=pos.x, y=pos.y+1, z=pos.z }
local abovenode = minetest.get_node(abovepos)
......@@ -371,7 +373,7 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
end
end
minetest.set_node(pos, {name = new_place_name, param2 = fdir})
minetest.set_node(pos, {name = new_place_name, param2 = fdir+pindex})
itemstack:take_item()
return itemstack
end
......@@ -483,23 +483,19 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do
local name, matdesc, tile1, tile2 = unpack(mat)
local nodename = "banister_"..name.."_"..side
local groups = { snappy = 3, not_in_creative_inventory = 1 }
local cbox = {
type = "fixed",
fixed = { -9/16, -3/16, 5/16, 9/16, 24/16, 8/16 }
}
if side == "horizontal" then
groups = { snappy = 3 }
cbox = {
type = "fixed",
fixed = { -8/16, -8/16, 5/16, 8/16, 8/16, 8/16 }
}
else
minetest.register_alias(string.gsub("homedecor:"..nodename, "diagonal_", ""), "homedecor:"..nodename)
end
homedecor.register(nodename, {
local def = {
description = S("Banister for Stairs (@1, @2)", matdesc, sidedesc),
mesh = "homedecor_banister_"..side..".obj",
tiles = {
......@@ -507,12 +503,35 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do
tile2,
},
inventory_image = "homedecor_banister_"..name.."_inv.png",
groups = groups,
selection_box = cbox,
collision_box = cbox,
groups = { snappy = 3},
on_place = homedecor.place_banister,
drop = "homedecor:banister_"..name.."_horizontal",
})
}
if side ~= "horizontal" then
def.groups.not_in_creative_inventory = 1
end
if name == "wood" then
def.airbrush_replacement_node = "homedecor:banister_wood_"..side.."_grey"
def.groups.ud_param2_colorable = 1
def.paramtype2 = "colorfacedir"
end
homedecor.register(nodename, def)
if name == "wood" then
local nn = "homedecor:"..nodename
local def2 = table.copy(minetest.registered_items[nn])
def2.tiles = {
homedecor.white_wood,
homedecor.white_wood
}
def2.inventory_image = "homedecor_banister_wood_colored_inv.png"
unifieddyes.generate_split_palette_nodes(nn, def2, "homedecor:banister_"..name.."_horizontal")
end
end
end
......
homedecor/textures/homedecor_banister_wood_colored_inv.png

2.43 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment