mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-04 23:31:05 +01:00
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
1 changed files with 6 additions and 4 deletions
|
@ -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 a new issue