aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/BaseCustomPower_MTE.java552
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicLosslessGenerator.java610
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicMachine.java350
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicTank.java71
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_TieredMachineBlock.java47
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/MetaTileEntityCustomPower.java142
6 files changed, 1002 insertions, 770 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/BaseCustomPower_MTE.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/BaseCustomPower_MTE.java
index d600d0baca..b3d8b8aa8c 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/BaseCustomPower_MTE.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/BaseCustomPower_MTE.java
@@ -8,277 +8,283 @@ import net.minecraftforge.common.util.ForgeDirection;
public class BaseCustomPower_MTE extends BaseCustomTileEntity {
- public BaseCustomPower_MTE() {
- super();
- Logger.INFO("Created new BaseCustomPower_MTE");
- }
-
- public boolean doesExplode() {
- return false;
- }
-
- public long injectEnergyUnits(byte aSide, long aVoltage, long aAmperage) {
- if (mMetaTileEntity == null) {
- Logger.INFO("Bad Tile");
- }
- if (this.canAccessData() && this.mMetaTileEntity.isElectric() && this.inputEnergyFrom(aSide) && aAmperage > 0L
- && aVoltage > 0L && this.getStoredEU() < this.getEUCapacity()
- && this.mMetaTileEntity.maxAmperesIn() >= this.getInputAmperage()) {
- Logger.INFO("Injecting Energy Units");
- return super.injectEnergyUnits(aSide, aVoltage, aAmperage);
- } else {
- Logger.INFO("canAccessData(): "+canAccessData());
- Logger.INFO("isElectric(): "+this.mMetaTileEntity.isElectric());
- Logger.INFO("InputEnergyFromSide("+aSide+"): "+this.inputEnergyFrom(aSide));
- Logger.INFO("aAmperage: "+aAmperage);
- Logger.INFO("aVoltage: "+aVoltage);
- Logger.INFO("this.getStoredEU() < this.getEUCapacity(): "+(this.getStoredEU() < this.getEUCapacity()));
- Logger.INFO("this.mMetaTileEntity.maxAmperesIn() >= this.mAcceptedAmperes: "+(this.mMetaTileEntity.maxAmperesIn() >= this.getInputAmperage()));
- Logger.INFO("this.mMetaTileEntity.maxAmperesIn(): "+(this.mMetaTileEntity.maxAmperesIn()));
- Logger.INFO("this.mAcceptedAmperes: "+(this.getInputAmperage()));
- return 0L;
- }
- }
-
- public boolean drainEnergyUnits(byte aSide, long aVoltage, long aAmperage) {
- Logger.INFO("Draining Energy Units 4");
- if (this.canAccessData() && this.mMetaTileEntity.isElectric() && this.outputsEnergyTo(aSide)
- && this.getStoredEU() - aVoltage * aAmperage >= this.mMetaTileEntity.getMinimumStoredEU()) {
- if (this.decreaseStoredEU(aVoltage * aAmperage, false)) {
- this.mAverageEUOutput[this.mAverageEUOutputIndex] = (int) ((long) this.mAverageEUOutput[this.mAverageEUOutputIndex]
- + aVoltage * aAmperage);
- return true;
- } else {
- return false;
- }
- } else {
- return false;
- }
- }
-
- @Override
- public boolean decreaseStoredEnergyUnits(long aEnergy, boolean aIgnoreTooLessEnergy) {
- Logger.INFO("Draining Energy Units 3");
- // TODO Auto-generated method stub
- return super.decreaseStoredEnergyUnits(aEnergy, aIgnoreTooLessEnergy);
- }
-
- @Override
- public boolean increaseStoredEnergyUnits(long aEnergy, boolean aIgnoreTooMuchEnergy) {
- // TODO Auto-generated method stub
- return super.increaseStoredEnergyUnits(aEnergy, aIgnoreTooMuchEnergy);
- }
-
- @Override
- public boolean inputEnergyFrom(byte aSide) {
- // TODO Auto-generated method stub
- return super.inputEnergyFrom(aSide);
- }
-
- @Override
- public boolean outputsEnergyTo(byte aSide) {
- Logger.INFO("Draining Energy Units 2");
- // TODO Auto-generated method stub
- return super.outputsEnergyTo(aSide);
- }
-
- @Override
- public long getOutputAmperage() {
- // TODO Auto-generated method stub
- return super.getOutputAmperage();
- }
-
- @Override
- public long getOutputVoltage() {
- // TODO Auto-generated method stub
- return super.getOutputVoltage();
- }
-
- @Override
- public long getInputAmperage() {
- // TODO Auto-generated method stub
- return super.getInputAmperage();
- }
-
- @Override
- public long getInputVoltage() {
- // TODO Auto-generated method stub
- return super.getInputVoltage();
- }
-
- @Override
- public long getUniversalEnergyStored() {
- // TODO Auto-generated method stub
- return super.getUniversalEnergyStored();
- }
-
- @Override
- public long getUniversalEnergyCapacity() {
- // TODO Auto-generated method stub
- return super.getUniversalEnergyCapacity();
- }
-
- @Override
- public long getStoredEU() {
- // TODO Auto-generated method stub
- return super.getStoredEU();
- }
-
- @Override
- public long getEUCapacity() {
- // TODO Auto-generated method stub
- return super.getEUCapacity();
- }
-
- @Override
- public boolean setStoredEU(long aEnergy) {
- // TODO Auto-generated method stub
- return super.setStoredEU(aEnergy);
- }
-
- @Override
- public boolean decreaseStoredEU(long aEnergy, boolean aIgnoreTooLessEnergy) {
- Logger.INFO("Draining Energy Units 1");
- // TODO Auto-generated method stub
- return super.decreaseStoredEU(aEnergy, aIgnoreTooLessEnergy);
- }
-
- @Override
- public boolean decreaseStoredSteam(long aEnergy, boolean aIgnoreTooLessEnergy) {
- // TODO Auto-generated method stub
- return super.decreaseStoredSteam(aEnergy, aIgnoreTooLessEnergy);
- }
-
- @Override
- public void doEnergyExplosion() {
- // TODO Auto-generated method stub
- super.doEnergyExplosion();
- }
-
- @Override
- public void doExplosion(long aAmount) {
- // TODO Auto-generated method stub
- super.doExplosion(aAmount);
- }
-
- @Override
- public byte getLightValue() {
- // TODO Auto-generated method stub
- return super.getLightValue();
- }
-
- @Override
- public long getAverageElectricInput() {
- // TODO Auto-generated method stub
- return super.getAverageElectricInput();
- }
-
- @Override
- public long getAverageElectricOutput() {
- // TODO Auto-generated method stub
- return super.getAverageElectricOutput();
- }
-
- @Override
- public double getOutputEnergyUnitsPerTick() {
- // TODO Auto-generated method stub
- return super.getOutputEnergyUnitsPerTick();
- }
-
- @Override
- public double demandedEnergyUnits() {
- // TODO Auto-generated method stub
- return super.demandedEnergyUnits();
- }
-
- @Override
- public double injectEnergyUnits(ForgeDirection aDirection, double aAmount) {
- // TODO Auto-generated method stub
- return super.injectEnergyUnits(aDirection, aAmount);
- }
-
- @Override
- public boolean acceptsEnergyFrom(TileEntity aEmitter, ForgeDirection aDirection) {
- // TODO Auto-generated method stub
- return super.acceptsEnergyFrom(aEmitter, aDirection);
- }
-
- @Override
- public boolean emitsEnergyTo(TileEntity aReceiver, ForgeDirection aDirection) {
- // TODO Auto-generated method stub
- return super.emitsEnergyTo(aReceiver, aDirection);
- }
-
- @Override
- public double getOfferedEnergy() {
- // TODO Auto-generated method stub
- return super.getOfferedEnergy();
- }
-
- @Override
- public void drawEnergy(double amount) {
- // TODO Auto-generated method stub
- super.drawEnergy(amount);
- }
-
- @Override
- public int injectEnergy(ForgeDirection aForgeDirection, int aAmount) {
- // TODO Auto-generated method stub
- return super.injectEnergy(aForgeDirection, aAmount);
- }
-
- @Override
- public int addEnergy(int aEnergy) {
- // TODO Auto-generated method stub
- return super.addEnergy(aEnergy);
- }
-
- @Override
- public boolean isAddedToEnergyNet() {
- // TODO Auto-generated method stub
- return super.isAddedToEnergyNet();
- }
-
- @Override
- public int demandsEnergy() {
- // TODO Auto-generated method stub
- return super.demandsEnergy();
- }
-
- @Override
- public int getMaxSafeInput() {
- // TODO Auto-generated method stub
- return super.getMaxSafeInput();
- }
-
- @Override
- public int getMaxEnergyOutput() {
- // TODO Auto-generated method stub
- return super.getMaxEnergyOutput();
- }
-
- @Override
- public int injectEnergy(Direction aDirection, int aAmount) {
- // TODO Auto-generated method stub
- return super.injectEnergy(aDirection, aAmount);
- }
-
- @Override
- public boolean acceptsEnergyFrom(TileEntity aReceiver, Direction aDirection) {
- // TODO Auto-generated method stub
- return super.acceptsEnergyFrom(aReceiver, aDirection);
- }
-
- @Override
- public boolean emitsEnergyTo(TileEntity aReceiver, Direction aDirection) {
- // TODO Auto-generated method stub
- return super.emitsEnergyTo(aReceiver, aDirection);
- }
-
- @Override
- public boolean isUniversalEnergyStored(long aEnergyAmount) {
- // TODO Auto-generated method stub
- return super.isUniversalEnergyStored(aEnergyAmount);
- }
-
+ public BaseCustomPower_MTE() {
+ super();
+ Logger.INFO("Created new BaseCustomPower_MTE");
+ }
+
+ public boolean doesExplode() {
+ return false;
+ }
+
+ public long injectEnergyUnits(byte aSide, long aVoltage, long aAmperage) {
+ if (mMetaTileEntity == null) {
+ Logger.INFO("Bad Tile");
+ }
+ if (this.canAccessData()
+ && this.mMetaTileEntity.isElectric()
+ && this.inputEnergyFrom(aSide)
+ && aAmperage > 0L
+ && aVoltage > 0L
+ && this.getStoredEU() < this.getEUCapacity()
+ && this.mMetaTileEntity.maxAmperesIn() >= this.getInputAmperage()) {
+ Logger.INFO("Injecting Energy Units");
+ return super.injectEnergyUnits(aSide, aVoltage, aAmperage);
+ } else {
+ Logger.INFO("canAccessData(): " + canAccessData());
+ Logger.INFO("isElectric(): " + this.mMetaTileEntity.isElectric());
+ Logger.INFO("InputEnergyFromSide(" + aSide + "): " + this.inputEnergyFrom(aSide));
+ Logger.INFO("aAmperage: " + aAmperage);
+ Logger.INFO("aVoltage: " + aVoltage);
+ Logger.INFO("this.getStoredEU() < this.getEUCapacity(): " + (this.getStoredEU() < this.getEUCapacity()));
+ Logger.INFO("this.mMetaTileEntity.maxAmperesIn() >= this.mAcceptedAmperes: "
+ + (this.mMetaTileEntity.maxAmperesIn() >= this.getInputAmperage()));
+ Logger.INFO("this.mMetaTileEntity.maxAmperesIn(): " + (this.mMetaTileEntity.maxAmperesIn()));
+ Logger.INFO("this.mAcceptedAmperes: " + (this.getInputAmperage()));
+ return 0L;
+ }
+ }
+
+ public boolean drainEnergyUnits(byte aSide, long aVoltage, long aAmperage) {
+ Logger.INFO("Draining Energy Units 4");
+ if (this.canAccessData()
+ && this.mMetaTileEntity.isElectric()
+ && this.outputsEnergyTo(aSide)
+ && this.getStoredEU() - aVoltage * aAmperage >= this.mMetaTileEntity.getMinimumStoredEU()) {
+ if (this.decreaseStoredEU(aVoltage * aAmperage, false)) {
+ this.mAverageEUOutput[this.mAverageEUOutputIndex] =
+ (int) ((long) this.mAverageEUOutput[this.mAverageEUOutputIndex] + aVoltage * aAmperage);
+ return true;
+ } else {
+ return false;
+ }
+ } else {
+ return false;
+ }
+ }
+
+ @Override
+ public boolean decreaseStoredEnergyUnits(long aEnergy, boolean aIgnoreTooLessEnergy) {
+ Logger.INFO("Draining Energy Units 3");
+ // TODO Auto-generated method stub
+ return super.decreaseStoredEnergyUnits(aEnergy, aIgnoreTooLessEnergy);
+ }
+
+ @Override
+ public boolean increaseStoredEnergyUnits(long aEnergy, boolean aIgnoreTooMuchEnergy) {
+ // TODO Auto-generated method stub
+ return super.increaseStoredEnergyUnits(aEnergy, aIgnoreTooMuchEnergy);
+ }
+
+ @Override
+ public boolean inputEnergyFrom(byte aSide) {
+ // TODO Auto-generated method stub
+ return super.inputEnergyFrom(aSide);
+ }
+
+ @Override
+ public boolean outputsEnergyTo(byte aSide) {
+ Logger.INFO("Draining Energy Units 2");
+ // TODO Auto-generated method stub
+ return super.outputsEnergyTo(aSide);
+ }
+
+ @Override
+ public long getOutputAmperage() {
+ // TODO Auto-generated method stub
+ return super.getOutputAmperage();
+ }
+
+ @Override
+ public long getOutputVoltage() {
+ // TODO Auto-generated method stub
+ return super.getOutputVoltage();
+ }
+
+ @Override
+ public long getInputAmperage() {
+ // TODO Auto-generated method stub
+ return super.getInputAmperage();
+ }
+
+ @Override
+ public long getInputVoltage() {
+ // TODO Auto-generated method stub
+ return super.getInputVoltage();
+ }
+
+ @Override
+ public long getUniversalEnergyStored() {
+ // TODO Auto-generated method stub
+ return super.getUniversalEnergyStored();
+ }
+
+ @Override
+ public long getUniversalEnergyCapacity() {
+ // TODO Auto-generated method stub
+ return super.getUniversalEnergyCapacity();
+ }
+
+ @Override
+ public long getStoredEU() {
+ // TODO Auto-generated method stub
+ return super.getStoredEU();
+ }
+
+ @Override
+ public long getEUCapacity() {
+ // TODO Auto-generated method stub
+ return super.getEUCapacity();
+ }
+
+ @Override
+ public boolean setStoredEU(long aEnergy) {
+ // TODO Auto-generated method stub
+ return super.setStoredEU(aEnergy);
+ }
+
+ @Override
+ public boolean decreaseStoredEU(long aEnergy, boolean aIgnoreTooLessEnergy) {
+ Logger.INFO("Draining Energy Units 1");
+ // TODO Auto-generated method stub
+ return super.decreaseStoredEU(aEnergy, aIgnoreTooLessEnergy);
+ }
+
+ @Override
+ public boolean decreaseStoredSteam(long aEnergy, boolean aIgnoreTooLessEnergy) {
+ // TODO Auto-generated method stub
+ return super.decreaseStoredSteam(aEnergy, aIgnoreTooLessEnergy);
+ }
+
+ @Override
+ public void doEnergyExplosion() {
+ // TODO Auto-generated method stub
+ super.doEnergyExplosion();
+ }
+
+ @Override
+ public void doExplosion(long aAmount) {
+ // TODO Auto-generated method stub
+ super.doExplosion(aAmount);
+ }
+
+ @Override
+ public byte getLightValue() {
+ // TODO Auto-generated method stub
+ return super.getLightValue();
+ }
+
+ @Override
+ public long getAverageElectricInput() {
+ // TODO Auto-generated method stub
+ return super.getAverageElectricInput();
+ }
+
+ @Override
+ public long getAverageElectricOutput() {
+ // TODO Auto-generated method stub
+ return super.getAverageElectricOutput();
+ }
+
+ @Override
+ public double getOutputEnergyUnitsPerTick() {
+ // TODO Auto-generated method stub
+ return super.getOutputEnergyUnitsPerTick();
+ }
+
+ @Override
+ public double demandedEnergyUnits() {
+ // TODO Auto-generated method stub
+ return super.demandedEnergyUnits();
+ }
+
+ @Override
+ public double injectEnergyUnits(ForgeDirection aDirection, double aAmount) {
+ // TODO Auto-generated method stub
+ return super.injectEnergyUnits(aDirection, aAmount);
+ }
+
+ @Override
+ public boolean acceptsEnergyFrom(TileEntity aEmitter, ForgeDirection aDirection) {
+ // TODO Auto-generated method stub
+ return super.acceptsEnergyFrom(aEmitter, aDirection);
+ }
+
+ @Override
+ public boolean emitsEnergyTo(TileEntity aReceiver, ForgeDirection aDirection) {
+ // TODO Auto-generated method stub
+ return super.emitsEnergyTo(aReceiver, aDirection);
+ }
+
+ @Override
+ public double getOfferedEnergy() {
+ // TODO Auto-generated method stub
+ return super.getOfferedEnergy();
+ }
+
+ @Override
+ public void drawEnergy(double amount) {
+ // TODO Auto-generated method stub
+ super.drawEnergy(amount);
+ }
+
+ @Override
+ public int injectEnergy(ForgeDirection aForgeDirection, int aAmount) {
+ // TODO Auto-generated method stub
+ return super.injectEnergy(aForgeDirection, aAmount);
+ }
+
+ @Override
+ public int addEnergy(int aEnergy) {
+ // TODO Auto-generated method stub
+ return super.addEnergy(aEnergy);
+ }
+
+ @Override
+ public boolean isAddedToEnergyNet() {
+ // TODO Auto-generated method stub
+ return super.isAddedToEnergyNet();
+ }
+
+ @Override
+ public int demandsEnergy() {
+ // TODO Auto-generated method stub
+ return super.demandsEnergy();
+ }
+
+ @Override
+ public int getMaxSafeInput() {
+ // TODO Auto-generated method stub
+ return super.getMaxSafeInput();
+ }
+
+ @Override
+ public int getMaxEnergyOutput() {
+ // TODO Auto-generated method stub
+ return super.getMaxEnergyOutput();
+ }
+
+ @Override
+ public int injectEnergy(Direction aDirection, int aAmount) {
+ // TODO Auto-generated method stub
+ return super.injectEnergy(aDirection, aAmount);
+ }
+
+ @Override
+ public boolean acceptsEnergyFrom(TileEntity aReceiver, Direction aDirection) {
+ // TODO Auto-generated method stub
+ return super.acceptsEnergyFrom(aReceiver, aDirection);
+ }
+
+ @Override
+ public boolean emitsEnergyTo(TileEntity aReceiver, Direction aDirection) {
+ // TODO Auto-generated method stub
+ return super.emitsEnergyTo(aReceiver, aDirection);
+ }
+
+ @Override
+ public boolean isUniversalEnergyStored(long aEnergyAmount) {
+ // TODO Auto-generated method stub
+ return super.isUniversalEnergyStored(aEnergyAmount);
+ }
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicLosslessGenerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicLosslessGenerator.java
index e1b329c07f..332d911ac4 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicLosslessGenerator.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/custom/power/GTPP_MTE_BasicLosslessGenerator.java
@@ -5,10 +5,10 @@ import gregtech.api.enums.Textures.BlockIcons;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import java.util.Collection;
import java.util.Iterator;
import net.minecraft.entity.player.EntityPlayer;
@@ -17,297 +17,317 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
public abstract class GTPP_MTE_BasicLosslessGenerator extends GTPP_MTE_BasicTank {
- public GTPP_MTE_BasicLosslessGenerator(int aID, String aName, String aNameRegional, int aTier, String aDescription,
- ITexture... aTextures) {
- super(aID, aName, aNameRegional, aTier, 3, aDescription, aTextures);
- }
-
- public GTPP_MTE_BasicLosslessGenerator(int aID, String aName, String aNameRegional, int aTier,
- String[] aDescription, ITexture... aTextures) {
- super(aID, aName, aNameRegional, aTier, 3, aDescription, aTextures);
- }
-
- public GTPP_MTE_BasicLosslessGenerator(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
- super(aName, aTier, 3, aDescription, aTextures);
- }
-
- public GTPP_MTE_BasicLosslessGenerator(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
- super(aName, aTier, 3, aDescription, aTextures);
- }
-
- public ITexture[][][] getTextureSet(ITexture[] aTextures) {
- ITexture[][][] rTextures = new ITexture[10][17][];
-
- for (byte i = -1; i < 16; ++i) {
- rTextures[0][i + 1] = this.getFront(i);
- rTextures[1][i + 1] = this.getBack(i);
- rTextures[2][i + 1] = this.getBottom(i);
- rTextures[3][i + 1] = this.getTop(i);
- rTextures[4][i + 1] = this.getSides(i);
- rTextures[5][i + 1] = this.getFrontActive(i);
- rTextures[6][i + 1] = this.getBackActive(i);
- rTextures[7][i + 1] = this.getBottomActive(i);
- rTextures[8][i + 1] = this.getTopActive(i);
- rTextures[9][i + 1] = this.getSidesActive(i);
- }
-
- return rTextures;
- }
-
- public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex,
- boolean aActive, boolean aRedstone) {
- return this.mTextures[(aActive ? 5 : 0) + (aSide == aFacing
- ? 0
- : (aSide == GT_Utility.getOppositeSide(aFacing)
- ? 1
- : (aSide == 0 ? 2 : (aSide == 1 ? 3 : 4))))][aColorIndex + 1];
- }
-
- public String[] getDescription() {
- String[] desc = new String[this.mDescriptionArray.length + 1];
- System.arraycopy(this.mDescriptionArray, 0, desc, 0, this.mDescriptionArray.length);
- desc[this.mDescriptionArray.length] = "Fuel Efficiency: " + this.getEfficiency() + "%";
- return desc;
- }
-
- public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
- Logger.WARNING("Right Clicked");
- if (aBaseMetaTileEntity.isClientSide()) {
- return true;
- } else {
- aBaseMetaTileEntity.openGUI(aPlayer);
- return true;
- }
- }
-
- public ITexture[] getFront(byte aColor) {
- return new ITexture[]{BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1]};
- }
-
- public ITexture[] getBack(byte aColor) {
- return new ITexture[]{BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1]};
- }
-
- public ITexture[] getBottom(byte aColor) {
- return new ITexture[]{BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1]};
- }
-
- public ITexture[] getTop(byte aColor) {
- return new ITexture[]{BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1]};
- }
-
- public ITexture[] getSides(byte aColor) {
- return new ITexture[]{BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1]};
- }
-
- public ITexture[] getFrontActive(byte aColor) {
- return this.getFront(aColor);
- }
-
- public ITexture[] getBackActive(byte aColor) {
- return this.getBack(aColor);
- }
-
- public ITexture[] getBottomActive(byte aColor) {
- return this.getBottom(aColor);
- }
-
- public ITexture[] getTopActive(byte aColor) {
- return this.getTop(aColor);
- }
-
- public ITexture[] getSidesActive(byte aColor) {
- return this.getSides(aColor);
- }
-
- public boolean isFacingValid(byte aSide) {
- return aSide > 1;
- }
-
- public boolean isSimpleMachine() {
- return false;
- }
-
- public boolean isValidSlot(int aIndex) {
- return aIndex < 2;
- }
-
- public boolean isEnetOutput() {
- return true;
- }
-
- public boolean isOutputFacing(byte aSide) {
- return true;
- }
-
- public boolean isAccessAllowed(EntityPlayer aPlayer) {
- return true;
- }
-
- public long maxEUOutput() {
- return this.getBaseMetaTileEntity().isAllowedToWork() ? GT_Values.V[this.mTier] : 0L;
- }
-
- public long maxEUStore() {
- return Math.max(this.getEUVar(), GT_Values.V[this.mTier] * 40L + this.getMinimumStoredEU());
- }
-
- public boolean doesFillContainers() {
- return this.getBaseMetaTileEntity().isAllowedToWork();
- }
-
- public boolean doesEmptyContainers() {
- return this.getBaseMetaTileEntity().isAllowedToWork();
- }
-
- public boolean canTankBeFilled() {
- return this.getBaseMetaTileEntity().isAllowedToWork();
- }
-
- public boolean canTankBeEmptied() {
- return this.getBaseMetaTileEntity().isAllowedToWork();
- }
-
- public boolean displaysItemStack() {
- return true;
- }
-
- public boolean displaysStackSize() {
- return false;
- }
-
- public boolean isFluidInputAllowed(FluidStack aFluid) {
- int aVal = this.getFuelValue(aFluid);
- Logger.WARNING("Fuel Value: "+aVal);
- return aVal > 0;
- }
-
- public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
- if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isAllowedToWork() && aTick % 10L == 0L) {
- int tFuelValue;
- if (this.mFluid == null) {
- if (aBaseMetaTileEntity.getUniversalEnergyStored() < this.maxEUOutput() + this.getMinimumStoredEU()) {
- this.mInventory[this.getStackDisplaySlot()] = null;
- } else {
- if (this.mInventory[this.getStackDisplaySlot()] == null) {
- this.mInventory[this.getStackDisplaySlot()] = new ItemStack(Blocks.fire, 1);
- }
-
- this.mInventory[this.getStackDisplaySlot()].setStackDisplayName("Generating: "
- + (aBaseMetaTileEntity.getUniversalEnergyStored() - this.getMinimumStoredEU()) + " EU");
- }
- } else {
- tFuelValue = this.getFuelValue(this.mFluid);
- int tConsumed = this.consumedFluidPerOperation(this.mFluid);
- if (tFuelValue > 0 && tConsumed > 0 && this.mFluid.amount > tConsumed) {
- long tFluidAmountToUse = Math.min((long) (this.mFluid.amount / tConsumed),
- (this.maxEUStore() - aBaseMetaTileEntity.getUniversalEnergyStored()) / (long) tFuelValue);
- if (tFluidAmountToUse > 0L && aBaseMetaTileEntity
- .increaseStoredEnergyUnits(tFluidAmountToUse * (long) tFuelValue, true)) {
- PollutionUtils.addPollution(this.getBaseMetaTileEntity(), 10 * this.getPollution());
- this.mFluid.amount = (int) ((long) this.mFluid.amount - tFluidAmountToUse * (long) tConsumed);
- }
- }
- }
-
- if (this.mInventory[this.getInputSlot()] != null
- && aBaseMetaTileEntity.getUniversalEnergyStored() < this.maxEUOutput() * 20L
- + this.getMinimumStoredEU()
- && GT_Utility.getFluidForFilledItem(this.mInventory[this.getInputSlot()], true) == null) {
- tFuelValue = this.getFuelValue(this.mInventory[this.getInputSlot()]);
- if (tFuelValue > 0) {
- ItemStack tEmptyContainer = this.getEmptyContainer(this.mInventory[this.getInputSlot()]);
- if (aBaseMetaTileEntity.addStackToSlot(this.getOutputSlot(), tEmptyContainer)) {
- aBaseMetaTileEntity.increaseStoredEnergyUnits((long) tFuelValue, true);
- aBaseMetaTileEntity.decrStackSize(this.getInputSlot(), 1);
- PollutionUtils.addPollution(this.getBaseMetaTileEntity(), 10 * this.getPollution());
- }
- }
- }
- }
-
- if (aBaseMetaTileEntity.isServerSide()) {
- Logger.WARNING("Ticking Servside");
- aBaseMetaTileEntity.setActive(aBaseMetaTileEntity.isAllowedToWork() && aBaseMetaTileEntity
- .getUniversalEnergyStored() >= this.maxEUOutput() + this.getMinimumStoredEU());
- }
-
- }
-
- public abstract int getPollution();
-
- public abstract GT_Recipe_Map getRecipes();
-
- public abstract int getEfficiency();
-
- public int consumedFluidPerOperation(FluidStack aLiquid) {
- return 1;
- }
-
- public int getFuelValue(FluidStack aLiquid) {
- if (aLiquid != null && this.getRecipes() != null) {
- Collection<GT_Recipe> tRecipeList = this.getRecipes().mRecipeList;
- if (tRecipeList != null) {
- Logger.WARNING("Fuels: "+tRecipeList.size());
- Iterator<GT_Recipe> var4 = tRecipeList.iterator();
-
- while (var4.hasNext()) {
- GT_Recipe tFuel = (GT_Recipe) var4.next();
- FluidStack tLiquid;
- if ((tLiquid = GT_Utility.getFluidForFilledItem(tFuel.getRepresentativeInput(0), true)) != null
- && aLiquid.isFluidEqual(tLiquid)) {
- Logger.WARNING("Fuel Ok");
- return (int) ((long) tFuel.mSpecialValue * (long) this.getEfficiency()
- * (long) this.consumedFluidPerOperation(tLiquid) / 100L);
- }
- if ((tLiquid = tFuel.getRepresentativeFluidInput(0)) != null
- && aLiquid.isFluidEqual(tLiquid)) {
- Logger.WARNING("Fuel Ok");
- return (int) ((long) tFuel.mSpecialValue * (long) this.getEfficiency()
- * (long) this.consumedFluidPerOperation(tLiquid) / 100L);
- }
- }
- }
-
- return 0;
- } else {
- return 0;
- }
- }
-
- public int getFuelValue(ItemStack aStack) {
- if (!GT_Utility.isStackInvalid(aStack) && this.getRecipes() != null) {
- Logger.WARNING("Fuel Item OK");
- GT_Recipe tFuel = this.getRecipes().findRecipe(this.getBaseMetaTileEntity(), false, Long.MAX_VALUE,
- (FluidStack[]) null, new ItemStack[]{aStack});
- return tFuel != null ? (int) ((long) tFuel.mSpecialValue * 1000L * (long) this.getEfficiency() / 100L) : 0;
- } else {
- return 0;
- }
- }
-
- public ItemStack getEmptyContainer(ItemStack aStack) {
- if (!GT_Utility.isStackInvalid(aStack) && this.getRecipes() != null) {
- GT_Recipe tFuel = this.getRecipes().findRecipe(this.getBaseMetaTileEntity(), false, Long.MAX_VALUE,
- (FluidStack[]) null, new ItemStack[]{aStack});
- return tFuel != null
- ? GT_Utility.copy(new Object[]{tFuel.getOutput(0)})
- : GT_Utility.getContainerItem(aStack, true);
- } else {
- return null;
- }
- }
-
- public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
- return super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack) && (this.getFuelValue(aStack) > 0
- || this.getFuelValue(GT_Utility.getFluidForFilledItem(aStack, true)) > 0);
- }
-
- public int getCapacity() {
- return 16000;
- }
-
- public int getTankPressure() {
- return -100;
- }
-} \ No newline at end of file
+ public GTPP_MTE_BasicLosslessGenerator(
+ int aID, String aName, String aNameRegional, int aTier, String aDescription, ITexture... aTextures) {
+ super(aID, aName, aNameRegional, aTier, 3, aDescription, aTextures);
+ }
+
+ public GTPP_MTE_BasicLosslessGenerator(
+ int aID, String aName, String aNameRegional, int aTier, String[] aDescription, ITexture... aTextures) {
+ super(aID, aName, aNameRegional, aTier, 3, aDescription, aTextures);
+ }
+
+ public GTPP_MTE_BasicLosslessGenerator(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier, 3, aDescription, aTextures);
+ }
+
+ public GTPP_MTE_BasicLosslessGenerator(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier, 3, aDescription, aTextures);
+ }
+
+ public ITexture[][][] getTextureSet(ITexture[] aTextures) {
+ ITexture[][][] rTextures = new ITexture[10][17][];
+
+ for (byte i = -1; i < 16; ++i) {
+ rTextures[0][i + 1] = this.getFront(i);
+ rTextures[1][i + 1] = this.getBack(i);
+ rTextures[2][i + 1] = this.getBottom(i);
+ rTextures[3][i + 1] = this.getTop(i);
+ rTextures[4][i + 1] = this.getSides(i);
+ rTextures[5][i + 1] = this.getFrontActive(i);
+ rTextures[6][i + 1] = this.getBackActive(i);
+ rTextures[7][i + 1] = this.getBottomActive(i);
+ rTextures[8][i + 1] = this.getTopActive(i);
+ rTextures[9][i + 1] = this.getSidesActive(i);
+ }
+
+ return rTextures;
+ }
+
+ public ITexture[] getTexture(
+ IGregTechTileEntity aBaseMetaTileEntity,
+ byte aSide,
+ byte aFacing,
+ byte aColorIndex,
+ boolean aActive,
+ boolean aRedstone) {
+ return this.mTextures[
+ (aActive ? 5 : 0)
+ + (aSide == aFacing
+ ? 0
+ : (aSide == GT_Utility.getOppositeSide(aFacing)
+ ? 1
+ : (aSide == 0 ? 2 : (aSide == 1 ? 3 : 4))))][
+ aColorIndex + 1];
+ }
+
+ public String[] getDescription() {
+ String[] desc = new String[this.mDescriptionArray.length + 1];
+ System.arraycopy(this.mDescriptionArray, 0, desc, 0, this.mDescriptionArray.length);
+ desc[this.mDescriptionArray.length] = "Fuel Efficiency: " + this.getEfficiency() + "%";
+ return desc;
+ }
+
+ public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
+ Logger.WARNING("Right Clicked");
+ if (aBaseMetaTileEntity.isClientSide()) {
+ return true;
+ } else {
+ aBaseMetaTileEntity.openGUI(aPlayer);
+ return true;
+ }
+ }
+
+ public ITexture[] getFront(byte aColor) {
+ return new ITexture[] {BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1]};
+ }
+
+ public ITexture[] getBack(byte aColor) {
+ return new ITexture[] {BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1]};
+ }
+
+ public ITexture[] getBottom(byte aColor) {
+ return new ITexture[] {BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1]};
+ }
+
+ public ITexture[] getTop(byte aColor) {
+ return new ITexture[] {BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1]};
+ }
+
+ public ITexture[] getSides(byte aColor) {
+ return new ITexture[] {BlockIcons.MACHINE_CASINGS[this.mTier][aColor + 1]};
+ }
+
+ public ITexture[] getFrontActive(byte aColor) {
+ return this.getFront(aColor);
+ }
+
+ public ITexture[] getBackActive(byte aColor) {
+ return this.getBack(aColor);
+ }
+
+ public ITexture[] getBottomActive(byte aColor) {
+ return this.getBottom(aColor);
+ }
+
+ public ITexture[] getTopActive(byte aColor) {
+ return this.getTop(aColor);
+ }
+
+ public ITexture[] getSidesActive(byte aColor) {
+ return this.getSides(aColor);
+ }
+
+ public boolean isFacingValid(byte aSide) {
+ return aSide > 1;
+ }
+
+ public boolean isSimpleMachine() {
+ return false;