Skip to content

Commit 21ad20d

Browse files
committed
1 parent d20c1e2 commit 21ad20d

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

mods/bones/init.lua

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -244,13 +244,23 @@ bones.register_collect_items(function(player)
244244
local items = {}
245245
local player_inv = player:get_inventory()
246246
for _, list_name in ipairs(bones.player_inventory_lists) do
247-
table.insert_all(items, player_inv:get_list(list_name) or {})
247+
local inv_list=player_inv:get_list(list_name) or {}
248+
for _, inv_slot in ipairs(inv_list) do
249+
if inv_slot:get_count() > 0 then
250+
table.insert(items, inv_slot)
251+
end
252+
end
253+
248254
player_inv:set_list(list_name, {})
249255
end
250256
return items
251257
end)
252258

253-
local function collect_items(player)
259+
local function collect_items(player, player_name)
260+
if minetest.is_creative_enabled(player_name) then
261+
return {}
262+
end
263+
254264
local items = {}
255265
for _, cb in ipairs(collect_items_callbacks) do
256266
table.insert_all(items, cb(player))
@@ -321,9 +331,9 @@ minetest.register_on_dieplayer(function(player)
321331
local bones_position_message = minetest.settings:get_bool("bones_position_message") == true
322332
local pos_string = minetest.pos_to_string(player:get_pos())
323333

324-
local items = collect_items(player)
334+
local items = collect_items(player, player_name)
325335

326-
if bones_mode == "keep" or minetest.is_creative_enabled(player_name) or #items == 0 then
336+
if bones_mode == "keep" or #items == 0 then
327337
minetest.log("action", player_name .. " dies at " .. pos_string ..
328338
". No bones placed")
329339
if bones_position_message then

0 commit comments

Comments
 (0)