More correct implementation of assigning slots

This commit is contained in:
Misode
2022-11-11 17:44:12 +01:00
parent 71aa886d9a
commit 0d76ff9cba

View File

@@ -89,7 +89,18 @@ function fillContainer(items: Item[], ctx: LootContext): SlottedItem[] {
}
function assignSlots(items: Item[]): SlottedItem[] {
return items.flatMap((item, i) => item.count > 0 ? [({ slot: i, item })] : [])
const results: SlottedItem[] = []
let slot = 0
for (const item of items) {
if (slot >= 27) {
break
}
if (item.id !== 'minecraft:air' && item.count > 0) {
results.push({ slot, item })
slot += 1
}
}
return results
}
function splitItem(item: Item, count: number): Item {