fix cape rendering conflicts
The elytra and the normal cape were able to render at the same time while wearing an elytra.patch_skins
parent
89eb0f9b3e
commit
bfe333ef60
|
@ -241,7 +241,7 @@ minetest.register_tool("mcl_armor:elytra", {
|
||||||
local cape = mcl_skins.player_skins[obj].cape
|
local cape = mcl_skins.player_skins[obj].cape
|
||||||
if cape ~= "blank.png" then
|
if cape ~= "blank.png" then
|
||||||
local skinval = mcl_player.player_get_skin(obj)
|
local skinval = mcl_player.player_get_skin(obj)
|
||||||
skinval = skinval:gsub("^" .. cape, "")
|
skinval = skinval:gsub("%^" .. cape, "")
|
||||||
mcl_player.player_set_skin(obj, skinval)
|
mcl_player.player_set_skin(obj, skinval)
|
||||||
-- this doesn't mess with the data mcl_skins has, so when mcl_skins reloads (which happens when the elytra is unequipped), the normal cape returns
|
-- this doesn't mess with the data mcl_skins has, so when mcl_skins reloads (which happens when the elytra is unequipped), the normal cape returns
|
||||||
end
|
end
|
||||||
|
|
|
@ -161,8 +161,16 @@ function mcl_skins.update_player_skin(player)
|
||||||
end
|
end
|
||||||
|
|
||||||
local skin = mcl_skins.player_skins[player]
|
local skin = mcl_skins.player_skins[player]
|
||||||
|
local skinval = mcl_skins.compile_skin(skin)
|
||||||
|
|
||||||
mcl_player.player_set_skin(player, mcl_skins.compile_skin(skin))
|
if player:get_inventory():get_stack("armor", 3):get_name() == "mcl_armor:elytra" then
|
||||||
|
skinval = skinval:gsub("%^" .. skin.cape, "")
|
||||||
|
-- don't render the "normal" cape on players while wearing the elytra.
|
||||||
|
-- this is NOT used when the player puts an elytra on, see register.lua in mcl_armor for that.
|
||||||
|
-- this is used when a player joins or changes something regarding their skin.
|
||||||
|
end
|
||||||
|
|
||||||
|
mcl_player.player_set_skin(player, skinval)
|
||||||
|
|
||||||
local slim_arms
|
local slim_arms
|
||||||
if skin.simple_skins_id then
|
if skin.simple_skins_id then
|
||||||
|
@ -705,7 +713,7 @@ end
|
||||||
init()
|
init()
|
||||||
|
|
||||||
if not minetest.settings:get_bool("mcl_keepInventory", false) then
|
if not minetest.settings:get_bool("mcl_keepInventory", false) then
|
||||||
minetest.register_on_dieplayer(function(player)
|
minetest.register_on_respawnplayer(function(player)
|
||||||
mcl_skins.update_player_skin(player) -- ensures players have their cape again after dying with an elytra
|
mcl_skins.update_player_skin(player) -- ensures players have their cape again after dying with an elytra
|
||||||
end)
|
end)
|
||||||
end
|
end
|
Loading…
Reference in New Issue