From e0e139900f97397aa7ad8090436682dc251cabff Mon Sep 17 00:00:00 2001 From: Sebastian Hartte Date: Mon, 24 Aug 2020 21:19:27 +0200 Subject: [PATCH] Fix Spatial IO Port filtered inventory. --- .../spatial/SpatialIOPortBlockEntity.java | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/main/java/appeng/tile/spatial/SpatialIOPortBlockEntity.java b/src/main/java/appeng/tile/spatial/SpatialIOPortBlockEntity.java index 7a6e5a097..a1ed52d3b 100644 --- a/src/main/java/appeng/tile/spatial/SpatialIOPortBlockEntity.java +++ b/src/main/java/appeng/tile/spatial/SpatialIOPortBlockEntity.java @@ -20,6 +20,7 @@ package appeng.tile.spatial; import javax.annotation.Nonnull; +import alexiil.mc.lib.attributes.item.LimitedFixedItemInv; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.item.ItemStack; @@ -57,12 +58,16 @@ import appeng.util.inv.filter.IAEItemFilter; public class SpatialIOPortBlockEntity extends AENetworkInvBlockEntity implements IWorldCallable { private final AppEngInternalInventory inv = new AppEngInternalInventory(this, 2); - private final FixedItemInv invExt = new WrapperFilteredItemHandler(this.inv, new SpatialIOFilter()); + private final LimitedFixedItemInv invExt; private YesNo lastRedstoneState = YesNo.UNDECIDED; public SpatialIOPortBlockEntity(BlockEntityType tileEntityTypeIn) { super(tileEntityTypeIn); this.getProxy().setFlags(GridFlags.REQUIRE_CHANNEL); + + invExt = inv.createLimitedFixedInv(); + invExt.getRule(0).disallowExtraction().allowInsertion().filterInserts(this::isSpatialCell); + invExt.getRule(1).disallowInsertion().allowExtraction(); } @Override @@ -186,16 +191,4 @@ public class SpatialIOPortBlockEntity extends AENetworkInvBlockEntity implements } - private class SpatialIOFilter implements IAEItemFilter { - @Override - public boolean allowExtract(FixedItemInv inv, int slot, int amount) { - return slot == 1; - } - - @Override - public boolean allowInsert(FixedItemInv inv, int slot, ItemStack stack) { - return (slot == 0 && SpatialIOPortBlockEntity.this.isSpatialCell(stack)); - } - - } }