drop invalid item instead of erase it

This commit is contained in:
Brian Rahardi 2019-07-16 09:40:28 +07:00 committed by GitHub
parent 47ecef46f7
commit 2ac90f8d19
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -110,6 +110,7 @@ end)
local function validate_armor_inventory(player) local function validate_armor_inventory(player)
-- Workaround for detached inventory swap exploit -- Workaround for detached inventory swap exploit
local _, inv = armor:get_valid_player(player, "[validate_armor_inventory]") local _, inv = armor:get_valid_player(player, "[validate_armor_inventory]")
local pos = player:get_pos()
if not inv then if not inv then
return return
end end
@ -140,6 +141,7 @@ local function validate_armor_inventory(player)
elements[element] = true; elements[element] = true;
else else
inv:remove_item("armor", stack) inv:remove_item("armor", stack)
minetest.item_drop(stack, player, pos)
-- The following code returns invalid items to the player's main -- The following code returns invalid items to the player's main
-- inventory but could open up the possibity for a hacked client -- inventory but could open up the possibity for a hacked client
-- to receive items back they never really had. I am not certain -- to receive items back they never really had. I am not certain