From 4b8899736084cee9bb3ac1090ea9f3f7275d573a Mon Sep 17 00:00:00 2001 From: Vanessa Dannenberg Date: Wed, 12 Sep 2018 18:32:38 -0400 Subject: add helper function for registering split palette nodes --- init.lua | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'init.lua') diff --git a/init.lua b/init.lua index b977b31..1be45c4 100644 --- a/init.lua +++ b/init.lua @@ -206,6 +206,35 @@ end function unifieddyes.after_dig_node(foo) end +-- This helper function creates multiple copies of the passed node, +-- for the split palette - one per hue, plus grey - and assigns +-- proper palettes and other attributes + +function unifieddyes.generate_split_palette_nodes(name, def, drop) + for _, color in ipairs(unifieddyes.HUES_WITH_GREY) do + local def2 = table.copy(def) + local desc_color = string.gsub(string.upper(string.sub(color, 1, 1))..string.sub(color, 2), "_", " ") + if string.sub(def2.description, -1) == ")" then + def2.description = string.sub(def2.description, 1, -2)..", "..desc_color..")" + else + def2.description = def2.description.."("..desc_color..")" + end + def2.palette = "unifieddyes_palette_"..color.."s.png" + def2.paramtype2 = "colorfacedir" + def2.groups.ud_param2_colorable = 1 + + if drop then + def2.drop = { + items = { + {items = {drop.."_"..color}, inherit_color = true }, + } + } + end + + minetest.register_node(":"..name.."_"..color, def2) + end +end + -- This helper function creates a colored itemstack function unifieddyes.make_colored_itemstack(item, palette, color) -- cgit v1.2.3