feat: add base:loot property (WIP)

This commit is contained in:
MihailRis
2024-12-26 17:53:04 +03:00
parent f8c0862587
commit 773d14406c
4 changed files with 30 additions and 2 deletions
+23
View File
@@ -11,4 +11,27 @@ function util.drop(ppos, itemid, count, pickup_delay)
}})
end
local function calc_loot(loot_table)
local results = {}
for _, loot in ipairs(loot_table) do
local chance = loot.chance or 1
local count = loot.count or 1
local roll = math.random()
if roll < chance then
table.insert(results, {item=loot.item, count=count})
end
end
return results
end
function util.block_loot(blockid)
local lootscheme = block.properties[blockid]["base:loot"]
if lootscheme then
return calc_loot(lootscheme)
end
return {{block.get_picking_item(blockid), 1}}
end
return util