forked from VoxeLibre/VoxeLibre
Fixed a crash
Crash when the cape field is not set. It is not set when joining an old world with the capes PR applied. Also trimmed trailing.
This commit is contained in:
parent
d3c591915f
commit
d1ac98a019
|
@ -163,6 +163,8 @@ function mcl_skins.update_player_skin(player)
|
|||
local skin = mcl_skins.player_skins[player]
|
||||
local skinval = mcl_skins.compile_skin(skin)
|
||||
|
||||
if not skin.cape then skin.cape = "blank.png" end
|
||||
|
||||
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.
|
||||
|
@ -283,7 +285,7 @@ function mcl_skins.show_formspec(player, active_tab, page_num)
|
|||
|
||||
|
||||
local cape_tab = active_tab == "cape"
|
||||
|
||||
|
||||
if active_tab == "skin" then
|
||||
local page_start = (page_num - 1) * 8 - 1
|
||||
local page_end = math.min(page_start + 8 - 1, #mcl_skins.simple_skins)
|
||||
|
@ -351,7 +353,7 @@ function mcl_skins.show_formspec(player, active_tab, page_num)
|
|||
end
|
||||
|
||||
local slot_offset = 0
|
||||
|
||||
|
||||
if page_num == 1 then
|
||||
formspec = formspec ..
|
||||
"label[6,3;" .. S("(None)") .. "]"..
|
||||
|
@ -486,7 +488,7 @@ function mcl_skins.show_formspec(player, active_tab, page_num)
|
|||
end
|
||||
|
||||
if page_num > 1 then
|
||||
if cape_tab then
|
||||
if cape_tab then
|
||||
formspec = formspec ..
|
||||
"image_button[4.5,0.7;1,1;mcl_skins_arrow.png^[transformFX;previous_page;]"
|
||||
else
|
||||
|
@ -723,4 +725,4 @@ if not minetest.settings:get_bool("mcl_keepInventory", false) then
|
|||
minetest.register_on_respawnplayer(function(player)
|
||||
mcl_skins.update_player_skin(player) -- ensures players have their cape again after dying with an elytra
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue