diff options
Diffstat (limited to 'src/main/java/gregtech/api/interfaces')
3 files changed, 31 insertions, 43 deletions
diff --git a/src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java b/src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java index 7c2361af83..47edc7af93 100644 --- a/src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java +++ b/src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java @@ -1,5 +1,7 @@ package gregtech.api.interfaces.covers; +import static gregtech.api.enums.GT_Values.ALL_VALID_SIDES; + import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.tileentity.IMachineProgress; @@ -15,9 +17,9 @@ public interface IControlsWorkCover { * @return true if the cover is the first (side) one **/ static boolean makeSureOnlyOne(byte aMySide, ICoverable aTileEntity) { - for (byte i = 0; i < 6; i++) { - if (aTileEntity.getCoverBehaviorAtSideNew(i) instanceof IControlsWorkCover && i < aMySide) { - aTileEntity.dropCover(i, i, true); + for (byte tSide : ALL_VALID_SIDES) { + if (aTileEntity.getCoverBehaviorAtSideNew(tSide) instanceof IControlsWorkCover && tSide < aMySide) { + aTileEntity.dropCover(tSide, tSide, true); aTileEntity.markDirty(); return false; } diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java index 1b1ce36871..5375ea85ee 100644 --- a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java +++ b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java @@ -1,5 +1,7 @@ package gregtech.api.interfaces.metatileentity; +import static gregtech.api.enums.GT_Values.ALL_VALID_SIDES; + import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.BaseMetaPipeEntity; import gregtech.api.util.GT_Utility; @@ -56,39 +58,29 @@ public interface IMetaTileEntityItemPipe extends IMetaTileEntity { aStep += aMetaTileEntity.getStepSize(); if (aIgnoreCapacity || aMetaTileEntity.pipeCapacityCheck()) if (aMap.get(aMetaTileEntity) == null || aMap.get(aMetaTileEntity) > aStep) { - IGregTechTileEntity aBaseMetaTileEntity = aMetaTileEntity.getBaseMetaTileEntity(); + final IGregTechTileEntity aBaseMetaTileEntity = aMetaTileEntity.getBaseMetaTileEntity(); aMap.put(aMetaTileEntity, aStep); - for (byte i = 0, j = 0; i < 6; i++) { + byte oppositeSide; + for (byte side : ALL_VALID_SIDES) { if (aMetaTileEntity instanceof IConnectable - && !((IConnectable) aMetaTileEntity).isConnectedAtSide(i)) continue; - j = GT_Utility.getOppositeSide(i); + && !((IConnectable) aMetaTileEntity).isConnectedAtSide(side)) continue; + oppositeSide = GT_Utility.getOppositeSide(side); if (aSuckItems) { - if (aBaseMetaTileEntity - .getCoverBehaviorAtSideNew(i) - .letsItemsIn( - i, - aBaseMetaTileEntity.getCoverIDAtSide(i), - aBaseMetaTileEntity.getComplexCoverDataAtSide(i), - -2, - aBaseMetaTileEntity)) { - IGregTechTileEntity tItemPipe = aBaseMetaTileEntity.getIGregTechTileEntityAtSide(i); + if (aBaseMetaTileEntity.getCoverInfoAtSide(side).letsItemsIn(-2)) { + final IGregTechTileEntity tItemPipe = + aBaseMetaTileEntity.getIGregTechTileEntityAtSide(side); if (aBaseMetaTileEntity.getColorization() >= 0) { - byte tColor = tItemPipe.getColorization(); + final byte tColor = tItemPipe.getColorization(); if (tColor >= 0 && tColor != aBaseMetaTileEntity.getColorization()) { continue; } } if (tItemPipe instanceof BaseMetaPipeEntity) { - IMetaTileEntity tMetaTileEntity = tItemPipe.getMetaTileEntity(); + final IMetaTileEntity tMetaTileEntity = tItemPipe.getMetaTileEntity(); if (tMetaTileEntity instanceof IMetaTileEntityItemPipe && tItemPipe - .getCoverBehaviorAtSideNew(j) - .letsItemsOut( - j, - tItemPipe.getCoverIDAtSide(j), - tItemPipe.getComplexCoverDataAtSide(j), - -2, - tItemPipe)) { + .getCoverInfoAtSide(oppositeSide) + .letsItemsOut(-2)) { scanPipes( (IMetaTileEntityItemPipe) tMetaTileEntity, aMap, @@ -99,33 +91,22 @@ public interface IMetaTileEntityItemPipe extends IMetaTileEntity { } } } else { - if (aBaseMetaTileEntity - .getCoverBehaviorAtSideNew(i) - .letsItemsOut( - i, - aBaseMetaTileEntity.getCoverIDAtSide(i), - aBaseMetaTileEntity.getComplexCoverDataAtSide(i), - -2, - aBaseMetaTileEntity)) { - IGregTechTileEntity tItemPipe = aBaseMetaTileEntity.getIGregTechTileEntityAtSide(i); + if (aBaseMetaTileEntity.getCoverInfoAtSide(side).letsItemsOut(-2)) { + final IGregTechTileEntity tItemPipe = + aBaseMetaTileEntity.getIGregTechTileEntityAtSide(side); if (tItemPipe != null) { if (aBaseMetaTileEntity.getColorization() >= 0) { - byte tColor = tItemPipe.getColorization(); + final byte tColor = tItemPipe.getColorization(); if (tColor >= 0 && tColor != aBaseMetaTileEntity.getColorization()) { continue; } } if (tItemPipe instanceof BaseMetaPipeEntity) { - IMetaTileEntity tMetaTileEntity = tItemPipe.getMetaTileEntity(); + final IMetaTileEntity tMetaTileEntity = tItemPipe.getMetaTileEntity(); if (tMetaTileEntity instanceof IMetaTileEntityItemPipe && tItemPipe - .getCoverBehaviorAtSideNew(j) - .letsItemsIn( - j, - tItemPipe.getCoverIDAtSide(j), - tItemPipe.getComplexCoverDataAtSide(j), - -2, - tItemPipe)) { + .getCoverInfoAtSide(oppositeSide) + .letsItemsIn(-2)) { scanPipes( (IMetaTileEntityItemPipe) tMetaTileEntity, aMap, diff --git a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java index 6beb34a305..df131c84c2 100644 --- a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java +++ b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java @@ -3,6 +3,7 @@ package gregtech.api.interfaces.tileentity; import gregtech.api.util.GT_CoverBehavior; import gregtech.api.util.GT_CoverBehaviorBase; import gregtech.api.util.ISerializableObject; +import gregtech.common.covers.CoverInfo; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; @@ -32,6 +33,10 @@ public interface ICoverable extends IRedstoneTileEntity, IHasInventory, IBasicEn @Deprecated int getCoverDataAtSide(byte aSide); + default CoverInfo getCoverInfoAtSide(byte aSide) { + return null; + } + default ISerializableObject getComplexCoverDataAtSide(byte aSide) { return new ISerializableObject.LegacyCoverData(getCoverDataAtSide(aSide)); } |