From 901cb0d294b0c4f114bb247fbd7d6f97e7484f3c Mon Sep 17 00:00:00 2001 From: Alexdoru <57050655+Alexdoru@users.noreply.github.com> Date: Mon, 21 Oct 2024 21:21:33 +0200 Subject: Import pollution mixins from hodgepodge (#3395) Co-authored-by: Martin Robertz Co-authored-by: boubou19 --- .../util/minecraft/gregtech/PollutionUtils.java | 157 ++++----------------- 1 file changed, 31 insertions(+), 126 deletions(-) (limited to 'src/main/java/gtPlusPlus/core/util') diff --git a/src/main/java/gtPlusPlus/core/util/minecraft/gregtech/PollutionUtils.java b/src/main/java/gtPlusPlus/core/util/minecraft/gregtech/PollutionUtils.java index f753561d71..1914a5a39d 100644 --- a/src/main/java/gtPlusPlus/core/util/minecraft/gregtech/PollutionUtils.java +++ b/src/main/java/gtPlusPlus/core/util/minecraft/gregtech/PollutionUtils.java @@ -1,18 +1,9 @@ package gtPlusPlus.core.util.minecraft.gregtech; -import java.util.ArrayList; - import net.minecraft.item.ItemStack; -import net.minecraft.world.chunk.Chunk; import net.minecraftforge.fluids.FluidStack; -import org.apache.commons.lang3.ArrayUtils; - -import gregtech.GTMod; import gregtech.api.enums.OrePrefixes; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.interfaces.tileentity.IHasWorldObjectAndCoords; -import gregtech.common.Pollution; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.item.base.cell.BaseItemCell; import gtPlusPlus.core.material.MaterialGenerator; @@ -22,127 +13,41 @@ import gtPlusPlus.core.util.minecraft.ItemUtils; public class PollutionUtils { - public static ArrayList mPollutionFluidStacks = new ArrayList<>(); - - public static boolean isPollutionEnabled() { - return GTMod.gregtechproxy.mPollution; - } - - public static boolean addPollution(IGregTechTileEntity te, int pollutionValue) { - if (GTMod.gregtechproxy.mPollution) { - Pollution.addPollution(te, pollutionValue); - return true; - } - return false; - } - - public static void addPollution(IHasWorldObjectAndCoords aTileOfSomeSort, int pollutionValue) { - if (GTMod.gregtechproxy.mPollution) { - Chunk c = aTileOfSomeSort.getWorld() - .getChunkFromBlockCoords(aTileOfSomeSort.getXCoord(), aTileOfSomeSort.getZCoord()); - addPollution(c, pollutionValue); - } - } - - public static void addPollution(Chunk aChunk, int pollutionValue) { - if (GTMod.gregtechproxy.mPollution) { - Pollution.addPollution(aChunk, pollutionValue); - } - } - - public static void removePollution(IGregTechTileEntity te, int pollutionValue) { - addPollution(te, -pollutionValue); - } - - public static void removePollution(Chunk aChunk, int pollutionValue) { - addPollution(aChunk, -pollutionValue); - } - - public static void nullifyPollution(IGregTechTileEntity te) { - if (te == null) { - return; - } - nullifyPollution((IHasWorldObjectAndCoords) te); - } - - public static void nullifyPollution(IHasWorldObjectAndCoords aTileOfSomeSort) { - if (aTileOfSomeSort == null) { - return; - } - Chunk c = aTileOfSomeSort.getWorld() - .getChunkFromBlockCoords(aTileOfSomeSort.getXCoord(), aTileOfSomeSort.getZCoord()); - nullifyPollution(c); - } - - public static void nullifyPollution(Chunk aChunk) { - if (GTMod.gregtechproxy.mPollution) { - if (aChunk == null) { - return; - } - int getCurrentPollution = getPollution(aChunk); - if (getCurrentPollution > 0) { - removePollution(aChunk, getCurrentPollution); - } - } - } - - public static int getPollution(IGregTechTileEntity te) { - return Pollution.getPollution(te); - } - - public static int getPollution(Chunk te) { - return Pollution.getPollution(te); - } - public static void setPollutionFluids() { - if (mPollutionFluidStacks.isEmpty()) { - FluidStack CD, CM, SD; - CD = FluidUtils.getFluidStack("carbondioxide", 1000); - CM = FluidUtils.getFluidStack("carbonmonoxide", 1000); - SD = FluidUtils.getFluidStack("sulfurdioxide", 1000); - if (PollutionUtils.mPollutionFluidStacks.isEmpty()) { - if (CD != null) { - Logger.INFO("[PollutionCompat] Found carbon dioxide fluid, registering it."); - PollutionUtils.mPollutionFluidStacks.add(CD); - MaterialMisc.CARBON_DIOXIDE.registerComponentForMaterial(CD); - ItemStack cellCD = ItemUtils.getItemStackOfAmountFromOreDict("cellCarbonDioxide", 1); - if (ItemUtils.checkForInvalidItems(cellCD)) { - Logger.INFO("[PollutionCompat] Found carbon dioxide cell, registering component."); - MaterialMisc.CARBON_DIOXIDE.registerComponentForMaterial(OrePrefixes.cell, cellCD); - } else { - Logger.INFO("[PollutionCompat] Did not find carbon dioxide cell, registering new component."); - new BaseItemCell(MaterialMisc.CARBON_DIOXIDE); - } - } else { - MaterialGenerator.generate(MaterialMisc.CARBON_DIOXIDE, false, false); - } - - if (CM != null) { - Logger.INFO("[PollutionCompat] Found carbon monoxide fluid, registering it."); - PollutionUtils.mPollutionFluidStacks.add(CM); - MaterialMisc.CARBON_MONOXIDE.registerComponentForMaterial(CM); - ItemStack cellCD = ItemUtils.getItemStackOfAmountFromOreDict("cellCarbonMonoxide", 1); - if (ItemUtils.checkForInvalidItems(cellCD)) { - Logger.INFO("[PollutionCompat] Found carbon monoxide cell, registering component."); - MaterialMisc.CARBON_MONOXIDE.registerComponentForMaterial(OrePrefixes.cell, cellCD); - } else { - Logger.INFO("[PollutionCompat] Did not find carbon monoxide cell, registering new component."); - new BaseItemCell(MaterialMisc.CARBON_MONOXIDE); - } - } else { - MaterialGenerator.generate(MaterialMisc.CARBON_MONOXIDE, false, false); - } - - if (SD != null) { - Logger.INFO("[PollutionCompat] Found sulfur dioxide fluid, registering it."); - PollutionUtils.mPollutionFluidStacks.add(SD); - } + FluidStack CD, CM, SD; + CD = FluidUtils.getFluidStack("carbondioxide", 1000); + CM = FluidUtils.getFluidStack("carbonmonoxide", 1000); + SD = FluidUtils.getFluidStack("sulfurdioxide", 1000); + if (CD != null) { + Logger.INFO("[PollutionCompat] Found carbon dioxide fluid, registering it."); + MaterialMisc.CARBON_DIOXIDE.registerComponentForMaterial(CD); + ItemStack cellCD = ItemUtils.getItemStackOfAmountFromOreDict("cellCarbonDioxide", 1); + if (ItemUtils.checkForInvalidItems(cellCD)) { + Logger.INFO("[PollutionCompat] Found carbon dioxide cell, registering component."); + MaterialMisc.CARBON_DIOXIDE.registerComponentForMaterial(OrePrefixes.cell, cellCD); + } else { + Logger.INFO("[PollutionCompat] Did not find carbon dioxide cell, registering new component."); + new BaseItemCell(MaterialMisc.CARBON_DIOXIDE); } } else { - if (mPollutionFluidStacks.size() != 3) { - Logger.INFO("Unable to detect all 3 pollution fluids. Found: "); - Logger.INFO(ArrayUtils.toString(mPollutionFluidStacks)); + MaterialGenerator.generate(MaterialMisc.CARBON_DIOXIDE, false, false); + } + if (CM != null) { + Logger.INFO("[PollutionCompat] Found carbon monoxide fluid, registering it."); + MaterialMisc.CARBON_MONOXIDE.registerComponentForMaterial(CM); + ItemStack cellCD = ItemUtils.getItemStackOfAmountFromOreDict("cellCarbonMonoxide", 1); + if (ItemUtils.checkForInvalidItems(cellCD)) { + Logger.INFO("[PollutionCompat] Found carbon monoxide cell, registering component."); + MaterialMisc.CARBON_MONOXIDE.registerComponentForMaterial(OrePrefixes.cell, cellCD); + } else { + Logger.INFO("[PollutionCompat] Did not find carbon monoxide cell, registering new component."); + new BaseItemCell(MaterialMisc.CARBON_MONOXIDE); } + } else { + MaterialGenerator.generate(MaterialMisc.CARBON_MONOXIDE, false, false); + } + if (SD != null) { + Logger.INFO("[PollutionCompat] Found sulfur dioxide fluid, registering it."); } } } -- cgit