aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
authorTechnus <daniel112092@gmail.com>2019-01-16 21:49:02 +0100
committerTechnus <daniel112092@gmail.com>2019-01-16 21:49:02 +0100
commit7e533440f4a250c8bdfbcf5c646e5c0e80c75b52 (patch)
tree85781e546d06eb4d0ed47a8a79d5f7f006191532 /src/main/java/gregtech/api
parent37b81472322c29a600a0be573d15cd0858cbd084 (diff)
downloadGT5-Unofficial-7e533440f4a250c8bdfbcf5c646e5c0e80c75b52.tar.gz
GT5-Unofficial-7e533440f4a250c8bdfbcf5c646e5c0e80c75b52.tar.bz2
GT5-Unofficial-7e533440f4a250c8bdfbcf5c646e5c0e80c75b52.zip
Change fuel requirements
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java
index c20b8ad3a8..56eee6802a 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java
@@ -205,7 +205,7 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
mInventory[getStackDisplaySlot()].setStackDisplayName("Generating: " + (aBaseMetaTileEntity.getUniversalEnergyStored() - getMinimumStoredEU()) + " EU");
}
} else {
- int tFuelValue = getFuelValue(mFluid), tConsumed = consumedFluidPerOperation(mFluid);
+ long tFuelValue = getFuelValue(mFluid), tConsumed = consumedFluidPerOperation(mFluid);
if (tFuelValue > 0 && tConsumed > 0 && mFluid.amount > tConsumed) {
long tFluidAmountToUse = Math.min(mFluid.amount / tConsumed, (maxEUStore() - aBaseMetaTileEntity.getUniversalEnergyStored()) / tFuelValue);
//long tFluidAmountToUse = Math.min(mFluid.amount / tConsumed, (maxEUOutput() * 20 + getMinimumStoredEU() - aBaseMetaTileEntity.getUniversalEnergyStored()) / tFuelValue);//TODO CHECK
@@ -216,7 +216,7 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
}
}
if (mInventory[getInputSlot()] != null && aBaseMetaTileEntity.getUniversalEnergyStored() < (maxEUOutput() * 20 + getMinimumStoredEU()) && GT_Utility.getFluidForFilledItem(mInventory[getInputSlot()], true) == null) {
- int tFuelValue = getFuelValue(mInventory[getInputSlot()]);
+ long tFuelValue = getFuelValue(mInventory[getInputSlot()]);
if (tFuelValue > 0) {
ItemStack tEmptyContainer = getEmptyContainer(mInventory[getInputSlot()]);
if (aBaseMetaTileEntity.addStackToSlot(getOutputSlot(), tEmptyContainer)) {
@@ -248,15 +248,26 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
Collection<GT_Recipe> tRecipeList = getRecipes().mRecipeList;
if (tRecipeList != null) for (GT_Recipe tFuel : tRecipeList)
if ((tLiquid = GT_Utility.getFluidForFilledItem(tFuel.getRepresentativeInput(0), true)) != null)
- if (aLiquid.isFluidEqual(tLiquid))
- return (int) (((long) tFuel.mSpecialValue * getEfficiency() * consumedFluidPerOperation(tLiquid)) / 100);
+ if (aLiquid.isFluidEqual(tLiquid)){
+ long val=(long)tFuel.mSpecialValue * getEfficiency() * consumedFluidPerOperation(tLiquid) / 100;
+ if(val> Integer.MAX_VALUE){
+ throw new ArithmeticException("Integer LOOPBACK!");
+ }
+ return (int) val;
+ }
return 0;
}
public int getFuelValue(ItemStack aStack) {
if (GT_Utility.isStackInvalid(aStack) || getRecipes() == null) return 0;
GT_Recipe tFuel = getRecipes().findRecipe(getBaseMetaTileEntity(), false, Long.MAX_VALUE, null, aStack);
- if (tFuel != null) return (int) ((tFuel.mSpecialValue * 1000L * getEfficiency()) / 100);
+ if (tFuel != null){
+ long val=(long)tFuel.mSpecialValue * 10L /*<- 1000mb/100 */ * getEfficiency();
+ if(val> Integer.MAX_VALUE){
+ throw new ArithmeticException("Integer LOOPBACK!");
+ }
+ return (int) val;
+ }
return 0;
}