aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/tileentities/automation
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/common/tileentities/automation')
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java16
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java55
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java8
3 files changed, 48 insertions, 31 deletions
diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java
index c6c73cb02f..a5b495d73d 100644
--- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java
+++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java
@@ -5,6 +5,7 @@ import static gregtech.api.enums.Textures.BlockIcons.AUTOMATION_FILTER_GLOW;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.common.util.ForgeDirection;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
@@ -87,8 +88,9 @@ public class GT_MetaTileEntity_Filter extends GT_MetaTileEntity_Buffer implement
}
@Override
- public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
- if (!super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) {
+ public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
+ ItemStack aStack) {
+ if (!super.allowPutStack(aBaseMetaTileEntity, aIndex, side, aStack)) {
return false;
}
if (this.bInvertFilter) {
@@ -110,8 +112,14 @@ public class GT_MetaTileEntity_Filter extends GT_MetaTileEntity_Buffer implement
if (mInventory[i] == null) ++emptySlots;
}
if (!bInvert) emptySlots = 9 - emptySlots;
- for (byte b = 0; b < 6; b++) aBaseMetaTileEntity.setInternalOutputRedstoneSignal(b, (byte) emptySlots);
- } else for (byte b = 0; b < 6; b++) aBaseMetaTileEntity.setInternalOutputRedstoneSignal(b, (byte) 0);
+ for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) {
+ aBaseMetaTileEntity.setInternalOutputRedstoneSignal(side, (byte) emptySlots);
+ }
+ } else {
+ for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) {
+ aBaseMetaTileEntity.setInternalOutputRedstoneSignal(side, (byte) 0);
+ }
+ }
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java
index 7b2978d701..1f4117acc9 100644
--- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java
+++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java
@@ -7,6 +7,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.util.ForgeDirection;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
@@ -25,7 +26,8 @@ import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer implements IAddUIWidgets {
private byte[] itemsPerSide = new byte[6];
- private byte currentSide = 0, currentSideItemCount = 0;
+ private ForgeDirection currentSide = ForgeDirection.DOWN;
+ private byte currentSideItemCount = 0;
public GT_MetaTileEntity_ItemDistributor(int aID, String aName, String aNameRegional, int aTier) {
super(
@@ -74,17 +76,18 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer
}
@Override
- public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
- return aSide == aBaseMetaTileEntity.getFrontFacing();
+ public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
+ ItemStack aStack) {
+ return side == aBaseMetaTileEntity.getFrontFacing();
}
@Override
- public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex,
- boolean aActive, boolean aRedstone) {
- if (aSide == aFacing) {
- return mTextures[0][aColorIndex + 1];
+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, ForgeDirection aFacing,
+ int colorIndex, boolean aActive, boolean redstoneLevel) {
+ if (side == aFacing) {
+ return mTextures[0][colorIndex + 1];
} else {
- return mTextures[1][aColorIndex + 1];
+ return mTextures[1][colorIndex + 1];
}
}
@@ -100,13 +103,13 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer
}
@Override
- public boolean isInputFacing(byte aSide) {
- return getBaseMetaTileEntity().getFrontFacing() == aSide || itemsPerSide[aSide] == 0;
+ public boolean isInputFacing(ForgeDirection side) {
+ return getBaseMetaTileEntity().getFrontFacing() == side || itemsPerSide[side.ordinal()] == 0;
}
@Override
- public boolean isOutputFacing(byte aSide) {
- return getBaseMetaTileEntity().getFrontFacing() != aSide && itemsPerSide[aSide] > 0;
+ public boolean isOutputFacing(ForgeDirection side) {
+ return getBaseMetaTileEntity().getFrontFacing() != side && itemsPerSide[side.ordinal()] > 0;
}
@Override
@@ -121,18 +124,20 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer
if (itemsPerSide.length != 6) {
itemsPerSide = new byte[6];
}
- currentSide = aNBT.getByte("mCurrentSide");
+ currentSide = ForgeDirection.getOrientation(aNBT.getByte("mCurrentSide"));
currentSideItemCount = aNBT.getByte("mCurrentSideItemCount");
}
@Override
protected void moveItems(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) {
+ int currentSideOrdinal = currentSide.ordinal();
fillStacksIntoFirstSlots();
int movedItems;
TileEntity adjacentTileEntity = aBaseMetaTileEntity.getTileEntityAtSide(currentSide);
int inspectedSides = 0;
- while (itemsPerSide[currentSide] == 0) {
- currentSide = (byte) ((currentSide + 1) % 6);
+ while (itemsPerSide[currentSideOrdinal] == 0) {
+ currentSideOrdinal = ((currentSideOrdinal + 1) % 6);
+ currentSide = ForgeDirection.getOrientation(currentSideOrdinal);
currentSideItemCount = 0;
adjacentTileEntity = aBaseMetaTileEntity.getTileEntityAtSide(currentSide);
inspectedSides += 1;
@@ -144,16 +149,17 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer
aBaseMetaTileEntity,
adjacentTileEntity,
currentSide,
- GT_Utility.getOppositeSide(currentSide),
+ currentSide.getOpposite(),
null,
false,
(byte) 64,
(byte) 1,
- (byte) (itemsPerSide[currentSide] - currentSideItemCount),
+ (byte) (itemsPerSide[currentSideOrdinal] - currentSideItemCount),
(byte) 1);
currentSideItemCount += movedItems;
- if (currentSideItemCount >= itemsPerSide[currentSide]) {
- currentSide = (byte) ((currentSide + 1) % 6);
+ if (currentSideItemCount >= itemsPerSide[currentSideOrdinal]) {
+ currentSideOrdinal = ((currentSideOrdinal + 1) % 6);
+ currentSide = ForgeDirection.getOrientation(currentSideOrdinal);
currentSideItemCount = 0;
}
if (movedItems > 0 || aBaseMetaTileEntity.hasInventoryBeenModified()) {
@@ -163,18 +169,19 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer
}
@Override
- public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ final int ordinalSide = side.ordinal();
// Adjust items per side by 1 or -1, constrained to the cyclic interval [0, 127]
- itemsPerSide[aSide] += aPlayer.isSneaking() ? -1 : 1;
- itemsPerSide[aSide] = (byte) ((itemsPerSide[aSide] + 128) % 128);
- GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("211", "Items per side: ") + itemsPerSide[aSide]);
+ itemsPerSide[ordinalSide] += aPlayer.isSneaking() ? -1 : 1;
+ itemsPerSide[ordinalSide] = (byte) ((itemsPerSide[ordinalSide] + 128) % 128);
+ GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("211", "Items per side: ") + itemsPerSide[ordinalSide]);
}
@Override
public void saveNBTData(NBTTagCompound aNBT) {
super.saveNBTData(aNBT);
aNBT.setByteArray("mItemsPerSide", itemsPerSide);
- aNBT.setByte("mCurrentSide", currentSide);
+ aNBT.setByte("mCurrentSide", (byte) currentSide.ordinal());
aNBT.setByte("mCurrentSideItemCount", currentSideItemCount);
}
diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java
index 9b0824aed1..3fa296f9a2 100644
--- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java
+++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java
@@ -8,6 +8,7 @@ import java.util.Collections;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.common.util.ForgeDirection;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
@@ -106,7 +107,7 @@ public class GT_MetaTileEntity_Regulator extends GT_MetaTileEntity_Buffer implem
}
@Override
- public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) {
// Regulation per Screwdriver is overridden by GUI regulation.
}
@@ -134,8 +135,9 @@ public class GT_MetaTileEntity_Regulator extends GT_MetaTileEntity_Buffer implem
}
@Override
- public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
- return super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack) && aIndex >= 0
+ public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
+ ItemStack aStack) {
+ return super.allowPutStack(aBaseMetaTileEntity, aIndex, side, aStack) && aIndex >= 0
&& aIndex <= 8
&& GT_Utility.areStacksEqual(aStack, this.mInventory[(aIndex + 9)]);
}