mirror of
https://github.com/mt-mods/homedecor_modpack.git
synced 2024-12-22 16:10:18 +01:00
make wooden banister colorable via Unified Dyes
This commit is contained in:
parent
41455647a2
commit
eb6089a03e
@ -3273,6 +3273,19 @@ for i in ipairs(homedecor.banister_materials) do
|
|||||||
})
|
})
|
||||||
end
|
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
|
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"} })
|
technic.register_separating_recipe({ input = {"bees:wax 1"}, output = {"homedecor:oil_extract 2","dye:yellow 1"} })
|
||||||
end
|
end
|
||||||
|
@ -257,6 +257,8 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
|
|||||||
if not pos then return itemstack end
|
if not pos then return itemstack end
|
||||||
|
|
||||||
local fdir = minetest.dir_to_facedir(placer:get_look_dir())
|
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 abovepos = { x=pos.x, y=pos.y+1, z=pos.z }
|
||||||
local abovenode = minetest.get_node(abovepos)
|
local abovenode = minetest.get_node(abovepos)
|
||||||
@ -371,7 +373,7 @@ function homedecor.place_banister(itemstack, placer, pointed_thing)
|
|||||||
end
|
end
|
||||||
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()
|
itemstack:take_item()
|
||||||
return itemstack
|
return itemstack
|
||||||
end
|
end
|
||||||
|
@ -483,23 +483,19 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do
|
|||||||
local name, matdesc, tile1, tile2 = unpack(mat)
|
local name, matdesc, tile1, tile2 = unpack(mat)
|
||||||
local nodename = "banister_"..name.."_"..side
|
local nodename = "banister_"..name.."_"..side
|
||||||
|
|
||||||
local groups = { snappy = 3, not_in_creative_inventory = 1 }
|
|
||||||
local cbox = {
|
local cbox = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = { -9/16, -3/16, 5/16, 9/16, 24/16, 8/16 }
|
fixed = { -9/16, -3/16, 5/16, 9/16, 24/16, 8/16 }
|
||||||
}
|
}
|
||||||
|
|
||||||
if side == "horizontal" then
|
if side == "horizontal" then
|
||||||
groups = { snappy = 3 }
|
|
||||||
cbox = {
|
cbox = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = { -8/16, -8/16, 5/16, 8/16, 8/16, 8/16 }
|
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
|
end
|
||||||
|
|
||||||
homedecor.register(nodename, {
|
local def = {
|
||||||
description = S("Banister for Stairs (@1, @2)", matdesc, sidedesc),
|
description = S("Banister for Stairs (@1, @2)", matdesc, sidedesc),
|
||||||
mesh = "homedecor_banister_"..side..".obj",
|
mesh = "homedecor_banister_"..side..".obj",
|
||||||
tiles = {
|
tiles = {
|
||||||
@ -507,12 +503,35 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do
|
|||||||
tile2,
|
tile2,
|
||||||
},
|
},
|
||||||
inventory_image = "homedecor_banister_"..name.."_inv.png",
|
inventory_image = "homedecor_banister_"..name.."_inv.png",
|
||||||
groups = groups,
|
|
||||||
selection_box = cbox,
|
selection_box = cbox,
|
||||||
collision_box = cbox,
|
collision_box = cbox,
|
||||||
|
groups = { snappy = 3},
|
||||||
on_place = homedecor.place_banister,
|
on_place = homedecor.place_banister,
|
||||||
drop = "homedecor:banister_"..name.."_horizontal",
|
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
|
||||||
end
|
end
|
||||||
|
|
||||||
|
BIN
homedecor/textures/homedecor_banister_wood_colored_inv.png
Normal file
BIN
homedecor/textures/homedecor_banister_wood_colored_inv.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.4 KiB |
Loading…
Reference in New Issue
Block a user