aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java386
1 files changed, 11 insertions, 375 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java
index 214fcc6a3f..939cac2779 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/BaseCustomTileEntity.java
@@ -8,33 +8,22 @@ import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.metatileentity.BaseMetaTileEntity;
import gregtech.api.util.GT_Log;
-import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Utility;
import gregtech.common.GT_Pollution;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
import ic2.api.Direction;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.util.ForgeDirection;
public class BaseCustomTileEntity extends BaseMetaTileEntity {
-
- protected boolean mHasEnoughEnergy;
-
- protected short mID;
- protected long oOutput;
-
- protected long mAcceptedAmperes;
- protected NBTTagCompound mRecipeStuff;
-
-
-
- protected boolean[] mActiveEUInputs;
- protected boolean[] mActiveEUOutputs;
+
+ protected NBTTagCompound mRecipeStuff2;
public BaseCustomTileEntity() {
super();
+ Logger.INFO("Created new BaseCustomTileEntity");
}
public void writeToNBT(NBTTagCompound aNBT) {
@@ -47,184 +36,20 @@ public class BaseCustomTileEntity extends BaseMetaTileEntity {
}
try {
- aNBT.setInteger("nbtVersion", GT_Mod.TOTAL_VERSION);
+ if (!aNBT.hasKey("ModVersion"))
+ aNBT.setString("ModVersion", CORE.VERSION);
} catch (Throwable arg6) {
GT_Log.err.println(
"Encountered CRITICAL ERROR while saving MetaTileEntity, the Chunk whould\'ve been corrupted by now, but I prevented that. Please report immidietly to GregTech Intergalactical!!!");
arg6.printStackTrace(GT_Log.err);
}
-
- }
-
- public void readFromNBT(NBTTagCompound aNBT) {
- super.readFromNBT(aNBT);
- this.setInitialValuesAsNBT(aNBT, (short) 0);
- }
-
- public void updateStatus() {
- }
-
- public void chargeItem(ItemStack aStack) {
- this.decreaseStoredEU(
- (long) GT_ModHandler.chargeElectricItem(aStack, (int) Math.min(2147483647L, this.getStoredEU()),
- (int) Math.min(2147483647L, this.mMetaTileEntity.getOutputTier()), false, false),
- true);
- }
-
- public void dischargeItem(ItemStack aStack) {
- this.increaseStoredEnergyUnits((long) GT_ModHandler.dischargeElectricItem(aStack,
- (int) Math.min(2147483647L, this.getEUCapacity() - this.getStoredEU()),
- (int) Math.min(2147483647L, this.mMetaTileEntity.getInputTier()), false, false, false), true);
- }
-
- public boolean decreaseStoredEnergyUnits(long aEnergy, boolean aIgnoreTooLessEnergy) {
- return !this.canAccessData() ? false
- : (this.mHasEnoughEnergy = this.decreaseStoredEU(aEnergy, aIgnoreTooLessEnergy)
- || this.decreaseStoredSteam(aEnergy, false)
- || aIgnoreTooLessEnergy && this.decreaseStoredSteam(aEnergy, true));
- }
-
- public boolean increaseStoredEnergyUnits(long aEnergy, boolean aIgnoreTooMuchEnergy) {
- if (!this.canAccessData()) {
- return false;
- } else if (this.getStoredEU() >= this.getEUCapacity() && !aIgnoreTooMuchEnergy) {
- return false;
- } else {
- this.setStoredEU(this.mMetaTileEntity.getEUVar() + aEnergy);
- return true;
- }
- }
-
- public boolean inputEnergyFrom(byte aSide) {
- return aSide == 6 ? true
- : (!this.isServerSide() ? this.isEnergyInputSide(aSide)
- : aSide >= 0 && aSide < 6 && this.mActiveEUInputs[aSide] && !this.mReleaseEnergy);
- }
-
- public boolean outputsEnergyTo(byte aSide) {
- return aSide == 6 ? true
- : (!this.isServerSide() ? this.isEnergyOutputSide(aSide)
- : aSide >= 0 && aSide < 6 && this.mActiveEUOutputs[aSide] || this.mReleaseEnergy);
- }
-
- public long getOutputAmperage() {
- return this.canAccessData() && this.mMetaTileEntity.isElectric() ? this.mMetaTileEntity.maxAmperesOut() : 0L;
- }
-
- public long getOutputVoltage() {
- return this.canAccessData() && this.mMetaTileEntity.isElectric() && this.mMetaTileEntity.isEnetOutput()
- ? this.mMetaTileEntity.maxEUOutput()
- : 0L;
- }
-
- public long getInputAmperage() {
- return this.canAccessData() && this.mMetaTileEntity.isElectric() ? this.mMetaTileEntity.maxAmperesIn() : 0L;
- }
-
- public long getInputVoltage() {
- return this.canAccessData() && this.mMetaTileEntity.isElectric() ? this.mMetaTileEntity.maxEUInput()
- : 2147483647L;
- }
-
- public boolean increaseStoredSteam(long aEnergy, boolean aIgnoreTooMuchEnergy) {
- if (!this.canAccessData()) {
- return false;
- } else if (this.mMetaTileEntity.getSteamVar() >= this.getSteamCapacity() && !aIgnoreTooMuchEnergy) {
- return false;
- } else {
- this.setStoredSteam(this.mMetaTileEntity.getSteamVar() + aEnergy);
- return true;
- }
- }
-
- public long getUniversalEnergyStored() {
- return Math.max(this.getStoredEU(), this.getStoredSteam());
- }
-
- public long getUniversalEnergyCapacity() {
- return Math.max(this.getEUCapacity(), this.getSteamCapacity());
- }
-
- public long getStoredEU() {
- return this.canAccessData() ? Math.min(this.mMetaTileEntity.getEUVar(), this.getEUCapacity()) : 0L;
- }
-
- public long getEUCapacity() {
- return this.canAccessData() ? this.mMetaTileEntity.maxEUStore() : 0L;
- }
-
- private boolean isEnergyInputSide(byte aSide) {
- if (aSide >= 0 && aSide < 6) {
- if (!this.getCoverBehaviorAtSide(aSide).letsEnergyIn(aSide, this.getCoverIDAtSide(aSide),
- this.getCoverDataAtSide(aSide), this)) {
- return false;
- }
-
- if (this.isInvalid() || this.mReleaseEnergy) {
- return false;
- }
-
- if (this.canAccessData() && this.mMetaTileEntity.isElectric() && this.mMetaTileEntity.isEnetInput()) {
- return this.mMetaTileEntity.isInputFacing(aSide);
- }
- }
-
- return false;
- }
-
- private boolean isEnergyOutputSide(byte aSide) {
- if (aSide >= 0 && aSide < 6) {
- if (!this.getCoverBehaviorAtSide(aSide).letsEnergyOut(aSide, this.getCoverIDAtSide(aSide),
- this.getCoverDataAtSide(aSide), this)) {
- return false;
- }
-
- if (this.isInvalid() || this.mReleaseEnergy) {
- return this.mReleaseEnergy;
- }
-
- if (this.canAccessData() && this.mMetaTileEntity.isElectric() && this.mMetaTileEntity.isEnetOutput()) {
- return this.mMetaTileEntity.isOutputFacing(aSide);
- }
- }
-
- return false;
- }
-
- public boolean setStoredEU(long aEnergy) {
- if (!this.canAccessData()) {
- return false;
- } else {
- if (aEnergy < 0L) {
- aEnergy = 0L;
- }
-
- this.mMetaTileEntity.setEUVar(aEnergy);
- return true;
- }
- }
-
- public boolean decreaseStoredEU(long aEnergy, boolean aIgnoreTooLessEnergy) {
- if (!this.canAccessData()) {
- return false;
- } else if (this.mMetaTileEntity.getEUVar() - aEnergy < 0L && !aIgnoreTooLessEnergy) {
- return false;
- } else {
- this.setStoredEU(this.mMetaTileEntity.getEUVar() - aEnergy);
- if (this.mMetaTileEntity.getEUVar() < 0L) {
- this.setStoredEU(0L);
- return false;
- } else {
- return true;
- }
- }
}
public void doEnergyExplosion() {
if (this.getUniversalEnergyCapacity() > 0L
&& this.getUniversalEnergyStored() >= this.getUniversalEnergyCapacity() / 5L) {
this.doExplosion(
- this.oOutput * (long) (this.getUniversalEnergyStored() >= this.getUniversalEnergyCapacity() ? 4
+ this.getOutput() * (long) (this.getUniversalEnergyStored() >= this.getUniversalEnergyCapacity() ? 4
: (this.getUniversalEnergyStored() >= this.getUniversalEnergyCapacity() / 2L ? 2 : 1)));
GT_Mod arg9999 = GT_Mod.instance;
GT_Mod.achievements.issueAchievement(this.getWorldObj().getPlayerEntityByName(this.getOwnerName()),
@@ -257,11 +82,9 @@ public class BaseCustomTileEntity extends BaseMetaTileEntity {
}
}
- if (this.mRecipeStuff != null) {
+ if (this.mRecipeStuff2 != null) {
for (i = 0; i < 9; ++i) {
- if (this.getRandomNumber(100) < 50) {
- this.dropItems(GT_Utility.loadItem(this.mRecipeStuff, "Ingredient." + i));
- }
+ this.dropItems(GT_Utility.loadItem(this.mRecipeStuff2, "Ingredient." + i));
}
}
@@ -272,7 +95,7 @@ public class BaseCustomTileEntity extends BaseMetaTileEntity {
}
public ArrayList<ItemStack> getDrops() {
- ItemStack rStack = new ItemStack(Meta_GT_Proxy.sBlockMachines, 1, this.mID);
+ ItemStack rStack = new ItemStack(Meta_GT_Proxy.sBlockMachines, 1, this.getMetaTileID());
NBTTagCompound aSuperNBT = super.getDrops().get(0).getTagCompound();
NBTTagCompound tNBT = aSuperNBT;
if (this.hasValidMetaTileEntity()) {
@@ -285,195 +108,8 @@ public class BaseCustomTileEntity extends BaseMetaTileEntity {
return new ArrayList<ItemStack>(Arrays.asList(new ItemStack[] { rStack }));
}
- public long getAverageElectricInput() {
- int rEU = 0;
-
- for (int i = 0; i < this.mAverageEUInput.length; ++i) {
- if (i != this.mAverageEUInputIndex) {
- rEU += this.mAverageEUInput[i];
- }
- }
-
- return (long) (rEU / (this.mAverageEUInput.length - 1));
- }
-
- public long getAverageElectricOutput() {
- int rEU = 0;
-
- for (int i = 0; i < this.mAverageEUOutput.length; ++i) {
- if (i != this.mAverageEUOutputIndex) {
- rEU += this.mAverageEUOutput[i];
- }
- }
-
- return (long) (rEU / (this.mAverageEUOutput.length - 1));
- }
-
- public long injectEnergyUnits(byte aSide, long aVoltage, long aAmperage) {
- if (this.canAccessData() && this.mMetaTileEntity.isElectric() && this.inputEnergyFrom(aSide) && aAmperage > 0L
- && aVoltage > 0L && this.getStoredEU() < this.getEUCapacity()
- && this.mMetaTileEntity.maxAmperesIn() > this.mAcceptedAmperes) {
- if (aVoltage > this.getInputVoltage()) {
- this.doExplosion(aVoltage);
- return 0L;
- } else if (this
- .increaseStoredEnergyUnits(
- aVoltage * (aAmperage = Math
- .min(aAmperage,
- Math.min(this.mMetaTileEntity.maxAmperesIn() - this.mAcceptedAmperes,
- 1L + (this.getEUCapacity() - this.getStoredEU()) / aVoltage))),
- true)) {
- this.mAverageEUInput[this.mAverageEUInputIndex] = (int) ((long) this.mAverageEUInput[this.mAverageEUInputIndex]
- + aVoltage * aAmperage);
- this.mAcceptedAmperes += aAmperage;
- return aAmperage;
- } else {
- return 0L;
- }
- } else {
- return 0L;
- }
- }
-
- public boolean drainEnergyUnits(byte aSide, long aVoltage, long aAmperage) {
- 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;
- }
- }
-
- public boolean acceptsRotationalEnergy(byte aSide) {
- return this.canAccessData() && this.getCoverIDAtSide(aSide) == 0
- ? this.mMetaTileEntity.acceptsRotationalEnergy(aSide)
- : false;
- }
-
- public boolean injectRotationalEnergy(byte aSide, long aSpeed, long aEnergy) {
- return this.canAccessData() && this.getCoverIDAtSide(aSide) == 0
- ? this.mMetaTileEntity.injectRotationalEnergy(aSide, aSpeed, aEnergy)
- : false;
- }
-
- public double getOutputEnergyUnitsPerTick() {
- return (double) this.oOutput;
- }
-
- public double demandedEnergyUnits() {
- return !this.mReleaseEnergy && this.canAccessData() && this.mMetaTileEntity.isEnetInput()
- ? (double) (this.getEUCapacity() - this.getStoredEU())
- : 0.0D;
- }
-
- public double injectEnergyUnits(ForgeDirection aDirection, double aAmount) {
- return this.injectEnergyUnits((byte) aDirection.ordinal(), (long) ((int) aAmount), 1L) > 0L ? 0.0D : aAmount;
- }
-
- public boolean acceptsEnergyFrom(TileEntity aEmitter, ForgeDirection aDirection) {
- return this.inputEnergyFrom((byte) aDirection.ordinal());
- }
-
- public boolean emitsEnergyTo(TileEntity aReceiver, ForgeDirection aDirection) {
- return this.outputsEnergyTo((byte) aDirection.ordinal());
- }
-
- public double getOfferedEnergy() {
- return this.canAccessData() && this.getStoredEU() - this.mMetaTileEntity.getMinimumStoredEU() >= this.oOutput
- ? (double) Math.max(0L, this.oOutput)
- : 0.0D;
- }
-
- public void drawEnergy(double amount) {
- this.mAverageEUOutput[this.mAverageEUOutputIndex] = (int) ((double) this.mAverageEUOutput[this.mAverageEUOutputIndex]
- + amount);
- this.decreaseStoredEU((long) ((int) amount), true);
- }
-
- public int injectEnergy(ForgeDirection aForgeDirection, int aAmount) {
- return this.injectEnergyUnits((byte) aForgeDirection.ordinal(), (long) aAmount, 1L) > 0L ? 0 : aAmount;
- }
-
- public int addEnergy(int aEnergy) {
- if (!this.canAccessData()) {
- return 0;
- } else {
- if (aEnergy > 0) {
- this.increaseStoredEnergyUnits((long) aEnergy, true);
- } else {
- this.decreaseStoredEU((long) (-aEnergy), true);
- }
-
- return (int) Math.min(2147483647L, this.mMetaTileEntity.getEUVar());
- }
- }
-
- public boolean isAddedToEnergyNet() {
- return false;
- }
-
- public int demandsEnergy() {
- return !this.mReleaseEnergy && this.canAccessData() && this.mMetaTileEntity.isEnetInput()
- ? this.getCapacity() - this.getStored()
- : 0;
- }
-
- public int getCapacity() {
- return (int) Math.min(2147483647L, this.getEUCapacity());
- }
-
- public int getStored() {
- return (int) Math.min(2147483647L, Math.min(this.getStoredEU(), (long) this.getCapacity()));
- }
-
- public void setStored(int aEU) {
- if (this.canAccessData()) {
- this.setStoredEU((long) aEU);
- }
-
- }
-
- public int getMaxSafeInput() {
- return (int) Math.min(2147483647L, this.getInputVoltage());
- }
-
- public int getMaxEnergyOutput() {
- return this.mReleaseEnergy ? Integer.MAX_VALUE : this.getOutput();
- }
-
- public int getOutput() {
- return (int) Math.min(2147483647L, this.oOutput);
- }
-
- public int injectEnergy(Direction aDirection, int aAmount) {
- return this.injectEnergyUnits((byte) aDirection.toSideValue(), (long) aAmount, 1L) > 0L ? 0 : aAmount;
- }
-
public boolean isTeleporterCompatible(Direction aSide) {
return this.canAccessData() && this.mMetaTileEntity.isTeleporterCompatible();
}
- public boolean acceptsEnergyFrom(TileEntity aReceiver, Direction aDirection) {
- return this.inputEnergyFrom((byte) aDirection.toSideValue());
- }
-
- public boolean emitsEnergyTo(TileEntity aReceiver, Direction aDirection) {
- return this.outputsEnergyTo((byte) aDirection.toSideValue());
- }
-
- public boolean isUniversalEnergyStored(long aEnergyAmount) {
- if (this.getUniversalEnergyStored() >= aEnergyAmount) {
- return true;
- } else {
- this.mHasEnoughEnergy = false;
- return false;
- }
- }
-
} \ No newline at end of file