diff options
author | Martin Robertz <dream-master@gmx.net> | 2020-12-19 22:53:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-19 22:53:19 +0100 |
commit | 11314ffc91e14d4b2fbc7e5d2bb98e59e0e8ab49 (patch) | |
tree | 7775f7b0a003ff6bd13c3322f8f216f1a45e49b5 /src/main/java/gregtech/api/metatileentity/implementations | |
parent | 677ca610b6d4789fa71153531d0911008012f7ac (diff) | |
parent | c89cf6b80eb25e842be49090534a2415d9e14534 (diff) | |
download | GT5-Unofficial-11314ffc91e14d4b2fbc7e5d2bb98e59e0e8ab49.tar.gz GT5-Unofficial-11314ffc91e14d4b2fbc7e5d2bb98e59e0e8ab49.tar.bz2 GT5-Unofficial-11314ffc91e14d4b2fbc7e5d2bb98e59e0e8ab49.zip |
Merge pull request #376 from GTNewHorizons/fix-move-items
Fix move items
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/implementations')
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java index c73e95e95b..6ed5a9edd0 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Item.java @@ -38,6 +38,7 @@ public class GT_MetaPipeEntity_Item extends MetaPipeEntity implements IMetaTileE public int mTransferredItems = 0; public byte mLastReceivedFrom = 0, oLastReceivedFrom = 0; public boolean mIsRestrictive = false; + private int[] cacheSides; public GT_MetaPipeEntity_Item(int aID, String aName, String aNameRegional, float aThickNess, Materials aMaterial, int aInvSlotCount, int aStepSize, boolean aIsRestrictive, int aTickTime) { super(aID, aName, aNameRegional, aInvSlotCount, false); @@ -313,6 +314,19 @@ public class GT_MetaPipeEntity_Item extends MetaPipeEntity implements IMetaTileE } @Override + public int[] getAccessibleSlotsFromSide(int aSide) { + IGregTechTileEntity tTileEntity = getBaseMetaTileEntity(); + boolean tAllow = tTileEntity.getCoverBehaviorAtSide((byte) aSide).letsItemsIn((byte) aSide, tTileEntity.getCoverIDAtSide((byte) aSide), tTileEntity.getCoverDataAtSide((byte) aSide), -2, tTileEntity) || tTileEntity.getCoverBehaviorAtSide((byte) aSide).letsItemsOut((byte) aSide, tTileEntity.getCoverIDAtSide((byte) aSide), tTileEntity.getCoverDataAtSide((byte) aSide), -2, tTileEntity); + if (tAllow) { + if (cacheSides == null) + cacheSides = super.getAccessibleSlotsFromSide(aSide); + return cacheSides; + } else { + return new int[0]; + } + } + + @Override public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { return isConnectedAtSide(aSide); } |