1 minetest
.register_on_dieplayer(function(player
)
2 local keep
= minetest
.settings
:get_bool("mcl_keepInventory") or false
4 -- Drop inventory, crafting grid and armor
5 local inv
= player
:get_inventory()
6 local pos
= player
:get_pos()
7 local name
, player_armor_inv
, armor_armor_inv
, pos
= armor
:get_valid_player(player
, "[on_dieplayer]")
8 -- No item drop if in deep void
9 local void
, void_deadly
= mcl_worlds
.is_in_void(pos
)
11 { inv
= inv
, listname
= "main", drop
= true },
12 { inv
= inv
, listname
= "craft", drop
= true },
13 { inv
= player_armor_inv
, listname
= "armor", drop
= true },
14 { inv
= armor_armor_inv
, listname
= "armor", drop
= false },
17 local inv
= lists
[l
].inv
18 local listname
= lists
[l
].listname
19 local drop
= lists
[l
].drop
21 for i
, stack
in ipairs(inv
:get_list(listname
)) do
22 local x
= math
.random(0, 9)/3
23 local z
= math
.random(0, 9)/3
26 if not void_deadly
and drop
then
27 minetest
.add_item(pos
, stack
)
30 inv
:set_stack(listname
, i
, stack
)
36 armor
:set_player_armor(player
)
37 armor
:update_inventory(player
)