Skip to content

Commit

Permalink
Don't create bones if the player's inventory is empty
Browse files Browse the repository at this point in the history
  • Loading branch information
arsdragonfly authored and ShadowNinja committed Jun 25, 2014
1 parent 579c279 commit 253af00
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions mods/bones/init.lua
Expand Up @@ -51,10 +51,8 @@ minetest.register_node("bones:bones", {

on_metadata_inventory_take = function(pos, listname, index, stack, player)
local meta = minetest.get_meta(pos)
if meta:get_string("owner") ~= "" and meta:get_inventory():is_empty("main") then
meta:set_string("infotext", meta:get_string("owner").."'s old bones")
meta:set_string("formspec", "")
meta:set_string("owner", "")
if meta:get_inventory():is_empty("main") then
minetest.remove_node(pos)
end
end,

Expand Down Expand Up @@ -82,6 +80,12 @@ minetest.register_on_dieplayer(function(player)
return
end

local player_inv = player:get_inventory()
if player_inv:is_empty("main") and
player_inv:is_empty("craft") then
return
end

local pos = player:getpos()
pos.x = math.floor(pos.x+0.5)
pos.y = math.floor(pos.y+0.5)
Expand All @@ -91,8 +95,6 @@ minetest.register_on_dieplayer(function(player)
local nn = minetest.get_node(pos).name
if minetest.registered_nodes[nn].can_dig and
not minetest.registered_nodes[nn].can_dig(pos, player) then
local player_inv = player:get_inventory()

for i=1,player_inv:get_size("main") do
player_inv:set_stack("main", i, nil)
end
Expand All @@ -107,7 +109,6 @@ minetest.register_on_dieplayer(function(player)

local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
local player_inv = player:get_inventory()
inv:set_size("main", 8*4)

local empty_list = inv:get_list("main")
Expand Down

0 comments on commit 253af00

Please sign in to comment.