diff --git a/src/main/java/kaptainwutax/seedcracker/cracker/ChestLootData.java b/src/main/java/kaptainwutax/seedcracker/cracker/ChestLootData.java index 06ae207..c2f0330 100644 --- a/src/main/java/kaptainwutax/seedcracker/cracker/ChestLootData.java +++ b/src/main/java/kaptainwutax/seedcracker/cracker/ChestLootData.java @@ -40,18 +40,23 @@ public class ChestLootData implements ISeedData { .put(LootContextParameters.POSITION, new BlockPos(0, 0, 0)).build(LootContextTypes.CHEST); List itemStacks = this.lootTable.getDrops(lootContext); + Map lootItems = new HashMap<>(); + + itemStacks.forEach(itemStack -> { + lootItems.put(itemStack.getItem(), lootItems.getOrDefault(itemStack.getItem(), 0) + itemStack.getCount()); + }); Set foundItems = new HashSet<>(); - for(ItemStack itemStack: itemStacks) { - Item item = itemStack.getItem(); + for(Map.Entry lootItem: lootItems.entrySet()) { + Item item = lootItem.getKey(); List stacks = this.stacksMap.get(item); if(stacks == null)continue; boolean matches = true; for(Stack stack: stacks) { - if(!stack.test(itemStack.getCount())) { + if(!stack.test(lootItem.getValue())) { matches = false; break; }