From fe0daf9bdce717db3a807b3e88d4f3b5c6913dcf Mon Sep 17 00:00:00 2001 From: LNJ Date: Sun, 26 Mar 2017 20:53:04 +0200 Subject: [PATCH] Drop all items on dug --- init.lua | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/init.lua b/init.lua index 5ae8718..4ddf992 100644 --- a/init.lua +++ b/init.lua @@ -304,8 +304,26 @@ end -- drop all items local function drawer_on_dig(pos, node, player) + local meta = core.get_meta(pos) + local count = meta:get_int("count") + local name = meta:get_string("name") + + -- remove node core.node_dig(pos, node, player) - return + + -- drop the items + local stack_max = ItemStack(name):get_stack_max() + + local j = math.floor(count / stack_max) + 1 + local i = 1 + while i <= j do + if not (i == j) then + core.add_item(pos, name .. " " .. stack_max) + else + core.add_item(pos, name .. " " .. count % stack_max) + end + i = i + 1 + end end function drawers.register_drawer(name, def)