From 80f99cffe7e72f3fb9b62cd6731b63d74c52cf74 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sun, 7 Aug 2016 04:38:08 +0200 Subject: [PATCH] Take count into account for complex node drops --- api.lua | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/api.lua b/api.lua index 98884a3..7ccf289 100644 --- a/api.lua +++ b/api.lua @@ -61,16 +61,27 @@ minetest.after(0.01, function() --[[ Extract single items from the table and save them into dedicated table to register them later, in order to avoid duplicates ]] local drop_memo = {} + --[[ Also take count into account ]] + local drop_count = {} for i=1,#def.drop.items do local itit = def.drop.items[i] for j=1,#itit.items do local dstack = ItemStack(itit.items[j]) if not dstack:is_empty() and dstack:get_name() ~= name then local dname = dstack:get_name() + local dcount = dstack:get_count() + if drop_count[dname] == nil then + drop_count[dname] = 0 + end if #itit.items == 1 and itit.rarity == 1 then + if drop_count[dname] == "digging_chance" then + drop_count[dname] = 0 + end drop_memo[dname] = "digging" + drop_count[dname] = drop_count[dname] + dcount elseif drop_memo[dname] ~= "digging" then drop_memo[dname] = "digging_chance" + drop_count[dname] = drop_count[dname] + dcount end end end @@ -79,7 +90,7 @@ minetest.after(0.01, function() unified_inventory.register_craft({ type = crafttype, items = {name}, - output = itemstring, + output = itemstring .. " " .. drop_count[itemstring], width = 0, }) end