From 332cfd3c2e10e950dc4d505d6b631a75fd55367a Mon Sep 17 00:00:00 2001 From: GlodBlock <1356392126@qq.com> Date: Wed, 22 Sep 2021 19:25:24 +0800 Subject: fix sulfuric acid positive --- .../Blocks/TEs/FuelRefineFactory.java | 12 ++++--- .../Blocks/TEs/MetalVaporTurbine.java | 1 + .../GoodGenerator/Blocks/TEs/MultiNqGenerator.java | 42 ++++++++-------------- .../Loader/NaquadahReworkRecipeLoader.java | 4 +-- .../java/GoodGenerator/util/MyRecipeAdder.java | 5 +-- 5 files changed, 26 insertions(+), 38 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java b/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java index f5cea433d3..15939c9c4f 100644 --- a/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java +++ b/src/main/java/GoodGenerator/Blocks/TEs/FuelRefineFactory.java @@ -25,19 +25,18 @@ import gregtech.api.util.GT_Utility; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.StatCollector; import net.minecraft.world.World; import net.minecraftforge.fluids.FluidStack; import org.lwjgl.input.Keyboard; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import static GoodGenerator.util.DescTextLocalization.BLUE_PRINT_INFO; import static com.gtnewhorizon.structurelib.structure.StructureUtility.*; import static gregtech.api.util.GT_StructureUtility.*; +import static gregtech.api.enums.GT_Values.V; public class FuelRefineFactory extends GT_MetaTileEntity_MultiblockBase_EM implements TecTechEnabledMulti, IConstructable { @@ -242,7 +241,7 @@ public class FuelRefineFactory extends GT_MetaTileEntity_MultiblockBase_EM imple ArrayList tFluids = getStoredFluids(); ArrayList tItems = getStoredInputs(); - Collection tRecipes = MyRecipeAdder.instance.FRF.mRecipeList; + MyRecipeAdder.NaqFuelRefineMapper tRecipes = MyRecipeAdder.instance.FRF; for (int i = 0; i < tFluids.size() - 1; i++) { for (int j = i + 1; j < tFluids.size(); j++) { @@ -274,8 +273,11 @@ public class FuelRefineFactory extends GT_MetaTileEntity_MultiblockBase_EM imple ItemStack[] inItems = tItems.toArray(new ItemStack[0]); this.mEfficiency = 10000; - for (GT_Recipe recipe : tRecipes){ - if (recipe.mSpecialValue > Tier) continue; + long tVoltage = getMaxInputVoltage(); + byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); + GT_Recipe recipe = tRecipes.findRecipe(this.getBaseMetaTileEntity(), false, V[tTier], inFluids, inItems); + if (recipe != null) { + if (recipe.mSpecialValue > Tier) return false; if (recipe.isRecipeInputEqual(true, inFluids, inItems)){ mEUt = recipe.mEUt; mEUt = -Math.abs(mEUt); diff --git a/src/main/java/GoodGenerator/Blocks/TEs/MetalVaporTurbine.java b/src/main/java/GoodGenerator/Blocks/TEs/MetalVaporTurbine.java index febe7c0f3c..0ae306fe8b 100644 --- a/src/main/java/GoodGenerator/Blocks/TEs/MetalVaporTurbine.java +++ b/src/main/java/GoodGenerator/Blocks/TEs/MetalVaporTurbine.java @@ -1,4 +1,5 @@ package GoodGenerator.Blocks.TEs; public class MetalVaporTurbine{ + } diff --git a/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java b/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java index c7abee9d70..49cb7b3af9 100644 --- a/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java +++ b/src/main/java/GoodGenerator/Blocks/TEs/MultiNqGenerator.java @@ -32,7 +32,6 @@ import org.lwjgl.input.Keyboard; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; import java.util.List; import static GoodGenerator.util.DescTextLocalization.BLUE_PRINT_INFO; @@ -45,19 +44,18 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem protected long leftEnergy = 0; protected long trueOutput = 0; protected int trueEff = 0; - protected boolean fluidLocker = true; protected FluidStack lockedFluid = null; protected int times = 1; protected int basicOutput; - private final List> excitedLiquid = Arrays.asList( + private static final List> excitedLiquid = Arrays.asList( new Pair<>(FluidRegistry.getFluidStack("molten.atomic separation catalyst", 20), 16), new Pair<>(Materials.Naquadah.getMolten(20L), 4), new Pair<>(Materials.Uranium235.getMolten(180L), 3), new Pair<>(Materials.Caesium.getMolten(180L), 2) ); - private final List> coolant = Arrays.asList( + private static final List> coolant = Arrays.asList( new Pair<>(FluidRegistry.getFluidStack("cryotheum", 1000), 275), new Pair<>(Materials.SuperCoolant.getFluid(1000L), 150), new Pair<>(FluidRegistry.getFluidStack("ic2coolant",1000), 105) @@ -169,7 +167,6 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem @Override public void loadNBTData(NBTTagCompound aNBT){ - this.fluidLocker = aNBT.getBoolean("mIsLocked"); this.times = aNBT.getInteger("mTimes"); this.leftEnergy = aNBT.getLong("mLeftEnergy"); this.basicOutput = aNBT.getInteger("mbasicOutput"); @@ -181,7 +178,6 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem @Override public void saveNBTData(NBTTagCompound aNBT){ - aNBT.setBoolean("mIsLocked", this.fluidLocker); aNBT.setInteger("mTimes", this.times); aNBT.setLong("mLeftEnergy", this.leftEnergy); aNBT.setInteger("mbasicOutput", this.basicOutput); @@ -196,7 +192,6 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem public boolean checkRecipe_EM(ItemStack aStack) { ArrayList tFluids = getStoredFluids(); - Collection tRecipes = MyRecipeAdder.instance.NqGFuels.mRecipeList; for (int i = 0; i < tFluids.size() - 1; i++) { for (int j = i + 1; j < tFluids.size(); j++) { @@ -211,24 +206,17 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem } } - int cnt = 0; - - for (GT_Recipe recipe : tRecipes) if (tFluids.contains(recipe.mFluidInputs[0])) cnt ++; - - if (cnt > 1) doExplosion(4 * 4); - - for (GT_Recipe tRecipe : MyRecipeAdder.instance.NqGFuels.mRecipeList) { - if (tFluids.contains(tRecipe.mFluidInputs[0])) { - Pair excitedInfo = getExcited(tFluids.toArray(new FluidStack[0]), false); - int pall = excitedInfo == null ? 1 : excitedInfo.getValue(); - if (consumeFuel(CrackRecipeAdder.copyFluidWithAmount(tRecipe.mFluidInputs[0], pall), tFluids.toArray(new FluidStack[0]))) { - mOutputFluids = new FluidStack[]{CrackRecipeAdder.copyFluidWithAmount(tRecipe.mFluidOutputs[0], pall)}; - basicOutput = tRecipe.mSpecialValue; - times = pall; - lockedFluid = excitedInfo == null ? null : excitedInfo.getKey(); - mMaxProgresstime = tRecipe.mDuration; - return true; - } + GT_Recipe tRecipe = MyRecipeAdder.instance.NqGFuels.findRecipe(this.getBaseMetaTileEntity(), true, 1 << 30, tFluids.toArray(new FluidStack[0])); + if (tRecipe != null) { + Pair excitedInfo = getExcited(tFluids.toArray(new FluidStack[0]), false); + int pall = excitedInfo == null ? 1 : excitedInfo.getValue(); + if (consumeFuel(CrackRecipeAdder.copyFluidWithAmount(tRecipe.mFluidInputs[0], pall), tFluids.toArray(new FluidStack[0]))) { + mOutputFluids = new FluidStack[]{CrackRecipeAdder.copyFluidWithAmount(tRecipe.mFluidOutputs[0], pall)}; + basicOutput = tRecipe.mSpecialValue; + times = pall; + lockedFluid = excitedInfo == null ? null : excitedInfo.getKey(); + mMaxProgresstime = tRecipe.mDuration; + return true; } } @@ -238,7 +226,7 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem @Override public boolean onRunningTick(ItemStack stack) { if (this.getBaseMetaTileEntity().isServerSide()) { - if (mProgresstime % 20 == 0 && mMaxProgresstime != 0) { + if (mMaxProgresstime != 0 && mProgresstime % 20 == 0) { FluidStack[] input = getStoredFluids().toArray(new FluidStack[0]); int eff = 100, time = 1; if (!consumeFuel(Materials.LiquidAir.getFluid(2400), input)) { @@ -309,7 +297,7 @@ public class MultiNqGenerator extends GT_MetaTileEntity_MultiblockBase_EM implem long voltage = tHatch.maxEUOutput(); long power = voltage * tHatch.maxAmperesOut(); long outputAmperes; - if (outputPower > power) doExplosion(4 * GT_Utility.getTier(power)); + if (outputPower > power) doExplosion(8 * GT_Utility.getTier(power)); if (outputPower >= voltage){ leftEnergy += outputPower; outputAmperes = leftEnergy / voltage; diff --git a/src/main/java/GoodGenerator/Loader/NaquadahReworkRecipeLoader.java b/src/main/java/GoodGenerator/Loader/NaquadahReworkRecipeLoader.java index 5d7017b088..b28b609963 100644 --- a/src/main/java/GoodGenerator/Loader/NaquadahReworkRecipeLoader.java +++ b/src/main/java/GoodGenerator/Loader/NaquadahReworkRecipeLoader.java @@ -198,7 +198,7 @@ public class NaquadahReworkRecipeLoader { }, new FluidStack[]{ P507.getFluidOrGas(1000), - Materials.SulfuricAcid.getFluid(4000) + Materials.SulfuricAcid.getFluid(32000) }, new FluidStack[]{ enrichedNaquadahRichSolution.getFluidOrGas(4000), @@ -305,7 +305,7 @@ public class NaquadahReworkRecipeLoader { lowQualityNaquadriaPhosphate.get(OrePrefixes.dust, 10), }, new FluidStack[]{ - Materials.SulfuricAcid.getFluid(10000) + Materials.SulfuricAcid.getFluid(30000) }, new FluidStack[]{ naquadriaRichSolution.getFluidOrGas(9000) diff --git a/src/main/java/GoodGenerator/util/MyRecipeAdder.java b/src/main/java/GoodGenerator/util/MyRecipeAdder.java index 3907ba7f9b..8f80256b49 100644 --- a/src/main/java/GoodGenerator/util/MyRecipeAdder.java +++ b/src/main/java/GoodGenerator/util/MyRecipeAdder.java @@ -18,7 +18,7 @@ public class MyRecipeAdder { StatCollector.translateToLocal("tile.recipe.naquadah_reactor"), null, "goodgenerator:textures/gui/naquadah_reactor", - 0,0,1,1,1, + 0,0,0,1,1, StatCollector.translateToLocal("value.naquadah_reactor") + " ", 1, " EU/t", @@ -53,14 +53,11 @@ public class MyRecipeAdder { ); public static class liquidMentalFuelMapper extends GT_Recipe.GT_Recipe_Map_Fuel{ - int lasting = 0; - public liquidMentalFuelMapper(Collection aRecipeList, String aUnlocalizedName, String aLocalName, String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems, int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier, String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed){ super(aRecipeList, aUnlocalizedName, aLocalName, aNEIName, aNEIGUIPath, aUsualInputCount, aUsualOutputCount, aMinimalInputItems, aMinimalInputFluids, aAmperage, aNEISpecialValuePre, aNEISpecialValueMultiplier, aNEISpecialValuePost, aShowVoltageAmperageInNEI, aNEIAllowed); } public void addFuel(FluidStack input, FluidStack output, int EUt, int ticks){ - lasting = ticks; super.addRecipe(true, null, null, null, new FluidStack[]{input}, new FluidStack[]{output}, ticks, 0, EUt); } } -- cgit