From 6d2090272fadc6956e2bc031cc2c2f30d4728ae5 Mon Sep 17 00:00:00 2001 From: Luke aka SwissalpS Date: Thu, 11 Apr 2024 06:27:29 +0200 Subject: [PATCH] preserve colour on repair by crafting --- crafts.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/crafts.lua b/crafts.lua index 748b356..379ee8a 100644 --- a/crafts.lua +++ b/crafts.lua @@ -40,6 +40,14 @@ local function get_color_name(name) return name end +local function get_color_name_from_color(color) + for name, color_hex in pairs(dye_colors) do + if color == color_hex then + return name + end + end +end + -- This recipe is just a placeholder do local item = ItemStack("hangglider:hangglider") @@ -61,9 +69,15 @@ minetest.register_on_craft(function(crafted_item, _, old_craft_grid) local name = stack:get_name() if name == "hangglider:hangglider" then wear = stack:get_wear() + color = stack:get_meta():get("hangglider_color") + color_name = get_color_name_from_color(color) elseif minetest.get_item_group(name, "dye") ~= 0 then color = get_dye_color(name) color_name = get_color_name(name) + elseif "wool:white" == stack:get_name() + or "default:paper" == stack:get_name() + then + wear = 0 end end if wear and color and color_name then