aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/interfaces
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/interfaces')
-rw-r--r--src/main/java/gregtech/api/interfaces/IItemBehaviour.java7
-rw-r--r--src/main/java/gregtech/api/interfaces/IRedstoneCircuitBlock.java21
-rw-r--r--src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java11
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IConnectable.java8
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java70
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityCable.java10
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java16
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityPipe.java24
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IBasicEnergyContainer.java4
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java56
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java55
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IExperimentalEnergyTileEntity.java112
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IFibreConnected.java12
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IGearEnergyTileEntity.java7
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java5
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IHasWorldObjectAndCoords.java51
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IPipeRenderedTileEntity.java8
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IRedstoneEmitter.java17
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IRedstoneReceiver.java6
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/ITexturedTileEntity.java3
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/ITurnable.java16
21 files changed, 225 insertions, 294 deletions
diff --git a/src/main/java/gregtech/api/interfaces/IItemBehaviour.java b/src/main/java/gregtech/api/interfaces/IItemBehaviour.java
index 1f67b9c1a8..67bb505c6b 100644
--- a/src/main/java/gregtech/api/interfaces/IItemBehaviour.java
+++ b/src/main/java/gregtech/api/interfaces/IItemBehaviour.java
@@ -10,6 +10,7 @@ import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
+import net.minecraftforge.common.util.ForgeDirection;
import gregtech.api.enums.SubTag;
import gregtech.api.items.GT_MetaBase_Item;
@@ -18,11 +19,11 @@ public interface IItemBehaviour<E extends Item> {
boolean onLeftClickEntity(E aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity);
- boolean onItemUse(E aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide,
- float hitX, float hitY, float hitZ);
+ boolean onItemUse(E aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ,
+ int ordinalSide, float hitX, float hitY, float hitZ);
boolean onItemUseFirst(E aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ,
- int aSide, float hitX, float hitY, float hitZ);
+ ForgeDirection side, float hitX, float hitY, float hitZ);
ItemStack onItemRightClick(E aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer);
diff --git a/src/main/java/gregtech/api/interfaces/IRedstoneCircuitBlock.java b/src/main/java/gregtech/api/interfaces/IRedstoneCircuitBlock.java
index 91219368b7..0eea6ca3a4 100644
--- a/src/main/java/gregtech/api/interfaces/IRedstoneCircuitBlock.java
+++ b/src/main/java/gregtech/api/interfaces/IRedstoneCircuitBlock.java
@@ -2,6 +2,7 @@ package gregtech.api.interfaces;
import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.util.ForgeDirection;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.util.GT_CoverBehavior;
@@ -14,47 +15,47 @@ public interface IRedstoneCircuitBlock {
/**
* The Output Direction the Circuit Block is Facing
*/
- byte getOutputFacing();
+ ForgeDirection getOutputFacing();
/**
* sets Output Redstone State at Side
*/
- boolean setRedstone(byte aStrength, byte aSide);
+ boolean setRedstone(byte aStrength, ForgeDirection side);
/**
* returns Output Redstone State at Side Note that setRedstone checks if there is a Difference between the old and
* the new Setting before consuming any Energy
*/
- byte getOutputRedstone(byte aSide);
+ byte getOutputRedstone(ForgeDirection side);
/**
* returns Input Redstone Signal at Side
*/
- byte getInputRedstone(byte aSide);
+ byte getInputRedstone(ForgeDirection side);
/**
* If this Side is Covered up and therefor not doing any Redstone
*/
- GT_CoverBehavior getCover(byte aSide);
+ GT_CoverBehavior getCover(ForgeDirection side);
- int getCoverID(byte aSide);
+ int getCoverID(ForgeDirection side);
- int getCoverVariable(byte aSide);
+ int getCoverVariable(ForgeDirection side);
/**
* returns whatever Block-ID is adjacent to the Redstone Circuit Block
*/
- Block getBlockAtSide(byte aSide);
+ Block getBlockAtSide(ForgeDirection side);
/**
* returns whatever Meta-Value is adjacent to the Redstone Circuit Block
*/
- byte getMetaIDAtSide(byte aSide);
+ byte getMetaIDAtSide(ForgeDirection side);
/**
* returns whatever TileEntity is adjacent to the Redstone Circuit Block
*/
- TileEntity getTileEntityAtSide(byte aSide);
+ TileEntity getTileEntityAtSide(ForgeDirection side);
/**
* returns whatever TileEntity is used by the Redstone Circuit Block
diff --git a/src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java b/src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java
index cef20ac3b7..d4cd1e9ec2 100644
--- a/src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java
+++ b/src/main/java/gregtech/api/interfaces/covers/IControlsWorkCover.java
@@ -1,6 +1,6 @@
package gregtech.api.interfaces.covers;
-import static gregtech.api.enums.GT_Values.ALL_VALID_SIDES;
+import net.minecraftforge.common.util.ForgeDirection;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.interfaces.tileentity.IMachineProgress;
@@ -16,10 +16,11 @@ public interface IControlsWorkCover {
*
* @return true if the cover is the first (side) one
**/
- static boolean makeSureOnlyOne(byte aMySide, ICoverable aTileEntity) {
- for (byte tSide : ALL_VALID_SIDES) {
- if (aTileEntity.getCoverBehaviorAtSideNew(tSide) instanceof IControlsWorkCover && tSide < aMySide) {
- aTileEntity.dropCover(tSide, tSide, true);
+ static boolean makeSureOnlyOne(ForgeDirection aMySide, ICoverable aTileEntity) {
+ for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) {
+ if (aTileEntity.getCoverBehaviorAtSideNew(side) instanceof IControlsWorkCover
+ && side.ordinal() < aMySide.ordinal()) {
+ aTileEntity.dropCover(side, side, true);
aTileEntity.markDirty();
return false;
}
diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IConnectable.java b/src/main/java/gregtech/api/interfaces/metatileentity/IConnectable.java
index 76d8d082ef..0ca519d40b 100644
--- a/src/main/java/gregtech/api/interfaces/metatileentity/IConnectable.java
+++ b/src/main/java/gregtech/api/interfaces/metatileentity/IConnectable.java
@@ -1,5 +1,7 @@
package gregtech.api.interfaces.metatileentity;
+import net.minecraftforge.common.util.ForgeDirection;
+
/**
* For pipes, wires, and other MetaTiles which need to be decided whether they should connect to the block at each side.
*/
@@ -21,12 +23,12 @@ public interface IConnectable {
* Try to connect to the Block at the specified side returns the connection state. Non-positive values for failed,
* others for succeeded.
*/
- int connect(byte aSide);
+ int connect(ForgeDirection side);
/**
* Try to disconnect to the Block at the specified side
*/
- void disconnect(byte aSide);
+ void disconnect(ForgeDirection side);
- boolean isConnectedAtSide(int aSide);
+ boolean isConnectedAtSide(ForgeDirection side);
}
diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java
index a24e05f1a2..c9377d10be 100644
--- a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java
+++ b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java
@@ -16,6 +16,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
+import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.IFluidHandler;
import net.minecraftforge.fluids.IFluidTank;
@@ -125,28 +126,30 @@ public interface IMetaTileEntity extends ISidedInventory, IFluidTank, IFluidHand
* If a Cover of that Type can be placed on this Side. Also Called when the Facing of the Block Changes and a Cover
* is on said Side.
*/
- boolean allowCoverOnSide(byte aSide, GT_ItemStack aStack);
+ boolean allowCoverOnSide(ForgeDirection side, GT_ItemStack aStack);
/**
* When a Player rightclicks the Facing with a Screwdriver.
*/
- void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ);
+ void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ);
/**
- * When a Player rightclicks the Facing with a Wrench.
+ * When a Player right-clicks the Facing with a Wrench.
*/
- boolean onWrenchRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ);
+ boolean onWrenchRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer entityPlayer, float aX,
+ float aY, float aZ);
/**
- * When a Player rightclicks the Facing with a wire cutter.
+ * When a Player right-clicks the Facing with a wire cutter.
*/
- boolean onWireCutterRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ);
+ boolean onWireCutterRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer entityPlayer,
+ float aX, float aY, float aZ);
/**
- * When a Player rightclicks the Facing with a soldering iron.
+ * When a Player right-clicks the Facing with a soldering iron.
*/
- boolean onSolderingToolRightClick(byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY,
- float aZ);
+ boolean onSolderingToolRightClick(ForgeDirection side, ForgeDirection wrenchingSide, EntityPlayer entityPlayer,
+ float aX, float aY, float aZ);
/**
* Called right before this Machine explodes
@@ -181,10 +184,10 @@ public interface IMetaTileEntity extends ISidedInventory, IFluidTank, IFluidHand
void onRemoval();
/**
- * @param aFacing
+ * @param facing
* @return if aFacing would be a valid Facing for this Device. Used for wrenching.
*/
- boolean isFacingValid(byte aFacing);
+ boolean isFacingValid(ForgeDirection facing);
/**
* @return the Server Side Container
@@ -214,12 +217,12 @@ public interface IMetaTileEntity extends ISidedInventory, IFluidTank, IFluidHand
/**
* From new ISidedInventory
*/
- boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack);
+ boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, ItemStack aStack);
/**
* From new ISidedInventory
*/
- boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack);
+ boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side, ItemStack aStack);
/**
* @return if aIndex is a valid Slot. false for things like HoloSlots. Is used for determining if an Item is dropped
@@ -243,12 +246,12 @@ public interface IMetaTileEntity extends ISidedInventory, IFluidTank, IFluidHand
/**
* If this Side can connect to inputting pipes
*/
- boolean isLiquidInput(byte aSide);
+ boolean isLiquidInput(ForgeDirection side);
/**
* If this Side can connect to outputting pipes
*/
- boolean isLiquidOutput(byte aSide);
+ boolean isLiquidOutput(ForgeDirection side);
/**
* Just an Accessor for the Name variable.
@@ -261,12 +264,12 @@ public interface IMetaTileEntity extends ISidedInventory, IFluidTank, IFluidHand
boolean isAccessAllowed(EntityPlayer aPlayer);
/**
- * a Player rightclicks the Machine Sneaky rightclicks are not getting passed to this!
+ * a Player right-clicks the Machine Sneaky right clicks are not getting passed to this!
*
* @return
*/
- boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer, byte aSide, float aX, float aY,
- float aZ);
+ boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer, ForgeDirection side, float aX,
+ float aY, float aZ);
/**
* a Player leftclicks the Machine Sneaky leftclicks are getting passed to this unlike with the rightclicks.
@@ -364,22 +367,17 @@ public interface IMetaTileEntity extends ISidedInventory, IFluidTank, IFluidHand
/**
* Icon of the Texture. If this returns null then it falls back to getTextureIndex.
*
- * @param aSide is the Side of the Block
- * @param aFacing is the direction the Block is facing (or a Bitmask of all Connections in case of Pipes)
- * @param aColorIndex The Minecraft Color the Block is having
- * @param aActive if the Machine is currently active (use this instead of calling
- * mBaseMetaTileEntity.mActive!!!). Note: In case of Pipes this means if this Side is connected
- * to something or not.
- * @param aRedstone if the Machine is currently outputting a RedstoneSignal (use this instead of calling
- * mBaseMetaTileEntity.mRedstone!!!)
+ * @param side is the Side of the Block
+ * @param facing is the direction the Block is facing
+ * @param colorIndex The Minecraft Color the Block is having
+ * @param active if the Machine is currently active (use this instead of calling
+ * {@code mBaseMetaTileEntity.mActive)}. Note: In case of Pipes this means if this Side is
+ * connected to something or not.
+ * @param redstoneLevel if the Machine is currently outputting a RedstoneSignal (use this instead of calling
+ * {@code mBaseMetaTileEntity.mRedstone} !!!)
*/
- ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex,
- boolean aActive, boolean aRedstone);
-
- /**
- * The Textures used for the Item rendering. Return null if you want the regular 3D Block Rendering.
- */
- // public ITexture[] getItemTexture(ItemStack aStack);
+ ITexture[] getTexture(IGregTechTileEntity baseMetaTileEntity, ForgeDirection side, ForgeDirection facing,
+ int colorIndex, boolean active, boolean redstoneLevel);
/**
* Register Icons here. This gets called when the Icons get initialized by the Base Block Best is you put your Icons
@@ -405,9 +403,9 @@ public interface IMetaTileEntity extends ISidedInventory, IFluidTank, IFluidHand
/**
* Gets the Output for the comparator on the given Side
*/
- byte getComparatorValue(byte aSide);
+ byte getComparatorValue(ForgeDirection side);
- float getExplosionResistance(byte aSide);
+ float getExplosionResistance(ForgeDirection side);
String[] getInfoData();
@@ -415,7 +413,7 @@ public interface IMetaTileEntity extends ISidedInventory, IFluidTank, IFluidHand
ItemStack[] getRealInventory();
- boolean connectsToItemPipe(byte aSide);
+ boolean connectsToItemPipe(ForgeDirection side);
void onColorChangeServer(byte aColor);
diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityCable.java b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityCable.java
index 3f7bc73383..a2d672e765 100644
--- a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityCable.java
+++ b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityCable.java
@@ -4,14 +4,16 @@ import java.util.ArrayList;
import java.util.HashSet;
import net.minecraft.tileentity.TileEntity;
+import net.minecraftforge.common.util.ForgeDirection;
-public interface IMetaTileEntityCable extends IMetaTileEntity {
+public interface IMetaTileEntityCable extends IMetaTileEntityPipe {
@Deprecated
- long transferElectricity(byte aSide, long aVoltage, long aAmperage,
+ long transferElectricity(ForgeDirection side, long aVoltage, long aAmperage,
ArrayList<TileEntity> aAlreadyPassedTileEntityList);
- default long transferElectricity(byte aSide, long aVoltage, long aAmperage, HashSet<TileEntity> aAlreadyPassedSet) {
- return transferElectricity(aSide, aVoltage, aAmperage, new ArrayList<>(aAlreadyPassedSet));
+ default long transferElectricity(ForgeDirection side, long aVoltage, long aAmperage,
+ HashSet<TileEntity> aAlreadyPassedSet) {
+ return transferElectricity(side, aVoltage, aAmperage, new ArrayList<>(aAlreadyPassedSet));
}
}
diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java
index 76d3f56e74..0c2c5ebf28 100644
--- a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java
+++ b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityItemPipe.java
@@ -1,14 +1,13 @@
package gregtech.api.interfaces.metatileentity;
-import static gregtech.api.enums.GT_Values.ALL_VALID_SIDES;
-
import java.util.Map;
+import net.minecraftforge.common.util.ForgeDirection;
+
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.BaseMetaPipeEntity;
-import gregtech.api.util.GT_Utility;
-public interface IMetaTileEntityItemPipe extends IMetaTileEntity {
+public interface IMetaTileEntityItemPipe extends IMetaTileEntityPipe {
/**
* @return if this Pipe can still be used.
@@ -32,10 +31,10 @@ public interface IMetaTileEntityItemPipe extends IMetaTileEntity {
* Executes the Sending Code for inserting Stacks into the TileEntities.
*
* @param aSender the BaseMetaTileEntity sending the Stack.
- * @param aSide the Side of the PIPE facing the TileEntity.
+ * @param side the Side of the PIPE facing the TileEntity.
* @return if this Side was allowed to Output into the Block.
*/
- boolean insertItemStackIntoTileEntity(Object aSender, byte aSide);
+ boolean insertItemStackIntoTileEntity(Object aSender, ForgeDirection side);
/**
* Can be used to make flow control Pipes, like Redpowers Restriction Tubes. Every normal Pipe returns a Value of
@@ -59,11 +58,10 @@ public interface IMetaTileEntityItemPipe extends IMetaTileEntity {
if (aMap.get(aMetaTileEntity) == null || aMap.get(aMetaTileEntity) > aStep) {
final IGregTechTileEntity aBaseMetaTileEntity = aMetaTileEntity.getBaseMetaTileEntity();
aMap.put(aMetaTileEntity, aStep);
- byte oppositeSide;
- for (byte side : ALL_VALID_SIDES) {
+ for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) {
if (aMetaTileEntity instanceof IConnectable
&& !((IConnectable) aMetaTileEntity).isConnectedAtSide(side)) continue;
- oppositeSide = GT_Utility.getOppositeSide(side);
+ final ForgeDirection oppositeSide = side.getOpposite();
if (aSuckItems) {
if (aBaseMetaTileEntity.getCoverInfoAtSide(side)
.letsItemsIn(-2)) {
diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityPipe.java b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityPipe.java
new file mode 100644
index 0000000000..0ac29b2e45
--- /dev/null
+++ b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntityPipe.java
@@ -0,0 +1,24 @@
+package gregtech.api.interfaces.metatileentity;
+
+import net.minecraftforge.common.util.ForgeDirection;
+
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
+public interface IMetaTileEntityPipe extends IMetaTileEntity {
+
+ /**
+ * Icon of the Texture. If this returns null then it falls back to getTextureIndex.
+ *
+ * @param side is the Side of the Block
+ * @param facingBitMask is the Bitmask of all Connections
+ * @param colorIndex The Minecraft Color the Block is having
+ * @param active if the Machine is currently active (use this instead of calling
+ * mBaseMetaTileEntity.mActive!!!). Note: In case of Pipes this means if this Side is connected
+ * to something or not.
+ * @param redstoneLevel if the Machine is currently outputting a RedstoneSignal (use this instead of calling
+ * mBaseMetaTileEntity.mRedstone!!!)
+ */
+ ITexture[] getTexture(IGregTechTileEntity baseMetaTileEntity, ForgeDirection side, int facingBitMask,
+ int colorIndex, boolean active, boolean redstoneLevel);
+}
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IBasicEnergyContainer.java b/src/main/java/gregtech/api/interfaces/tileentity/IBasicEnergyContainer.java
index 4e64742db0..37d62894bb 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IBasicEnergyContainer.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IBasicEnergyContainer.java
@@ -1,5 +1,7 @@
package gregtech.api.interfaces.tileentity;
+import net.minecraftforge.common.util.ForgeDirection;
+
/**
* Interface for internal Code, which is mainly used for independent Energy conversion.
*/
@@ -57,7 +59,7 @@ public interface IBasicEnergyContainer extends IEnergyConnected, IHasWorldObject
/**
* Drain Energy Call for Electricity.
*/
- boolean drainEnergyUnits(byte aSide, long aVoltage, long aAmperage);
+ boolean drainEnergyUnits(ForgeDirection side, long aVoltage, long aAmperage);
/**
* returns the amount of Electricity, accepted by this Block the last 5 ticks as Average.
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java
index d3186258ef..112a7035d7 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java
@@ -2,6 +2,7 @@ package gregtech.api.interfaces.tileentity;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.util.ForgeDirection;
import gregtech.api.util.GT_CoverBehavior;
import gregtech.api.util.GT_CoverBehaviorBase;
@@ -10,80 +11,81 @@ import gregtech.common.covers.CoverInfo;
public interface ICoverable extends IRedstoneTileEntity, IHasInventory, IBasicEnergyContainer {
- boolean canPlaceCoverIDAtSide(byte aSide, int aID);
+ boolean canPlaceCoverIDAtSide(ForgeDirection side, int aID);
- boolean canPlaceCoverItemAtSide(byte aSide, ItemStack aCover);
+ boolean canPlaceCoverItemAtSide(ForgeDirection side, ItemStack aCover);
- boolean dropCover(byte aSide, byte aDroppedSide, boolean aForced);
+ boolean dropCover(ForgeDirection side, ForgeDirection droppedSide, boolean aForced);
@Deprecated
- void setCoverDataAtSide(byte aSide, int aData);
+ void setCoverDataAtSide(ForgeDirection side, int aData);
- default void setCoverDataAtSide(byte aSide, ISerializableObject aData) {
+ default void setCoverDataAtSide(ForgeDirection side, ISerializableObject aData) {
if (aData instanceof ISerializableObject.LegacyCoverData)
- setCoverDataAtSide(aSide, ((ISerializableObject.LegacyCoverData) aData).get());
+ setCoverDataAtSide(side, ((ISerializableObject.LegacyCoverData) aData).get());
}
- void setCoverIdAndDataAtSide(byte aSide, int aId, ISerializableObject aData);
+ void setCoverIdAndDataAtSide(ForgeDirection side, int aId, ISerializableObject aData);
- void setCoverIDAtSide(byte aSide, int aID);
+ void setCoverIDAtSide(ForgeDirection side, int aID);
- boolean setCoverIDAtSideNoUpdate(byte aSide, int aID);
+ boolean setCoverIDAtSideNoUpdate(ForgeDirection side, int aID);
- void setCoverItemAtSide(byte aSide, ItemStack aCover);
+ void setCoverItemAtSide(ForgeDirection side, ItemStack aCover);
@Deprecated
- int getCoverDataAtSide(byte aSide);
+ int getCoverDataAtSide(ForgeDirection side);
- default CoverInfo getCoverInfoAtSide(byte aSide) {
+ default CoverInfo getCoverInfoAtSide(ForgeDirection side) {
return null;
}
- default ISerializableObject getComplexCoverDataAtSide(byte aSide) {
- return new ISerializableObject.LegacyCoverData(getCoverDataAtSide(aSide));
+ default ISerializableObject getComplexCoverDataAtSide(ForgeDirection side) {
+ return new ISerializableObject.LegacyCoverData(getCoverDataAtSide(side));
}
- int getCoverIDAtSide(byte aSide);
+ int getCoverIDAtSide(ForgeDirection side);
- ItemStack getCoverItemAtSide(byte aSide);
+ ItemStack getCoverItemAtSide(ForgeDirection side);
@Deprecated
- GT_CoverBehavior getCoverBehaviorAtSide(byte aSide);
+ GT_CoverBehavior getCoverBehaviorAtSide(ForgeDirection side);
- default GT_CoverBehaviorBase<?> getCoverBehaviorAtSideNew(byte aSide) {
- return getCoverBehaviorAtSide(aSide);
+ default GT_CoverBehaviorBase<?> getCoverBehaviorAtSideNew(ForgeDirection side) {
+ return getCoverBehaviorAtSide(side);
}
/**
* For use by the regular MetaTileEntities. Returns the Cover Manipulated input Redstone. Don't use this if you are
* a Cover Behavior. Only for MetaTileEntities.
*/
- byte getInternalInputRedstoneSignal(byte aSide);
+ byte getInternalInputRedstoneSignal(ForgeDirection side);
/**
* For use by the regular MetaTileEntities. This makes it not conflict with Cover based Redstone Signals. Don't use
* this if you are a Cover Behavior. Only for MetaTileEntities.
*/
- void setInternalOutputRedstoneSignal(byte aSide, byte aStrength);
+ void setInternalOutputRedstoneSignal(ForgeDirection side, byte aStrength);
/**
* Causes a general Cover Texture update. Sends 6 Integers to Client + causes @issueTextureUpdate()
*/
- void issueCoverUpdate(byte aSide);
+ void issueCoverUpdate(ForgeDirection side);
/**
* Receiving a packet with cover data.
*/
- void receiveCoverData(byte coverSide, int coverID, int coverData);
+ void receiveCoverData(ForgeDirection coverSide, int coverID, int coverData);
/**
* Receiving a packet with cover data.
- *
- * @param aPlayer the player who made the change
+ *
+ * @param coverSide
+ * @param aPlayer the player who made the change
*/
- default void receiveCoverData(byte aCoverSide, int aCoverID, ISerializableObject aCoverData,
+ default void receiveCoverData(ForgeDirection coverSide, int aCoverID, ISerializableObject aCoverData,
EntityPlayerMP aPlayer) {
if (aCoverData instanceof ISerializableObject.LegacyCoverData)
- receiveCoverData(aCoverSide, aCoverID, ((ISerializableObject.LegacyCoverData) aCoverData).get());
+ receiveCoverData(coverSide, aCoverID, ((ISerializableObject.LegacyCoverData) aCoverData).get());
}
}
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java b/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java
index 55de2db088..f866092d38 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java
@@ -24,28 +24,28 @@ public interface IEnergyConnected extends IColoredTileEntity {
* <p/>
* Note: you have to check for @inputEnergyFrom because the Network won't check for that by itself.
*
- * @param aSide 0 - 5 = Vanilla Directions of YOUR Block the Energy gets inserted to. 6 = No specific Side (don't do
- * Side checks for this Side)
+ * @param side 0 - 5 = Vanilla Directions of YOUR Block the Energy gets inserted to. 6 = No specific Side (don't do
+ * Side checks for this Side)
* @return amount of used Amperes. 0 if not accepted anything.
*/
- long injectEnergyUnits(byte aSide, long aVoltage, long aAmperage);
+ long injectEnergyUnits(ForgeDirection side, long aVoltage, long aAmperage);
/**
* Sided Energy Input
*/
- boolean inputEnergyFrom(byte aSide);
+ boolean inputEnergyFrom(ForgeDirection side);
- default boolean inputEnergyFrom(byte aSide, boolean waitForActive) {
- return inputEnergyFrom(aSide);
+ default boolean inputEnergyFrom(ForgeDirection side, boolean waitForActive) {
+ return inputEnergyFrom(side);
}
/**
* Sided Energy Output
*/
- boolean outputsEnergyTo(byte aSide);
+ boolean outputsEnergyTo(ForgeDirection side);
- default boolean outputsEnergyTo(byte aSide, boolean waitForActive) {
- return outputsEnergyTo(aSide);
+ default boolean outputsEnergyTo(ForgeDirection side, boolean waitForActive) {
+ return outputsEnergyTo(side);
}
/**
@@ -64,43 +64,38 @@ public interface IEnergyConnected extends IColoredTileEntity {
return 0;
}
- for (byte i = 0, j = 0; i < 6 && aAmperage > rUsedAmperes; i++) {
- if (!aEmitter.outputsEnergyTo(i)) {
+ for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) {
+ if (rUsedAmperes > aAmperage) break;
+ if (!aEmitter.outputsEnergyTo(side)) {
continue;
}
- j = GT_Utility.getOppositeSide(i);
- final TileEntity tTileEntity = emitterTile.getTileEntityAtSide(i);
+ final ForgeDirection oppositeSide = side.getOpposite();
+ final TileEntity tTileEntity = emitterTile.getTileEntityAtSide(side);
if (tTileEntity instanceof PowerLogicHost host) {
- PowerLogic logic = host.getPowerLogic(ForgeDirection.getOrientation(j));
+ final PowerLogic logic = host.getPowerLogic(oppositeSide);
if (logic == null || logic.isEnergyReceiver()) {
continue;
}
rUsedAmperes += logic.injectEnergy(aVoltage, aAmperage - rUsedAmperes);
- } else if (tTileEntity instanceof IEnergyConnected) {
+ } else if (tTileEntity instanceof IEnergyConnected energyConnected) {
if (aEmitter.getColorization() >= 0) {
- final byte tColor = ((IEnergyConnected) tTileEntity).getColorization();
+ final byte tColor = energyConnected.getColorization();
if (tColor >= 0 && tColor != aEmitter.getColorization()) continue;
}
- rUsedAmperes += ((IEnergyConnected) tTileEntity)
- .injectEnergyUnits(j, aVoltage, aAmperage - rUsedAmperes);
+ rUsedAmperes += energyConnected.injectEnergyUnits(oppositeSide, aVoltage, aAmperage - rUsedAmperes);
- } else if (tTileEntity instanceof IEnergySink) {
- if (((IEnergySink) tTileEntity)
- .acceptsEnergyFrom((TileEntity) aEmitter, ForgeDirection.getOrientation(j))) {
- while (aAmperage > rUsedAmperes && ((IEnergySink) tTileEntity).getDemandedEnergy() > 0
- && ((IEnergySink) tTileEntity)
- .injectEnergy(ForgeDirection.getOrientation(j), aVoltage, aVoltage) < aVoltage)
- rUsedAmperes++;
+ } else if (tTileEntity instanceof IEnergySink sink) {
+ if (sink.acceptsEnergyFrom((TileEntity) aEmitter, oppositeSide)) {
+ while (aAmperage > rUsedAmperes && sink.getDemandedEnergy() > 0
+ && sink.injectEnergy(oppositeSide, aVoltage, aVoltage) < aVoltage) rUsedAmperes++;
}
- } else if (GregTech_API.mOutputRF && tTileEntity instanceof IEnergyReceiver) {
- final ForgeDirection tDirection = ForgeDirection.getOrientation(i)
- .getOpposite();
+ } else if (GregTech_API.mOutputRF && tTileEntity instanceof IEnergyReceiver receiver) {
final int rfOut = GT_Utility.safeInt(aVoltage * GregTech_API.mEUtoRF / 100);
- if (((IEnergyReceiver) tTileEntity).receiveEnergy(tDirection, rfOut, true) == rfOut) {
- ((IEnergyReceiver) tTileEntity).receiveEnergy(tDirection, rfOut, false);
+ if (receiver.receiveEnergy(oppositeSide, rfOut, true) == rfOut) {
+ receiver.receiveEnergy(oppositeSide, rfOut, false);
rUsedAmperes++;
}
}
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IExperimentalEnergyTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/IExperimentalEnergyTileEntity.java
deleted file mode 100644
index aa1b9a11c6..0000000000
--- a/src/main/java/gregtech/api/interfaces/tileentity/IExperimentalEnergyTileEntity.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package gregtech.api.interfaces.tileentity;
-
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.util.ForgeDirection;
-
-import cofh.api.energy.IEnergyReceiver;
-import gregtech.api.enums.SubTag;
-import gregtech.api.util.GT_Utility;
-import ic2.api.energy.tile.IEnergySink;
-
-/**
- * THIS IS GOING TO BE USED IN 1.8
- * <p/>
- * Interface for getting Connected to the GregTech Energy Network.
- * <p/>
- * This is all you need to connect to the GT Network. IColoredTileEntity is needed for not connecting differently
- * coloured Blocks to each other. IHasWorldObjectAndCoords is needed for the InWorld related Stuff. @BaseTileEntity does
- * implement most of that Interface.
- */
-public interface IExperimentalEnergyTileEntity extends IColoredTileEntity, IHasWorldObjectAndCoords {
-
- /**
- * Inject Energy Call for Electricity. Gets called by EnergyEmitters to inject Energy into your Block
- * <p/>
- * Note: you have to check for @inputEnergyFrom because the Network won't check for that by itself.
- *
- * @param aSide 0 - 5 = Vanilla Directions of YOUR Block the Energy gets inserted to. 6 = No specific Side (don't do
- * Side checks for this Side)
- * @return amount of used Amperes. 0 if not accepted anything.
- */
- long injectEnergy(SubTag aEnergyType, byte aSide, long aPrimary, long aSecondary);
-
- /**
- * Sided Energy Input
- */
- boolean inputEnergyFrom(SubTag aEnergyType, byte aSide);
-
- /**
- * Sided Energy Output
- */
- boolean outputsEnergyTo(SubTag aEnergyType, byte aSide);
-
- /**
- * Utility for the Network
- */
- class Util {
-
- public static int RF_PER_EU = 4;
- private static boolean RF_ENERGY = false, IC_ENERGY = false, CHECK_ALL = true;
-
- private static void checkAvailabilities() {
- if (CHECK_ALL) {
- try {
- Class<IEnergyReceiver> tClass = cofh.api.energy.IEnergyReceiver.class;
- tClass.getCanonicalName();
- RF_ENERGY = true;
- } catch (Throwable e) {
- /**/
- }
- try {
- Class<IEnergySink> tClass = ic2.api.energy.tile.IEnergySink.class;
- tClass.getCanonicalName();
- IC_ENERGY = true;
- } catch (Throwable e) {
- /**/
- }
- CHECK_ALL = false;
- }
- }
-
- /**
- * Emits Energy to the adjacent Blocks. Also compatible with adjacent IC2 TileEntities when electric and RF
- * TileEntities when RedstoneFlux.
- *
- * @return the amount of used secondary value.
- */
- public static final long emitEnergyToNetwork(SubTag aEnergyType, long aPrimary, long aSecondary,
- IExperimentalEnergyTileEntity aEmitter) {
- long rUsedSecondary = 0;
- checkAvailabilities();
- for (byte i = 0, j = 0; i < 6 && aSecondary > rUsedSecondary; i++)
- if (aEmitter.outputsEnergyTo(aEnergyType, i)) {
- j = GT_Utility.getOppositeSide(i);
- TileEntity tTileEntity = aEmitter.getTileEntityAtSide(i);
- if (tTileEntity instanceof IExperimentalEnergyTileEntity) {
- if (aEmitter.getColorization() >= 0) {
- byte tColor = ((IExperimentalEnergyTileEntity) tTileEntity).getColorization();
- if (tColor >= 0 && tColor != aEmitter.getColorization()) continue;
- }
- rUsedSecondary += ((IExperimentalEnergyTileEntity) tTileEntity)
- .injectEnergy(aEnergyType, j, aPrimary, aSecondary - rUsedSecondary);
- } else if (IC_ENERGY && aEnergyType == SubTag.ENERGY_ELECTRICITY
- && tTileEntity instanceof IEnergySink) {
- if (((IEnergySink) tTileEntity)
- .acceptsEnergyFrom((TileEntity) aEmitter, ForgeDirection.getOrientation(j))) {
- while (aSecondary > rUsedSecondary
- && ((IEnergySink) tTileEntity).getDemandedEnergy() > 0
- && ((IEnergySink) tTileEntity)
- .injectEnergy(ForgeDirection.getOrientation(j), aPrimary, aPrimary) < aPrimary)
- rUsedSecondary++;
- }
- } else if (RF_ENERGY && aEnergyType == SubTag.ENERGY_REDSTONE_FLUX
- && tTileEntity instanceof IEnergyReceiver
- && ((IEnergyReceiver) tTileEntity).canConnectEnergy(ForgeDirection.getOrientation(j))) {
- rUsedSecondary += ((IEnergyReceiver) tTileEntity)
- .receiveEnergy(ForgeDirection.getOrientation(j), (int) aSecondary, false);
- }
- }
- return rUsedSecondary;
- }
- }
-}
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IFibreConnected.java b/src/main/java/gregtech/api/interfaces/tileentity/IFibreConnected.java
index a301c21a76..2f7f26e723 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IFibreConnected.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IFibreConnected.java
@@ -1,5 +1,7 @@
package gregtech.api.interfaces.tileentity;
+import net.minecraftforge.common.util.ForgeDirection;
+
/**
* This File has just internal Information about the Fibre Redstone State of a TileEntity
*/
@@ -8,25 +10,25 @@ public interface IFibreConnected extends IColoredTileEntity, IHasWorldObjectAndC
/**
* If this Blocks accepts Fibre from this Side
*/
- void inputFibreFrom(byte aSide);
+ void inputFibreFrom(ForgeDirection side);
/**
* If this Blocks emits Fibre to this Side
*/
- void outputsFibreTo(byte aSide);
+ void outputsFibreTo(ForgeDirection side);
/**
* Sets the Signal this Blocks outputs to this Fibre Color
*/
- void setFibreOutput(byte aSide, byte aColor, byte aRedstoneStrength);
+ void setFibreOutput(ForgeDirection side, byte aColor, byte aRedstoneStrength);
/**
* Gets the Signal this Blocks outputs to this Fibre Color
*/
- byte getFibreOutput(byte aSide, byte aColor);
+ byte getFibreOutput(ForgeDirection side, byte aColor);
/**
* Gets the Signal this Blocks receives from this Fibre Color
*/
- byte getFibreInput(byte aSide, byte aColor);
+ byte getFibreInput(ForgeDirection side, byte aColor);
}
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IGearEnergyTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/IGearEnergyTileEntity.java
index 31e9b51719..eefcbcb5ac 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IGearEnergyTileEntity.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IGearEnergyTileEntity.java
@@ -1,18 +1,21 @@
package gregtech.api.interfaces.tileentity;
+import net.minecraftforge.common.util.ForgeDirection;
+
public interface IGearEnergyTileEntity {
/**
* If Rotation Energy can be accepted on this Side. This means that the Gear/Axle will connect to this Side, and can
* cause the Gear/Axle to stop if the Energy isn't accepted.
*/
- boolean acceptsRotationalEnergy(byte aSide);
+ boolean acceptsRotationalEnergy(ForgeDirection side);
/**
* Inject Energy Call for Rotational Energy. Rotation Energy can't be stored, this is just for things like internal
* Dynamos, which convert it into Energy, or into Progress.
*
+ * @param side
* @param aSpeed Positive = Clockwise, Negative = Counterclockwise
*/
- boolean injectRotationalEnergy(byte aSide, long aSpeed, long aEnergy);
+ boolean injectRotationalEnergy(ForgeDirection side, long aSpeed, long aEnergy);
}
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java
index 23e4d662c9..5062f0fce5 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java
@@ -10,6 +10,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;
+import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.IFluidHandler;
import cpw.mods.fml.relauncher.Side;
@@ -128,9 +129,9 @@ public interface IGregTechTileEntity extends ITexturedTileEntity, IGearEnergyTil
/**
* Called when rightclicking the TileEntity
*/
- boolean onRightclick(EntityPlayer aPlayer, byte aSide, float aX, float aY, float aZ);
+ boolean onRightclick(EntityPlayer aPlayer, ForgeDirection side, float aX, float aY, float aZ);
- float getBlastResistance(byte aSide);
+ float getBlastResistance(ForgeDirection side);
default void onBlockDestroyed() {}
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IHasWorldObjectAndCoords.java b/src/main/java/gregtech/api/interfaces/tileentity/IHasWorldObjectAndCoords.java
index f02672365e..64d206aff7 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IHasWorldObjectAndCoords.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IHasWorldObjectAndCoords.java
@@ -8,6 +8,7 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ChunkCoordinates;
import net.minecraft.world.World;
import net.minecraft.world.biome.BiomeGenBase;
+import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.IFluidHandler;
/**
@@ -43,91 +44,91 @@ public interface IHasWorldObjectAndCoords {
TileEntity getTileEntityOffset(int aX, int aY, int aZ);
- TileEntity getTileEntityAtSide(byte aSide);
+ TileEntity getTileEntityAtSide(ForgeDirection side);
- TileEntity getTileEntityAtSideAndDistance(byte aSide, int aDistance);
+ TileEntity getTileEntityAtSideAndDistance(ForgeDirection side, int aDistance);
IInventory getIInventory(int aX, int aY, int aZ);
IInventory getIInventoryOffset(int aX, int aY, int aZ);
- IInventory getIInventoryAtSide(byte aSide);
+ IInventory getIInventoryAtSide(ForgeDirection side);
- IInventory getIInventoryAtSideAndDistance(byte aSide, int aDistance);
+ IInventory getIInventoryAtSideAndDistance(ForgeDirection side, int aDistance);
IFluidHandler getITankContainer(int aX, int aY, int aZ);
IFluidHandler getITankContainerOffset(int aX, int aY, int aZ);
- IFluidHandler getITankContainerAtSide(byte aSide);
+ IFluidHandler getITankContainerAtSide(ForgeDirection side);
- IFluidHandler getITankContainerAtSideAndDistance(byte aSide, int aDistance);
+ IFluidHandler getITankContainerAtSideAndDistance(ForgeDirection side, int aDistance);
IGregTechTileEntity getIGregTechTileEntity(int aX, int aY, int aZ);
IGregTechTileEntity getIGregTechTileEntityOffset(int aX, int aY, int aZ);
- IGregTechTileEntity getIGregTechTileEntityAtSide(byte aSide);
+ IGregTechTileEntity getIGregTechTileEntityAtSide(ForgeDirection side);
- IGregTechTileEntity getIGregTechTileEntityAtSideAndDistance(byte aSide, int aDistance);
+ IGregTechTileEntity getIGregTechTileEntityAtSideAndDistance(ForgeDirection side, int aDistance);
Block getBlock(int aX, int aY, int aZ);
Block getBlockOffset(int aX, int aY, int aZ);
- Block getBlockAtSide(byte aSide);
+ Block getBlockAtSide(ForgeDirection side);
- Block getBlockAtSideAndDistance(byte aSide, int aDistance);
+ Block getBlockAtSideAndDistance(ForgeDirection side, int aDistance);
byte getMetaID(int aX, int aY, int aZ);
byte getMetaIDOffset(int aX, int aY, int aZ);
- byte getMetaIDAtSide(byte aSide);
+ byte getMetaIDAtSide(ForgeDirection side);
- byte getMetaIDAtSideAndDistance(byte aSide, int aDistance);
+ byte getMetaIDAtSideAndDistance(ForgeDirection side, int aDistance);
byte getLightLevel(int aX, int aY, int aZ);
byte getLightLevelOffset(int aX, int aY, int aZ);
- byte getLightLevelAtSide(byte aSide);
+ byte getLightLevelAtSide(ForgeDirection side);
- byte getLightLevelAtSideAndDistance(byte aSide, int aDistance);
+ byte getLightLevelAtSideAndDistance(ForgeDirection side, int aDistance);
boolean getOpacity(int aX, int aY, int aZ);
boolean getOpacityOffset(int aX, int aY, int aZ);
- boolean getOpacityAtSide(byte aSide);
+ boolean getOpacityAtSide(ForgeDirection side);
- boolean getOpacityAtSideAndDistance(byte aSide, int aDistance);
+ boolean getOpacityAtSideAndDistance(ForgeDirection side, int aDistance);
boolean getSky(int aX, int aY, int aZ);
boolean getSkyOffset(int aX, int aY, int aZ);
- boolean getSkyAtSide(byte aSide);
+ boolean getSkyAtSide(ForgeDirection side);
- boolean getSkyAtSideAndDistance(byte aSide, int aDistance);
+ boolean getSkyAtSideAndDistance(ForgeDirection side, int aDistance);
boolean getAir(int aX, int aY, int aZ);
boolean getAirOffset(int aX, int aY, int aZ);
- boolean getAirAtSide(byte aSide);
+ boolean getAirAtSide(ForgeDirection side);
- boolean getAirAtSideAndDistance(byte aSide, int aDistance);
+ boolean getAirAtSideAndDistance(ForgeDirection side, int aDistance);
BiomeGenBase getBiome();
BiomeGenBase getBiome(int aX, int aZ);
- int getOffsetX(byte aSide, int aMultiplier);
+ int getOffsetX(ForgeDirection side, int aMultiplier);
- short getOffsetY(byte aSide, int aMultiplier);
+ short getOffsetY(ForgeDirection side, int aMultiplier);
- int getOffsetZ(byte aSide, int aMultiplier);
+ int getOffsetZ(ForgeDirection side, int aMultiplier);
/**
* Checks if the TileEntity is Invalid or Unloaded. Stupid Minecraft cannot do that btw.
@@ -168,7 +169,7 @@ public interface IHasWorldObjectAndCoords {
/**
* Opens the GUI with this ID of this MetaTileEntity
- *
+ *
* @deprecated Use ModularUI
*/
@Deprecated
@@ -178,7 +179,7 @@ public interface IHasWorldObjectAndCoords {
/**
* Opens the GUI with the ID = 0 of this TileEntity
- *
+ *
* @deprecated Use ModularUI
*/
@Deprecated
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IPipeRenderedTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/IPipeRenderedTileEntity.java
index 3cc3c6404d..ab476449f0 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IPipeRenderedTileEntity.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IPipeRenderedTileEntity.java
@@ -1,5 +1,7 @@
package gregtech.api.interfaces.tileentity;
+import net.minecraftforge.common.util.ForgeDirection;
+
import gregtech.api.interfaces.ITexture;
public interface IPipeRenderedTileEntity extends ICoverable, ITexturedTileEntity {
@@ -8,9 +10,9 @@ public interface IPipeRenderedTileEntity extends ICoverable, ITexturedTileEntity
byte getConnections();
- ITexture[] getTextureUncovered(byte aSide);
+ ITexture[] getTextureUncovered(ForgeDirection side);
- default ITexture[] getTextureCovered(byte aSide) {
- return getTextureUncovered(aSide);
+ default ITexture[] getTextureCovered(ForgeDirection side) {
+ return getTextureUncovered(side);
}
}
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneEmitter.java b/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneEmitter.java
index fba20ee79d..1b280184ce 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneEmitter.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneEmitter.java
@@ -1,5 +1,7 @@
package gregtech.api.interfaces.tileentity;
+import net.minecraftforge.common.util.ForgeDirection;
+
/**
* This File has just internal Information about the Redstone State of a TileEntity
*/
@@ -7,8 +9,11 @@ public interface IRedstoneEmitter extends IHasWorldObjectAndCoords {
/**
* gets the Redstone Level the TileEntity should emit to the given Output Side
+ *
+ * @param side the {@link ForgeDirection} side
+ * @return the Redstone Level the TileEntity
*/
- byte getOutputRedstoneSignal(byte aSide);
+ byte getOutputRedstoneSignal(ForgeDirection side);
/**
* sets the Redstone Level the TileEntity should emit to the given Output Side
@@ -17,12 +22,12 @@ public interface IRedstoneEmitter extends IHasWorldObjectAndCoords {
* internal Output Redstone, so that it doesnt conflict with Cover Redstone. This sets the true Redstone Output
* Signal. Only Cover Behaviors should use it, not MetaTileEntities.
*/
- void setOutputRedstoneSignal(byte aSide, byte aStrength);
+ void setOutputRedstoneSignal(ForgeDirection side, byte aStrength);
/**
* gets the Redstone Level the TileEntity should emit to the given Output Side
*/
- byte getStrongOutputRedstoneSignal(byte aSide);
+ byte getStrongOutputRedstoneSignal(ForgeDirection side);
/**
* sets the Redstone Level the TileEntity should emit to the given Output Side
@@ -31,17 +36,17 @@ public interface IRedstoneEmitter extends IHasWorldObjectAndCoords {
* internal Output Redstone, so that it doesnt conflict with Cover Redstone. This sets the true Redstone Output
* Signal. Only Cover Behaviors should use it, not MetaTileEntities.
*/
- void setStrongOutputRedstoneSignal(byte aSide, byte aStrength);
+ void setStrongOutputRedstoneSignal(ForgeDirection side, byte aStrength);
/**
* Gets the Output for the comparator on the given Side
*/
- byte getComparatorValue(byte aSide);
+ byte getComparatorValue(ForgeDirection side);
/**
* Get the redstone output signal strength for a given side
*/
- default byte getGeneralRS(byte aSide) {
+ default byte getGeneralRS(ForgeDirection side) {
return 0;
}
}
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneReceiver.java b/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneReceiver.java
index d5fb814c52..a41e9aaf7a 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneReceiver.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneReceiver.java
@@ -1,5 +1,7 @@
package gregtech.api.interfaces.tileentity;
+import net.minecraftforge.common.util.ForgeDirection;
+
/**
* This File has just internal Information about the Redstone State of a TileEntity
*/
@@ -12,7 +14,7 @@ public interface IRedstoneReceiver extends IHasWorldObjectAndCoords {
* Input Redstone This returns the true incoming Redstone Signal. Only Cover Behaviors should check it, not
* MetaTileEntities.
*/
- byte getInputRedstoneSignal(byte aSide);
+ byte getInputRedstoneSignal(ForgeDirection side);
/**
* gets the strongest Redstone Level the TileEntity receives
@@ -27,5 +29,5 @@ public interface IRedstoneReceiver extends IHasWorldObjectAndCoords {
/**
* gets if the TileEntity receives Redstone at this Side
*/
- boolean getRedstone(byte aSide);
+ boolean getRedstone(ForgeDirection side);
}
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/ITexturedTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/ITexturedTileEntity.java
index d6024b612e..379111b07e 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/ITexturedTileEntity.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/ITexturedTileEntity.java
@@ -1,6 +1,7 @@
package gregtech.api.interfaces.tileentity;
import net.minecraft.block.Block;
+import net.minecraftforge.common.util.ForgeDirection;
import gregtech.api.interfaces.ITexture;
@@ -9,5 +10,5 @@ public interface ITexturedTileEntity {
/**
* @return the Textures rendered by the GT Rendering
*/
- ITexture[] getTexture(Block aBlock, byte aSide);
+ ITexture[] getTexture(Block aBlock, ForgeDirection side);
}
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/ITurnable.java b/src/main/java/gregtech/api/interfaces/tileentity/ITurnable.java
index e54a85090e..64cc8675ef 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/ITurnable.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/ITurnable.java
@@ -1,6 +1,6 @@
package gregtech.api.interfaces.tileentity;
-import static gregtech.api.enums.GT_Values.ALL_VALID_SIDES;
+import net.minecraftforge.common.util.ForgeDirection;
/**
* Implemented by all my Machines. However without any security checks, if the Players are even allowed to rotate it.
@@ -12,34 +12,34 @@ public interface ITurnable {
*
* @return front Block facing
*/
- byte getFrontFacing();
+ ForgeDirection getFrontFacing();
/**
* Set the block's facing
*
- * @param aSide facing to set the block to
+ * @param side facing to set the block to
*/
- void setFrontFacing(byte aSide);
+ void setFrontFacing(ForgeDirection side);
/**
* Get the block's back facing.
*
* @return opposite Block facing
*/
- byte getBackFacing();
+ ForgeDirection getBackFacing();
/**
* Determine if the wrench can be used to set the block's facing.
*/
- boolean isValidFacing(byte aSide);
+ boolean isValidFacing(ForgeDirection side);
/**
* Get the list of valid facings
*/
default boolean[] getValidFacings() {
final boolean[] validFacings = new boolean[6];
- for (byte facing : ALL_VALID_SIDES) {
- validFacings[facing] = isValidFacing(facing);
+ for (final ForgeDirection facing : ForgeDirection.VALID_DIRECTIONS) {
+ validFacings[facing.ordinal()] = isValidFacing(facing);
}
return validFacings;
}