diff --git a/mods/ITEMS/mcl_shields/init.lua b/mods/ITEMS/mcl_shields/init.lua index dddaf24e5..9eebd3e80 100644 --- a/mods/ITEMS/mcl_shields/init.lua +++ b/mods/ITEMS/mcl_shields/init.lua @@ -173,9 +173,10 @@ local function set_shield(player, block, i) end end local shield = mcl_shields.players[player].shields[i] - if shield then - shield:get_luaentity()._blocking = block - end + if not shield then return end + local luaentity = shield:get_luaentity() + if not luaentity then return end + luaentity._blocking = block end local function set_interact(player, interact) diff --git a/mods/PLAYER/mcl_wieldview/init.lua b/mods/PLAYER/mcl_wieldview/init.lua index ff70445e3..92175a17e 100644 --- a/mods/PLAYER/mcl_wieldview/init.lua +++ b/mods/PLAYER/mcl_wieldview/init.lua @@ -41,14 +41,19 @@ function mcl_wieldview.update_wielded_item(player) local def = mcl_wieldview.players[player] - if def.item == itemname then + if def and (def.item == itemname) then return end - def.item = itemname - def.texture = mcl_wieldview.get_item_texture(itemname) or "blank.png" + local texture = mcl_wieldview.get_item_texture(itemname) or "blank.png" - mcl_player.player_set_wielditem(player, def.texture) + local new_def = { + item = itemname, + texture = texture, + } + mcl_wieldview.players[player] = new_def + + mcl_player.player_set_wielditem(player, texture) end minetest.register_on_joinplayer(function(player)