diff --git a/mods/ITEMS/mcl_armor/api.lua b/mods/ITEMS/mcl_armor/api.lua index 0d82ca440..5ac172a2a 100644 --- a/mods/ITEMS/mcl_armor/api.lua +++ b/mods/ITEMS/mcl_armor/api.lua @@ -91,7 +91,13 @@ local function get_armor_texture(textures, name, modname, itemname, itemstring) mcl_armor.trims.core_textures[itemstring] = core_texture local func = function(obj, itemstack) local overlay = itemstack:get_meta():get_string("mcl_armor:trim_overlay") - local core_armor_texture = mcl_armor.trims.core_textures[itemstack:get_name()] + local core_armor_texture + local stack_name = mcl_grindstone.remove_enchant_name(itemstack) -- gets original itemstring if enchanted, no need to store (nearly) identical values + local core_armor_texture = mcl_armor.trims.core_textures[stack_name] + + if mcl_enchanting.is_enchanted(itemstack:get_name()) then -- working with the original stack to know wether to apply enchanting overlay or not + core_armor_texture = core_armor_texture .. mcl_enchanting.overlay + end if overlay == "" then return core_armor_texture end -- key not present; armor not trimmed diff --git a/mods/ITEMS/mcl_armor/mod.conf b/mods/ITEMS/mcl_armor/mod.conf index fad2e494c..cfbaa831f 100644 --- a/mods/ITEMS/mcl_armor/mod.conf +++ b/mods/ITEMS/mcl_armor/mod.conf @@ -1,5 +1,5 @@ name = mcl_armor author = stu description = Adds craftable armor that is visible to other players. -depends = mcl_core, mcl_player, mcl_enchanting, mcl_damage +depends = mcl_core, mcl_player, mcl_enchanting, mcl_damage, mcl_grindstone optional_depends = mcl_fire, ethereal, bakedclay diff --git a/mods/ITEMS/mcl_armor/trims.lua b/mods/ITEMS/mcl_armor/trims.lua index c29d16bb6..9e8e32625 100644 --- a/mods/ITEMS/mcl_armor/trims.lua +++ b/mods/ITEMS/mcl_armor/trims.lua @@ -1,5 +1,5 @@ local mod_registername = minetest.get_current_modname() .. ":" -local S = minetest.get_translator(modname) +local S = minetest.get_translator(minetest.get_current_modname()) for _, template_name in pairs(mcl_armor.trims.overlays) do minetest.register_craftitem(mod_registername .. template_name, { diff --git a/mods/ITEMS/mcl_grindstone/init.lua b/mods/ITEMS/mcl_grindstone/init.lua index e0137dcd1..f3ceaf825 100644 --- a/mods/ITEMS/mcl_grindstone/init.lua +++ b/mods/ITEMS/mcl_grindstone/init.lua @@ -1,5 +1,7 @@ -- Code based from mcl_anvils +mcl_grindstone = {} + local S = minetest.get_translator(minetest.get_current_modname()) local F = minetest.formspec_escape local C = minetest.colorize @@ -55,7 +57,7 @@ local function create_new_item(name_item, meta, wear) end -- If an item has an enchanment then remove "_enchanted" from the name -local function remove_enchant_name(stack) +function mcl_grindstone.remove_enchant_name(stack) if mcl_enchanting.is_enchanted(stack:get_name()) then local name = stack:get_name() return name.sub(name, 1, -11) @@ -116,8 +118,8 @@ local function update_grindstone_slots(meta) local def1 = input1:get_definition() local def2 = input2:get_definition() -- Remove enchant name if they have one - local name1 = remove_enchant_name(input1) - local name2 = remove_enchant_name(input2) + local name1 = mcl_grindstone.remove_enchant_name(input1) + local name2 = mcl_grindstone.remove_enchant_name(input2) -- Calculate repair local function calculate_repair(dur1, dur2) @@ -143,7 +145,7 @@ local function update_grindstone_slots(meta) local def1 = input1:get_definition() local meta = input1:get_meta() if def1.type == "tool" and mcl_enchanting.is_enchanted(input1:get_name()) then - local name = remove_enchant_name(input1) + local name = mcl_grindstone.remove_enchant_name(input1) local wear = input1:get_wear() local new_item = create_new_item(name, meta, wear) new_output = transfer_curse(input1, new_item) @@ -157,7 +159,7 @@ local function update_grindstone_slots(meta) local def2 = input2:get_definition() local meta = input2:get_meta() if def2.type == "tool" and mcl_enchanting.is_enchanted(input2:get_name()) then - local name = remove_enchant_name(input2) + local name = mcl_grindstone.remove_enchant_name(input2) local wear = input2:get_wear() local new_item = create_new_item(name, meta, wear) new_output = transfer_curse(input2, new_item)