diff options
Diffstat (limited to 'src/main/java/gregtech/api/interfaces/tileentity')
22 files changed, 0 insertions, 1081 deletions
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IBasicEnergyContainer.java b/src/main/java/gregtech/api/interfaces/tileentity/IBasicEnergyContainer.java deleted file mode 100644 index 423b3d4379..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IBasicEnergyContainer.java +++ /dev/null @@ -1,100 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -/** - * Interface for internal Code, which is mainly used for independent Energy conversion. - */ -public interface IBasicEnergyContainer extends IEnergyConnected { - /** - * Gets if that Amount of Energy is stored inside the Machine. - * It is used for checking the contained Energy before consuming it. - * If this returns false, it will also give a Message inside the Scanner, that this Machine doesn't have enough Energy. - */ - public boolean isUniversalEnergyStored(long aEnergyAmount); - - /** - * Gets the stored electric, kinetic or steam Energy (with EU as reference Value) - * Always returns the largest one. - */ - public long getUniversalEnergyStored(); - - /** - * Gets the largest electric, kinetic or steam Energy Capacity (with EU as reference Value) - */ - public long getUniversalEnergyCapacity(); - - /** - * Gets the amount of Energy Packets per tick. - */ - public long getOutputAmperage(); - - /** - * Gets the Output in EU/p. - */ - public long getOutputVoltage(); - - /** - * Gets the amount of Energy Packets per tick. - */ - public long getInputAmperage(); - - /** - * Gets the maximum Input in EU/p. - */ - public long getInputVoltage(); - - /** - * Decreases the Amount of stored universal Energy. If ignoring too less Energy, then it just sets the Energy to 0 and returns false. - */ - public boolean decreaseStoredEnergyUnits(long aEnergy, boolean aIgnoreTooLessEnergy); - - /** - * Increases the Amount of stored electric Energy. If ignoring too much Energy, then the Energy Limit is just being ignored. - */ - public boolean increaseStoredEnergyUnits(long aEnergy, boolean aIgnoreTooMuchEnergy); - - /** - * Drain Energy Call for Electricity. - */ - public boolean drainEnergyUnits(byte aSide, long aVoltage, long aAmperage); - - /** - * returns the amount of Electricity, accepted by this Block the last 5 ticks as Average. - */ - public long getAverageElectricInput(); - - /** - * returns the amount of Electricity, outputted by this Block the last 5 ticks as Average. - */ - public long getAverageElectricOutput(); - - /** - * returns the amount of electricity contained in this Block, in EU units! - */ - public long getStoredEU(); - - /** - * returns the amount of electricity containable in this Block, in EU units! - */ - public long getEUCapacity(); - - /** - * returns the amount of Steam contained in this Block, in EU units! - */ - public long getStoredSteam(); - - /** - * returns the amount of Steam containable in this Block, in EU units! - */ - public long getSteamCapacity(); - - /** - * Increases stored Energy. Energy Base Value is in EU, even though it's Steam! - * - * @param aEnergy The Energy to add to the Machine. - * @param aIgnoreTooMuchEnergy if it shall ignore if it has too much Energy. - * @return if it was successful - * <p/> - * And yes, you can't directly decrease the Steam of a Machine. That is done by decreaseStoredEnergyUnits - */ - public boolean increaseStoredSteam(long aEnergy, boolean aIgnoreTooMuchEnergy); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IColoredTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/IColoredTileEntity.java deleted file mode 100644 index 6b69911ad2..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IColoredTileEntity.java +++ /dev/null @@ -1,15 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -public interface IColoredTileEntity { - /** - * @return 0 - 15 are Colors, while -1 means uncolored - */ - public byte getColorization(); - - /** - * Sets the Color Modulation of the Block - * - * @param aColor the Color you want to set it to. -1 for reset. - */ - public byte setColorization(byte aColor); -} diff --git a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java b/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java deleted file mode 100644 index 99ec88c149..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/ICoverable.java +++ /dev/null @@ -1,44 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -import gregtech.api.util.GT_CoverBehavior; -import net.minecraft.item.ItemStack; - -public interface ICoverable extends IRedstoneTileEntity, IHasInventory, IBasicEnergyContainer { - public boolean canPlaceCoverIDAtSide(byte aSide, int aID); - - public boolean canPlaceCoverItemAtSide(byte aSide, ItemStack aCover); - - public boolean dropCover(byte aSide, byte aDroppedSide, boolean aForced); - - public void setCoverDataAtSide(byte aSide, int aData); - - public void setCoverIDAtSide(byte aSide, int aID); - - public void setCoverItemAtSide(byte aSide, ItemStack aCover); - - public int getCoverDataAtSide(byte aSide); - - public int getCoverIDAtSide(byte aSide); - - public ItemStack getCoverItemAtSide(byte aSide); - - public GT_CoverBehavior getCoverBehaviorAtSide(byte aSide); - - /** - * 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. - */ - public byte getInternalInputRedstoneSignal(byte aSide); - - /** - * 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. - */ - public void setInternalOutputRedstoneSignal(byte aSide, byte aStrength); - - /** - * Causes a general Cover Texture update. - * Sends 6 Integers to Client + causes @issueTextureUpdate() - */ - public void issueCoverUpdate(byte aSide); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IDigitalChest.java b/src/main/java/gregtech/api/interfaces/tileentity/IDigitalChest.java deleted file mode 100644 index 8f55b75fcf..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IDigitalChest.java +++ /dev/null @@ -1,31 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -import net.minecraft.item.ItemStack; - -/** - * You are allowed to include this File in your Download, as i will not change it. - */ -public interface IDigitalChest extends IHasWorldObjectAndCoords { - /** - * Is this even a TileEntity of a Digital Chest? - * I need things like this Function for MetaTileEntities, you MUST check this!!! - * Do not assume that it's a Digital Chest or similar Device, when it just implements this Interface. - */ - public boolean isDigitalChest(); - - /** - * Gives an Array of Stacks with Size (of all the Data-stored Items) of the correspondent Item kinds (regular QChests have only one) - * Does NOT include the 64 "ready" Items inside the Slots, and neither the 128 Items in the overflow Buffer. - */ - public ItemStack[] getStoredItemData(); - - /** - * A generic Interface for just setting the amount of contained Items - */ - public void setItemCount(int aCount); - - /** - * Gets the maximum Item count for this QChest alike Storage. This applies to the Data-Storage, not for the up to 192 buffered Items! - */ - public int getMaxItemCount(); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConductor.java b/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConductor.java deleted file mode 100644 index 2384678529..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConductor.java +++ /dev/null @@ -1,40 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -import gregtech.api.enums.Materials; - -/** - * Informative Class for Cables. Not used for now. - * <p/> - * Not all Data might be reliable. This is just for Information sake. - */ -public interface IEnergyConductor extends IEnergyConnected { - /** - * @return if this is actually a Cable. (you must check this) - */ - public boolean isConductor(); - - /** - * @return the maximum Voltage of the Cable. - */ - public long getMaxVoltage(); - - /** - * @return the maximum Amperage of the Cable, per Wire. - */ - public long getMaxAmperage(); - - /** - * @return the Loss of the Cable, per Meter. - */ - public long getLossPerMeter(); - - /** - * @return the Material the Cable consists of. (may return Materials._NULL) - */ - public Materials getCableMaterial(); - - /** - * @return the Material the Cable Insulation consists of. (may return Materials._NULL) - */ - public Materials getInsulationMaterial(); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java b/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java deleted file mode 100644 index b62ed4500b..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IEnergyConnected.java +++ /dev/null @@ -1,96 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -import cofh.api.energy.IEnergyReceiver; -import gregtech.api.GregTech_API; -import gregtech.api.util.GT_Utility; -import ic2.api.energy.tile.IEnergySink; -import net.minecraft.init.Blocks; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; - -import static gregtech.api.enums.GT_Values.V; - -/** - * 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 IEnergyConnected 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. - */ - public long injectEnergyUnits(byte aSide, long aVoltage, long aAmperage); - - /** - * Sided Energy Input - */ - public boolean inputEnergyFrom(byte aSide); - - /** - * Sided Energy Output - */ - public boolean outputsEnergyTo(byte aSide); - - /** - * Utility for the Network - */ - public static class Util { - /** - * Emits Energy to the E-net. Also compatible with adjacent IC2 TileEntities. - * - * @return the used Amperage. - */ - public static final long emitEnergyToNetwork(long aVoltage, long aAmperage, IEnergyConnected aEmitter) { - long rUsedAmperes = 0; - for (byte i = 0, j = 0; i < 6 && aAmperage > rUsedAmperes; i++) - if (aEmitter.outputsEnergyTo(i)) { - j = GT_Utility.getOppositeSide(i); - TileEntity tTileEntity = aEmitter.getTileEntityAtSide(i); - if (tTileEntity instanceof IEnergyConnected) { - if (aEmitter.getColorization() >= 0) { - byte tColor = ((IEnergyConnected) tTileEntity).getColorization(); - if (tColor >= 0 && tColor != aEmitter.getColorization()) continue; - } - rUsedAmperes += ((IEnergyConnected) tTileEntity).injectEnergyUnits(j, aVoltage, aAmperage - rUsedAmperes); -// } else if (tTileEntity instanceof IEnergySink) { -// if (((IEnergySink)tTileEntity).acceptsEnergyFrom((TileEntity)aEmitter, ForgeDirection.getOrientation(j))) { -// while (aAmperage > rUsedAmperes && ((IEnergySink)tTileEntity).demandedEnergyUnits() > 0 && ((IEnergySink)tTileEntity).injectEnergyUnits(ForgeDirection.getOrientation(j), aVoltage) < aVoltage) 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 (GregTech_API.mOutputRF && tTileEntity instanceof IEnergyReceiver) { - ForgeDirection tDirection = ForgeDirection.getOrientation(i).getOpposite(); - int rfOut = (int) (aVoltage * GregTech_API.mEUtoRF / 100); - if (((IEnergyReceiver) tTileEntity).receiveEnergy(tDirection, rfOut, true) == rfOut) { - ((IEnergyReceiver) tTileEntity).receiveEnergy(tDirection, rfOut, false); - rUsedAmperes++; - } - if (GregTech_API.mRFExplosions && GregTech_API.sMachineExplosions && ((IEnergyReceiver) tTileEntity).getMaxEnergyStored(tDirection) < rfOut * 600) { - if (rfOut > 32 * GregTech_API.mEUtoRF / 100) { - int aExplosionPower = rfOut; - float tStrength = aExplosionPower < V[0] ? 1.0F : aExplosionPower < V[1] ? 2.0F : aExplosionPower < V[2] ? 3.0F : aExplosionPower < V[3] ? 4.0F : aExplosionPower < V[4] ? 5.0F : aExplosionPower < V[4] * 2 ? 6.0F : aExplosionPower < V[5] ? 7.0F : aExplosionPower < V[6] ? 8.0F : aExplosionPower < V[7] ? 9.0F : 10.0F; - int tX = tTileEntity.xCoord, tY = tTileEntity.yCoord, tZ = tTileEntity.zCoord; - World tWorld = tTileEntity.getWorldObj(); - GT_Utility.sendSoundToPlayers(tWorld, GregTech_API.sSoundList.get(209), 1.0F, -1, tX, tY, tZ); - tWorld.setBlock(tX, tY, tZ, Blocks.air); - if (GregTech_API.sMachineExplosions) - tWorld.createExplosion(null, tX + 0.5, tY + 0.5, tZ + 0.5, tStrength, true); - } - } - } - } - return rUsedAmperes; - } - } -}
\ No newline at end of file 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 7e86701f6b..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IExperimentalEnergyTileEntity.java +++ /dev/null @@ -1,93 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -import cofh.api.energy.IEnergyReceiver; -import gregtech.api.enums.SubTag; -import gregtech.api.util.GT_Utility; -import ic2.api.energy.tile.IEnergySink; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; - -/** - * 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. - */ - public long injectEnergy(SubTag aEnergyType, byte aSide, long aPrimary, long aSecondary); - - /** - * Sided Energy Input - */ - public boolean inputEnergyFrom(SubTag aEnergyType, byte aSide); - - /** - * Sided Energy Output - */ - public boolean outputsEnergyTo(SubTag aEnergyType, byte aSide); - - /** - * Utility for the Network - */ - public static 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 tClass = cofh.api.energy.IEnergyReceiver.class; - tClass.getCanonicalName(); - RF_ENERGY = true; - } catch (Throwable e) {/**/} - try { - Class 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; - } - } -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IFibreConnected.java b/src/main/java/gregtech/api/interfaces/tileentity/IFibreConnected.java deleted file mode 100644 index edcf5bdb89..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IFibreConnected.java +++ /dev/null @@ -1,31 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -/** - * This File has just internal Information about the Fibre Redstone State of a TileEntity - */ -public interface IFibreConnected extends IColoredTileEntity, IHasWorldObjectAndCoords { - /** - * If this Blocks accepts Fibre from this Side - */ - public void inputFibreFrom(byte aSide); - - /** - * If this Blocks emits Fibre to this Side - */ - public void outputsFibreTo(byte aSide); - - /** - * Sets the Signal this Blocks outputs to this Fibre Color - */ - public void setFibreOutput(byte aSide, byte aColor, byte aRedstoneStrength); - - /** - * Gets the Signal this Blocks outputs to this Fibre Color - */ - public byte getFibreOutput(byte aSide, byte aColor); - - /** - * Gets the Signal this Blocks receives from this Fibre Color - */ - public byte getFibreInput(byte aSide, byte aColor); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IGearEnergyTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/IGearEnergyTileEntity.java deleted file mode 100644 index 796f0a11b3..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IGearEnergyTileEntity.java +++ /dev/null @@ -1,17 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -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. - */ - public boolean acceptsRotationalEnergy(byte aSide); - - /** - * 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 aSpeed Positive = Clockwise, Negative = Counterclockwise - */ - public boolean injectRotationalEnergy(byte aSide, long aSpeed, long aEnergy); -} diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IGregTechDeviceInformation.java b/src/main/java/gregtech/api/interfaces/tileentity/IGregTechDeviceInformation.java deleted file mode 100644 index e4bb4f1371..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IGregTechDeviceInformation.java +++ /dev/null @@ -1,21 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -/** - * You are allowed to include this File in your Download, as i will not change it. - */ -public interface IGregTechDeviceInformation { - /** - * Is this even a TileEntity which allows GregTech Sensor Kits? - * I need things like this Function for MetaTileEntities, you MUST check this!!! - * Do not assume that it's a Information returning Device, when it just implements this Interface. - */ - public boolean isGivingInformation(); - - /** - * Up to 8 Strings can be returned. - * Note: If you insert "\\\\" in the String it tries to translate seperate Parts of the String instead of the String as a whole. - * - * @return an Array of Information Strings. Don't return null! - */ - public String[] getInfoData(); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java deleted file mode 100644 index 2170b6543c..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IGregTechTileEntity.java +++ /dev/null @@ -1,127 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -import gregtech.api.interfaces.IDescribable; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; -import net.minecraftforge.fluids.IFluidHandler; - -import java.util.ArrayList; -import java.util.List; - -/** - * A simple compound Interface for all my TileEntities. - * <p/> - * Also delivers most of the Informations about my TileEntities. - * <p/> - * It can cause Problems to include this Interface! - */ -public interface IGregTechTileEntity extends ITexturedTileEntity, IGearEnergyTileEntity, ICoverable, IFluidHandler, ITurnable, IGregTechDeviceInformation, IUpgradableMachine, IDigitalChest, IDescribable, IMachineBlockUpdateable { - /** - * gets the Error displayed on the GUI - */ - public int getErrorDisplayID(); - - /** - * sets the Error displayed on the GUI - */ - public void setErrorDisplayID(int aErrorID); - - /** - * @return the MetaID of the Block or the MetaTileEntity ID. - */ - public int getMetaTileID(); - - /** - * Internal Usage only! - */ - public int setMetaTileID(short aID); - - /** - * @return the MetaTileEntity which is belonging to this, or null if it doesnt has one. - */ - public IMetaTileEntity getMetaTileEntity(); - - /** - * Sets the MetaTileEntity. - * Even though this uses the Universal Interface, certain BaseMetaTileEntities only accept one kind of MetaTileEntity - * so only use this if you are sure its the correct one or you will get a Class cast Error. - * - * @param aMetaTileEntity - */ - public void setMetaTileEntity(IMetaTileEntity aMetaTileEntity); - - /** - * Causes a general Texture update. - * <p/> - * Only used Client Side to mark Blocks dirty. - */ - public void issueTextureUpdate(); - - /** - * Causes the Machine to send its initial Data, like Covers and its ID. - */ - public void issueClientUpdate(); - - /** - * causes Explosion. Strength in Overload-EU - */ - public void doExplosion(long aExplosionEU); - - /** - * Sets the Block on Fire in all 6 Directions - */ - public void setOnFire(); - - /** - * Sets the Block to Fire - */ - public void setToFire(); - - /** - * Sets the Owner of the Machine. Returns the set Name. - */ - public String setOwnerName(String aName); - - /** - * gets the Name of the Machines Owner or "Player" if not set. - */ - public String getOwnerName(); - - /** - * Sets initial Values from NBT - * - * @param tNBT is the NBTTag of readFromNBT - * @param aID is the MetaTileEntityID - */ - public void setInitialValuesAsNBT(NBTTagCompound aNBT, short aID); - - /** - * Called when leftclicking the TileEntity - */ - public void onLeftclick(EntityPlayer aPlayer); - - /** - * Called when rightclicking the TileEntity - */ - public boolean onRightclick(EntityPlayer aPlayer, byte aSide, float par1, float par2, float par3); - - public float getBlastResistance(byte aSide); - - public ArrayList<ItemStack> getDrops(); - - /** - * 255 = 100% - */ - public int getLightOpacity(); - - public void addCollisionBoxesToList(World aWorld, int aX, int aY, int aZ, AxisAlignedBB inputAABB, List<AxisAlignedBB> outputAABB, Entity collider); - - public AxisAlignedBB getCollisionBoundingBoxFromPool(World aWorld, int aX, int aY, int aZ); - - public void onEntityCollidedWithBlock(World aWorld, int aX, int aY, int aZ, Entity collider); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IHasInventory.java b/src/main/java/gregtech/api/interfaces/tileentity/IHasInventory.java deleted file mode 100644 index 3bd8b0429c..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IHasInventory.java +++ /dev/null @@ -1,33 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -import net.minecraft.inventory.ISidedInventory; -import net.minecraft.item.ItemStack; - -public interface IHasInventory extends ISidedInventory, IHasWorldObjectAndCoords { - - /** - * if the Inventory of this TileEntity got modified this tick - */ - public boolean hasInventoryBeenModified(); - - /** - * if this is just a Holoslot - */ - public boolean isValidSlot(int aIndex); - - /** - * Tries to add a Stack to the Slot. - * It doesn't matter if the Slot is valid or invalid as described at the Function above. - * - * @return true if aStack == null, then false if aIndex is out of bounds, then false if aStack cannot be added, and then true if aStack has been added - */ - public boolean addStackToSlot(int aIndex, ItemStack aStack); - - /** - * Tries to add X Items of a Stack to the Slot. - * It doesn't matter if the Slot is valid or invalid as described at the Function above. - * - * @return true if aStack == null, then false if aIndex is out of bounds, then false if aStack cannot be added, and then true if aStack has been added - */ - public boolean addStackToSlot(int aIndex, ItemStack aStack, int aAmount); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IHasWorldObjectAndCoords.java b/src/main/java/gregtech/api/interfaces/tileentity/IHasWorldObjectAndCoords.java deleted file mode 100644 index c86ac0f33f..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IHasWorldObjectAndCoords.java +++ /dev/null @@ -1,169 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.IInventory; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; -import net.minecraft.world.biome.BiomeGenBase; -import net.minecraftforge.fluids.IFluidHandler; - -/** - * This is a bunch of Functions my TileEntities provide, to make life much easier, and to get rid of internal TileEntity stuff. - * <p/> - * This also makes access to adjacent TileEntities more Efficient. - * <p/> - * Note: It doesn't have to be a TileEntity in certain cases! And only certain cases, such as the Recipe checking of the findRecipe Function. - */ -public interface IHasWorldObjectAndCoords { - public World getWorld(); - - public int getXCoord(); - - public short getYCoord(); - - public int getZCoord(); - - public boolean isServerSide(); - - public boolean isClientSide(); - - public int getRandomNumber(int aRange); - - public TileEntity getTileEntity(int aX, int aY, int aZ); - - public TileEntity getTileEntityOffset(int aX, int aY, int aZ); - - public TileEntity getTileEntityAtSide(byte aSide); - - public TileEntity getTileEntityAtSideAndDistance(byte aSide, int aDistance); - - public IInventory getIInventory(int aX, int aY, int aZ); - - public IInventory getIInventoryOffset(int aX, int aY, int aZ); - - public IInventory getIInventoryAtSide(byte aSide); - - public IInventory getIInventoryAtSideAndDistance(byte aSide, int aDistance); - - public IFluidHandler getITankContainer(int aX, int aY, int aZ); - - public IFluidHandler getITankContainerOffset(int aX, int aY, int aZ); - - public IFluidHandler getITankContainerAtSide(byte aSide); - - public IFluidHandler getITankContainerAtSideAndDistance(byte aSide, int aDistance); - - public IGregTechTileEntity getIGregTechTileEntity(int aX, int aY, int aZ); - - public IGregTechTileEntity getIGregTechTileEntityOffset(int aX, int aY, int aZ); - - public IGregTechTileEntity getIGregTechTileEntityAtSide(byte aSide); - - public IGregTechTileEntity getIGregTechTileEntityAtSideAndDistance(byte aSide, int aDistance); - - public Block getBlock(int aX, int aY, int aZ); - - public Block getBlockOffset(int aX, int aY, int aZ); - - public Block getBlockAtSide(byte aSide); - - public Block getBlockAtSideAndDistance(byte aSide, int aDistance); - - public byte getMetaID(int aX, int aY, int aZ); - - public byte getMetaIDOffset(int aX, int aY, int aZ); - - public byte getMetaIDAtSide(byte aSide); - - public byte getMetaIDAtSideAndDistance(byte aSide, int aDistance); - - public byte getLightLevel(int aX, int aY, int aZ); - - public byte getLightLevelOffset(int aX, int aY, int aZ); - - public byte getLightLevelAtSide(byte aSide); - - public byte getLightLevelAtSideAndDistance(byte aSide, int aDistance); - - public boolean getOpacity(int aX, int aY, int aZ); - - public boolean getOpacityOffset(int aX, int aY, int aZ); - - public boolean getOpacityAtSide(byte aSide); - - public boolean getOpacityAtSideAndDistance(byte aSide, int aDistance); - - public boolean getSky(int aX, int aY, int aZ); - - public boolean getSkyOffset(int aX, int aY, int aZ); - - public boolean getSkyAtSide(byte aSide); - - public boolean getSkyAtSideAndDistance(byte aSide, int aDistance); - - public boolean getAir(int aX, int aY, int aZ); - - public boolean getAirOffset(int aX, int aY, int aZ); - - public boolean getAirAtSide(byte aSide); - - public boolean getAirAtSideAndDistance(byte aSide, int aDistance); - - public BiomeGenBase getBiome(); - - public BiomeGenBase getBiome(int aX, int aZ); - - public int getOffsetX(byte aSide, int aMultiplier); - - public short getOffsetY(byte aSide, int aMultiplier); - - public int getOffsetZ(byte aSide, int aMultiplier); - - /** - * Checks if the TileEntity is Invalid or Unloaded. Stupid Minecraft cannot do that btw. - */ - public boolean isDead(); - - /** - * Sends a Block Event to the Client TileEntity, the byte Parameters are only for validation as Minecraft doesn't properly write Packet Data. - */ - public void sendBlockEvent(byte aID, byte aValue); - - /** - * @return the Time this TileEntity has been loaded. - */ - public long getTimer(); - - /** - * Sets the Light Level of this Block on a Scale of 0 - 15 - * It could be that it doesn't work. This is just for convenience. - */ - public void setLightValue(byte aLightValue); - - /** - * Function of the regular TileEntity - */ - public void writeToNBT(NBTTagCompound aNBT); - - /** - * Function of the regular TileEntity - */ - public void readFromNBT(NBTTagCompound aNBT); - - /** - * Function of the regular TileEntity - */ - public boolean isInvalidTileEntity(); - - /** - * Opens the GUI with this ID of this MetaTileEntity - */ - public boolean openGUI(EntityPlayer aPlayer, int aID); - - /** - * Opens the GUI with the ID = 0 of this TileEntity - */ - public boolean openGUI(EntityPlayer aPlayer); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IMachineBlockUpdateable.java b/src/main/java/gregtech/api/interfaces/tileentity/IMachineBlockUpdateable.java deleted file mode 100644 index bb34419357..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IMachineBlockUpdateable.java +++ /dev/null @@ -1,16 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -/** - * You are allowed to include this File in your Download, as i will not change it. - * Simple Interface for Machines, which need my Machine Blocks for MultiBlockStructures. - * <p/> - * Every Machine implementing this Interface will conduct Machine updates. - */ -public interface IMachineBlockUpdateable { - /** - * The Machine Update, which is called when the Machine needs an Update of its Parts. - * I suggest to wait 1-5 seconds before actually checking the Machine Parts. - * RP-Frames could for example cause Problems when you instacheck the Machine Parts. - */ - public void onMachineBlockUpdate(); -} diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java b/src/main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java deleted file mode 100644 index 00bb7b9a7d..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IMachineProgress.java +++ /dev/null @@ -1,69 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -/** - * For Machines which have Progress - */ -public interface IMachineProgress extends IHasWorldObjectAndCoords { - /** - * returns the Progress this Machine has made. Warning, this can also be negative! - */ - public int getProgress(); - - /** - * returns the Progress the Machine needs to complete its task. - */ - public int getMaxProgress(); - - /** - * increases the Progress of the Machine - */ - public boolean increaseProgress(int aProgressAmountInTicks); - - /** - * returns if the Machine currently does something. - */ - public boolean hasThingsToDo(); - - /** - * returns if the Machine just got enableWorking called after being disabled. - * Used for Translocators, which need to check if they need to transfer immediately. - */ - public boolean hasWorkJustBeenEnabled(); - - /** - * allows Machine to work - */ - public void enableWorking(); - - /** - * disallows Machine to work - */ - public void disableWorking(); - - /** - * if the Machine is allowed to Work - */ - public boolean isAllowedToWork(); - - /** - * used to control Machines via Redstone Signal Strength by special Covers - * In case of 0 the Machine is very likely doing nothing, or is just not being controlled at all. - */ - public byte getWorkDataValue(); - - /** - * used to control Machines via Redstone Signal Strength by special Covers - * only Values between 0 and 15! - */ - public void setWorkDataValue(byte aValue); - - /** - * gives you the Active Status of the Machine - */ - public boolean isActive(); - - /** - * sets the visible Active Status of the Machine - */ - public void setActive(boolean aActive); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IPipeRenderedTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/IPipeRenderedTileEntity.java deleted file mode 100644 index 6618e4b4fd..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IPipeRenderedTileEntity.java +++ /dev/null @@ -1,11 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -import gregtech.api.interfaces.ITexture; - -public interface IPipeRenderedTileEntity extends ICoverable, ITexturedTileEntity { - public float getThickNess(); - - public byte getConnections(); - - public ITexture[] getTextureUncovered(byte aSide); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneEmitter.java b/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneEmitter.java deleted file mode 100644 index 5be185b4a3..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneEmitter.java +++ /dev/null @@ -1,37 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -/** - * This File has just internal Information about the Redstone State of a TileEntity - */ -public interface IRedstoneEmitter extends IHasWorldObjectAndCoords { - /** - * gets the Redstone Level the TileEntity should emit to the given Output Side - */ - byte getOutputRedstoneSignal(byte aSide); - - /** - * sets the Redstone Level the TileEntity should emit to the given Output Side - * <p/> - * Do not use this if ICoverable is implemented. ICoverable has @getInternalOutputRedstoneSignal for Machine 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); - - /** - * gets the Redstone Level the TileEntity should emit to the given Output Side - */ - byte getStrongOutputRedstoneSignal(byte aSide); - - /** - * sets the Redstone Level the TileEntity should emit to the given Output Side - * <p/> - * Do not use this if ICoverable is implemented. ICoverable has @getInternalOutputRedstoneSignal for Machine 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); - - /** - * Gets the Output for the comparator on the given Side - */ - byte getComparatorValue(byte aSide); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneReceiver.java b/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneReceiver.java deleted file mode 100644 index f5b0f76bad..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneReceiver.java +++ /dev/null @@ -1,29 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -/** - * This File has just internal Information about the Redstone State of a TileEntity - */ -public interface IRedstoneReceiver extends IHasWorldObjectAndCoords { - /** - * gets the Redstone Level of the TileEntity to the given Input Side - * <p/> - * Do not use this if ICoverable is implemented. ICoverable has @getInternalInputRedstoneSignal for Machine internal Input Redstone - * This returns the true incoming Redstone Signal. Only Cover Behaviors should check it, not MetaTileEntities. - */ - public byte getInputRedstoneSignal(byte aSide); - - /** - * gets the strongest Redstone Level the TileEntity receives - */ - public byte getStrongestRedstone(); - - /** - * gets if the TileEntity receives Redstone - */ - public boolean getRedstone(); - - /** - * gets if the TileEntity receives Redstone at this Side - */ - public boolean getRedstone(byte aSide); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneTileEntity.java deleted file mode 100644 index f1cf01d291..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IRedstoneTileEntity.java +++ /dev/null @@ -1,17 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -/** - * This File has just internal Information about the Redstone State of a TileEntity - */ -public interface IRedstoneTileEntity extends IRedstoneEmitter, IRedstoneReceiver { - /** - * enables/disables Redstone Output in general. - */ - void setGenericRedstoneOutput(boolean aOnOff); - - /** - * Causes a general Block update. - * Sends nothing to Client, just causes a Block Update. - */ - public void issueBlockUpdate(); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/ITexturedTileEntity.java b/src/main/java/gregtech/api/interfaces/tileentity/ITexturedTileEntity.java deleted file mode 100644 index ea46c9cc11..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/ITexturedTileEntity.java +++ /dev/null @@ -1,10 +0,0 @@ -package gregtech.api.interfaces.tileentity; - -import gregtech.api.interfaces.ITexture; - -public interface ITexturedTileEntity { - /** - * @return the Textures rendered by the GT Rendering - */ - public ITexture[] getTexture(byte aSide); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/ITurnable.java b/src/main/java/gregtech/api/interfaces/tileentity/ITurnable.java deleted file mode 100644 index dca9c5ce0b..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/ITurnable.java +++ /dev/null @@ -1,33 +0,0 @@ -package gregtech.api.interfaces.tileentity; - - -/** - * Implemented by all my Machines. However without any security checks, if the Players are even allowed to rotate it. - */ -public interface ITurnable { - /** - * Get the block's facing. - * - * @return front Block facing - */ - byte getFrontFacing(); - - /** - * Set the block's facing - * - * @param facing facing to set the block to - */ - void setFrontFacing(byte aSide); - - /** - * Get the block's back facing. - * - * @return opposite Block facing - */ - byte getBackFacing(); - - /** - * Determine if the wrench can be used to set the block's facing. - */ - boolean isValidFacing(byte aSide); -}
\ No newline at end of file diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IUpgradableMachine.java b/src/main/java/gregtech/api/interfaces/tileentity/IUpgradableMachine.java deleted file mode 100644 index 0d027f6e30..0000000000 --- a/src/main/java/gregtech/api/interfaces/tileentity/IUpgradableMachine.java +++ /dev/null @@ -1,42 +0,0 @@ -package gregtech.api.interfaces.tileentity; - - -/** - * To access my Machines a bit easier - */ -public interface IUpgradableMachine extends IMachineProgress { - /** - * Accepts Upgrades. Some Machines have an Upgrade Limit. - */ - boolean isUpgradable(); - - /** - * Accepts Muffler Upgrades - */ - boolean isMufflerUpgradable(); - - /** - * Accepts Steam-Converter Upgrades - */ - boolean isSteamEngineUpgradable(); - - /** - * Adds Muffler Upgrade - */ - boolean addMufflerUpgrade(); - - /** - * Adds MJ-Converter Upgrade - */ - boolean addSteamEngineUpgrade(); - - /** - * Does this Machine have an Muffler - */ - boolean hasMufflerUpgrade(); - - /** - * Does this Machine have a Steam-Converter - */ - boolean hasSteamEngineUpgrade(); -} |