diff options
author | Blood-Asp <bloodasphendrik@gmail.com> | 2016-03-27 16:43:03 +0200 |
---|---|---|
committer | Blood-Asp <bloodasphendrik@gmail.com> | 2016-03-27 16:43:03 +0200 |
commit | 44f3e89bdf9b198fcd9bb0478c1aeb6a3c7ad8de (patch) | |
tree | 070021f60726be880572a48a9bbeac5f40eb4ffa /src/main/java/gregtech/common/tileentities/machines | |
parent | e56a98af4530016c12e369234d7ef745e7b35d0a (diff) | |
download | GT5-Unofficial-44f3e89bdf9b198fcd9bb0478c1aeb6a3c7ad8de.tar.gz GT5-Unofficial-44f3e89bdf9b198fcd9bb0478c1aeb6a3c7ad8de.tar.bz2 GT5-Unofficial-44f3e89bdf9b198fcd9bb0478c1aeb6a3c7ad8de.zip |
Rebalance oil processing and improve pipe covering
Diffstat (limited to 'src/main/java/gregtech/common/tileentities/machines')
2 files changed, 28 insertions, 6 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java index c0102acb03..592b827cbf 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java @@ -1,5 +1,10 @@ package gregtech.common.tileentities.machines.multi; +import java.util.ArrayList; +import java.util.Arrays; + +import org.apache.commons.lang3.ArrayUtils; + import gregtech.api.GregTech_API; import gregtech.api.enums.Textures; import gregtech.api.gui.GT_GUIContainer_MultiMachine; @@ -69,12 +74,27 @@ public class GT_MetaTileEntity_DistillationTower public boolean checkRecipe(ItemStack aStack) { + ArrayList<FluidStack> tFluidList = getStoredFluids(); + for (int i = 0; i < tFluidList.size() - 1; i++) { + for (int j = i + 1; j < tFluidList.size(); j++) { + if (GT_Utility.areFluidsEqual((FluidStack) tFluidList.get(i), (FluidStack) tFluidList.get(j))) { + if (((FluidStack) tFluidList.get(i)).amount >= ((FluidStack) tFluidList.get(j)).amount) { + tFluidList.remove(j--); + } else { + tFluidList.remove(i--); + break; + } + } + } + } + long tVoltage = getMaxInputVoltage(); byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); - if (this.mInputHatches.size() > 0 && this.mInputHatches.get(0) != null && this.mInputHatches.get(0).mFluid != null && this.mInputHatches.get(0).mFluid.amount > 0) { - GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sDistillationRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], new FluidStack[]{this.mInputHatches.get(0).mFluid}, new ItemStack[]{}); + FluidStack[] tFluids = (FluidStack[]) Arrays.copyOfRange(tFluidList.toArray(new FluidStack[tFluidList.size()]), 0, 1); + if (tFluids.length > 0) { + GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sDistillationRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], tFluids, new ItemStack[]{}); if (tRecipe != null) { - if (tRecipe.isRecipeInputEqual(true, new FluidStack[]{this.mInputHatches.get(0).mFluid}, new ItemStack[]{})) { + if (tRecipe.isRecipeInputEqual(true, tFluids, new ItemStack[]{})) { this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); this.mEfficiencyIncrease = 10000; if (tRecipe.mEUt <= 16) { @@ -94,6 +114,7 @@ public class GT_MetaTileEntity_DistillationTower this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime); this.mOutputItems = new ItemStack[]{tRecipe.getOutput(0)}; this.mOutputFluids = tRecipe.mFluidOutputs; + ArrayUtils.reverse(mOutputFluids); updateSlots(); return true; } @@ -130,7 +151,7 @@ public class GT_MetaTileEntity_DistillationTower } } } - if (this.mInputHatches.size() != 1 || this.mOutputBusses.size() != 1 || this.mInputBusses.size() != 0 || this.mOutputHatches.size() != 5) { + if (this.mOutputBusses.size() != 1 || this.mInputBusses.size() != 0 || this.mOutputHatches.size() != 5) { return false; } int height = this.getBaseMetaTileEntity().getYCoord(); diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java index 32e12ac5c8..64f7704745 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java @@ -41,6 +41,7 @@ public class GT_MetaTileEntity_OilCracker extends GT_MetaTileEntity_MultiBlockBa "2 Blocks left Input Hatch and 8 Casings", "2 Blocks right Output Hatch and 8 Casings", "beween coils: Controller, second input Hatch", + "Add steam for lower energy cost(50%) or Hydrogen for bonus output(30%)", "Maintainance Hatch and Energy Hatch"}; } @@ -71,7 +72,7 @@ public class GT_MetaTileEntity_OilCracker extends GT_MetaTileEntity_MultiBlockBa for (FluidStack tInput2 : tInputList) { if (tInput2.getFluid() == GT_ModHandler.getSteam(1).getFluid()) { steam = true; - tInput2.amount -= 64; + tInput2.amount -= 128; } if (tInput2.getFluid() == Materials.Hydrogen.mGas) { hydrogen = true; @@ -94,7 +95,7 @@ public class GT_MetaTileEntity_OilCracker extends GT_MetaTileEntity_MultiBlockBa this.mMaxProgresstime /= 2; } } - if (steam) this.mEUt = this.mEUt * 66 / 100; + if (steam) this.mEUt = this.mEUt / 2; if (this.mEUt > 0) { this.mEUt = (-this.mEUt); } |