diff options
author | BlueWeabo <ilia.iliev2005@gmail.com> | 2023-05-27 17:11:54 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-27 16:11:54 +0200 |
commit | e010c8be798fda1d564880d64bde438d01ecf519 (patch) | |
tree | 92f46a37176a78445e78959c7a89e3442e986405 | |
parent | 67b48690b1078b489bcb017e8db9200f26b77a0c (diff) | |
download | GT5-Unofficial-e010c8be798fda1d564880d64bde438d01ecf519.tar.gz GT5-Unofficial-e010c8be798fda1d564880d64bde438d01ecf519.tar.bz2 GT5-Unofficial-e010c8be798fda1d564880d64bde438d01ecf519.zip |
blacklist benzene and helium plasma from XL Turbines (#639)
* blacklist benzene and helium plasma
* change to a list and add null check
* use hashset
3 files changed, 45 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore index 966fea05d1..e5a436002a 100644 --- a/.gitignore +++ b/.gitignore @@ -32,4 +32,5 @@ src/main/resources/mixins.*.json /world /saves /asm -/.vscode
\ No newline at end of file +/.vscode +.factorypath diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java index cdcffed2d8..025169aa0d 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java @@ -3,11 +3,15 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.t import static gtPlusPlus.core.lib.CORE.RANDOM; import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; +import gregtech.api.enums.Materials; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -19,6 +23,12 @@ import gregtech.api.util.GT_Utility; @SuppressWarnings("deprecation") public class GT_MTE_LargeTurbine_Gas extends GregtechMetaTileEntity_LargerTurbineBase { + private static final HashSet<Fluid> BLACKLIST = new HashSet<>(); + + static { + BLACKLIST.add(Materials.Benzene.getFluid(0).getFluid()); + } + public GT_MTE_LargeTurbine_Gas(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); } @@ -65,11 +75,29 @@ public class GT_MTE_LargeTurbine_Gas extends GregtechMetaTileEntity_LargerTurbin } @Override + public boolean checkRecipeGeneric(ItemStack[] aItemInputs, FluidStack[] aFluidInputs, int aMaxParallelRecipes, + long aEUPercent, int aSpeedBonusPercent, int aOutputChanceRoll, GT_Recipe aRecipe) { + List<FluidStack> fluids = getStoredFluids(); + for (FluidStack fluid : fluids) { + if (fluid != null && BLACKLIST.contains(fluid.getFluid())) { + return false; + } + } + return super.checkRecipeGeneric( + aItemInputs, + aFluidInputs, + aMaxParallelRecipes, + aEUPercent, + aSpeedBonusPercent, + aOutputChanceRoll, + aRecipe); + } + + @Override int fluidIntoPower(ArrayList<FluidStack> aFluids, long aOptFlow, int aBaseEff, float[] flowMultipliers) { if (aFluids.size() >= 1) { int tEU = 0; int actualOptimalFlow = 0; - FluidStack firstFuelType = new FluidStack(aFluids.get(0), 0); // Identify a SINGLE type of fluid to process. // Doesn't matter which one. Ignore the rest! int fuelValue = getFuelValue(firstFuelType); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java index ad3ac3b5ea..00cf42bae2 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java @@ -1,11 +1,14 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.turbines; import java.util.ArrayList; +import java.util.HashSet; import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; +import gregtech.api.enums.Materials; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -20,6 +23,12 @@ import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEn @SuppressWarnings("deprecation") public class GT_MTE_LargeTurbine_Plasma extends GregtechMetaTileEntity_LargerTurbineBase { + private static final HashSet<Fluid> BLACKLIST = new HashSet<>(); + + static { + BLACKLIST.add(Materials.Helium.getPlasma(0).getFluid()); + } + public GT_MTE_LargeTurbine_Plasma(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); } @@ -97,6 +106,11 @@ public class GT_MTE_LargeTurbine_Plasma extends GregtechMetaTileEntity_LargerTur ArrayList<FluidStack> tFluids = getStoredFluids(); if (tFluids.size() > 0) { + for (FluidStack fluid : tFluids) { + if (fluid != null && BLACKLIST.contains(fluid.getFluid())) { + return false; + } + } if (baseEff == 0 || optFlow == 0 || counter >= 512 || this.getBaseMetaTileEntity().hasWorkJustBeenEnabled() |