local armor_skin = "blank_skin.png"
local stack = inv:get_stack("armor_head",1):get_name()
- stack = stack:gsub("_item.png","")
- stack = stack:gsub("armor:","")
if stack ~= "" then
- player_skin = player_skin.."^"..stack..".png"
+ local skin_element = minetest.get_itemdef(stack, "wearing_texture")
+ player_skin = player_skin.."^"..skin_element
end
stack = inv:get_stack("armor_torso",1):get_name()
- stack = stack:gsub("_item.png","")
- stack = stack:gsub("armor:","")
if stack ~= "" then
- armor_skin = armor_skin.."^"..stack..".png"
+ local skin_element = minetest.get_itemdef(stack, "wearing_texture")
+ armor_skin = armor_skin.."^"..skin_element
end
stack = inv:get_stack("armor_legs",1):get_name()
- stack = stack:gsub("_item.png","")
- stack = stack:gsub("armor:","")
if stack ~= "" then
- armor_skin = armor_skin.."^"..stack..".png"
+ local skin_element = minetest.get_itemdef(stack, "wearing_texture")
+ armor_skin = armor_skin.."^"..skin_element
end
stack = inv:get_stack("armor_feet",1):get_name()
- stack = stack:gsub("_item.png","")
- stack = stack:gsub("armor:","")
if stack ~= "" then
- armor_skin = armor_skin.."^"..stack..".png"
+ local skin_element = minetest.get_itemdef(stack, "wearing_texture")
+ armor_skin = armor_skin.."^"..skin_element
end
player:set_properties({textures = {player_skin,armor_skin}})
end
},
inventory_image = material_id.."_"..armor_id.."_item.png",
stack_max = 1,
+ wearing_texture = material_id.."_"..armor_id..".png",
tool_capabilities = {
full_punch_interval = 0,
max_drop_level = 0,
{"main:"..material_id, "", "main:"..material_id}
}
})
+ minetest.register_node("armor:"..material_id.."_"..armor_id.."particletexture", {
+ description = "NIL",
+ tiles = {material_id.."_"..armor_id.."_item.png"},
+ groups = {},
+ drop = "",
+ drawtype = "allfaces",
+ on_construct = function(pos)
+ minetest.remove_node(pos)
+ end,
+ })
end
end