Skip to content

Commit ef6b8be

Browse files
committedFeb 21, 2013
Drop nodes as items when dugged and no room in inventory and dont remove dropped items when no room in inventory
1 parent b29834a commit ef6b8be

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed
 

‎builtin/item.lua

+9-1
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,15 @@ function minetest.handle_node_drops(pos, drops, digger)
290290
if digger:get_inventory() then
291291
local _, dropped_item
292292
for _, dropped_item in ipairs(drops) do
293-
digger:get_inventory():add_item("main", dropped_item)
293+
local left = digger:get_inventory():add_item("main", dropped_item)
294+
if not left:is_empty() then
295+
local p = {
296+
x = pos.x + math.random()/2-0.25,
297+
y = pos.y + math.random()/2-0.25,
298+
z = pos.z + math.random()/2-0.25,
299+
}
300+
minetest.env:add_item(p, left)
301+
end
294302
end
295303
end
296304
end

‎builtin/item_entity.lua

+4-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,10 @@ minetest.register_entity("__builtin:item", {
109109

110110
on_punch = function(self, hitter)
111111
if self.itemstring ~= '' then
112-
hitter:get_inventory():add_item("main", self.itemstring)
112+
local left = hitter:get_inventory():add_item("main", self.itemstring)
113+
if not left:is_empty() then
114+
return
115+
end
113116
end
114117
self.object:remove()
115118
end,

0 commit comments

Comments
 (0)
Please sign in to comment.