Fix a possible situation when the oil cracking unit applies a both bonuses
This commit is contained in:
parent
cb4111d405
commit
6aa902a946
1 changed files with 7 additions and 16 deletions
|
@ -20,6 +20,9 @@ import net.minecraftforge.common.util.ForgeDirection;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
import net.minecraftforge.fluids.FluidStack;
|
||||||
|
|
||||||
public class GT_MetaTileEntity_OilCracker extends GT_MetaTileEntity_MultiBlockBase {
|
public class GT_MetaTileEntity_OilCracker extends GT_MetaTileEntity_MultiBlockBase {
|
||||||
|
private final FluidStack fluidToDecreaseEu = GT_ModHandler.getSteam(128);
|
||||||
|
private final FluidStack fluidToIncreaseOutput = Materials.Hydrogen.getGas(64);
|
||||||
|
|
||||||
|
|
||||||
public GT_MetaTileEntity_OilCracker(int aID, String aName, String aNameRegional) {
|
public GT_MetaTileEntity_OilCracker(int aID, String aName, String aNameRegional) {
|
||||||
super(aID, aName, aNameRegional);
|
super(aID, aName, aNameRegional);
|
||||||
|
@ -66,20 +69,8 @@ public class GT_MetaTileEntity_OilCracker extends GT_MetaTileEntity_MultiBlockBa
|
||||||
GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sCrakingRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], new FluidStack[]{tInput}, new ItemStack[]{});
|
GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sCrakingRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], new FluidStack[]{tInput}, new ItemStack[]{});
|
||||||
if (tRecipe != null) {
|
if (tRecipe != null) {
|
||||||
if (tRecipe.isRecipeInputEqual(true, new FluidStack[]{tInput}, new ItemStack[]{})) {
|
if (tRecipe.isRecipeInputEqual(true, new FluidStack[]{tInput}, new ItemStack[]{})) {
|
||||||
boolean steam = false;
|
boolean needDecreaseEu = depleteInput(fluidToDecreaseEu);
|
||||||
boolean hydrogen = false;
|
boolean needIncreaseOutput = !needDecreaseEu && depleteInput(fluidToIncreaseOutput);
|
||||||
for (FluidStack tInput2 : tInputList) {
|
|
||||||
if (tInput2.getFluid() == GT_ModHandler.getSteam(1).getFluid()) {
|
|
||||||
steam = true;
|
|
||||||
tInput2.amount -= 128;
|
|
||||||
}
|
|
||||||
if (tInput2.getFluid() == Materials.Hydrogen.mGas) {
|
|
||||||
hydrogen = true;
|
|
||||||
steam = false;
|
|
||||||
tInput2.amount -= 64;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
|
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
|
||||||
this.mEfficiencyIncrease = 10000;
|
this.mEfficiencyIncrease = 10000;
|
||||||
|
@ -94,13 +85,13 @@ public class GT_MetaTileEntity_OilCracker extends GT_MetaTileEntity_MultiBlockBa
|
||||||
this.mMaxProgresstime /= 2;
|
this.mMaxProgresstime /= 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (steam) this.mEUt = this.mEUt / 2;
|
if (needDecreaseEu) this.mEUt = this.mEUt / 2;
|
||||||
if (this.mEUt > 0) {
|
if (this.mEUt > 0) {
|
||||||
this.mEUt = (-this.mEUt);
|
this.mEUt = (-this.mEUt);
|
||||||
}
|
}
|
||||||
this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
|
this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
|
||||||
this.mOutputFluids = new FluidStack[]{tRecipe.getFluidOutput(0)};
|
this.mOutputFluids = new FluidStack[]{tRecipe.getFluidOutput(0)};
|
||||||
if (hydrogen) this.mOutputFluids[0].amount = this.mOutputFluids[0].amount * 130 / 100;
|
if (needIncreaseOutput) this.mOutputFluids[0].amount = this.mOutputFluids[0].amount * 130 / 100;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue