Fix use of Fuel Registry (it is null not, 0 for unregistered items).

Fix Vibration Chamber inventory filter.
Fix Molecular Assembler inventory filter.
This commit is contained in:
Sebastian Hartte
2020-08-24 20:58:49 +02:00
parent 90ad345672
commit 858826d1fa
5 changed files with 79 additions and 88 deletions
@@ -18,17 +18,16 @@
package appeng.util.inv;
import javax.annotation.Nonnull;
import net.minecraft.item.ItemStack;
import alexiil.mc.lib.attributes.Simulation;
import alexiil.mc.lib.attributes.item.FixedItemInv;
import alexiil.mc.lib.attributes.item.ItemStackUtil;
import alexiil.mc.lib.attributes.item.LimitedFixedItemInv;
import alexiil.mc.lib.attributes.item.filter.ItemFilter;
import alexiil.mc.lib.attributes.item.impl.DelegatingFixedItemInv;
import appeng.util.inv.filter.IAEItemFilter;
import net.minecraft.item.ItemStack;
import javax.annotation.Nonnull;
// FIXME: Needs to be double checked, LBA has better ways of doing this
public class WrapperFilteredItemHandler extends DelegatingFixedItemInv {
@@ -39,6 +38,16 @@ public class WrapperFilteredItemHandler extends DelegatingFixedItemInv {
this.filter = filter;
}
public static LimitedFixedItemInv create(FixedItemInv base, IAEItemFilter filter) {
LimitedFixedItemInv limited = base.createLimitedFixedInv();
for (int i = 0; i < base.getSlotCount(); i++) {
int slot = i;
limited.getRule(i).filterInserts(stack -> filter.allowInsert(base, slot, stack))
.filterExtracts(stack -> filter.allowExtract(base, slot, stack.getCount()));
}
return limited;
}
@Override
public boolean setInvStack(int slot, ItemStack to, Simulation simulation) {
ItemStack current = this.getInvStack(slot);