diff options
Diffstat (limited to 'src/main/java/gtPlusPlus/core')
4 files changed, 35 insertions, 300 deletions
diff --git a/src/main/java/gtPlusPlus/core/common/CommonProxy.java b/src/main/java/gtPlusPlus/core/common/CommonProxy.java index a53e088afc..10edeeb32f 100644 --- a/src/main/java/gtPlusPlus/core/common/CommonProxy.java +++ b/src/main/java/gtPlusPlus/core/common/CommonProxy.java @@ -82,7 +82,8 @@ public class CommonProxy implements IFuelHandler { public void init(final FMLInitializationEvent e) { CI.init(); - if (Mods.AdvancedSolarPanel.isModLoaded()) { + if (e.getSide() + .isClient() && Mods.AdvancedSolarPanel.isModLoaded()) { MinecraftForge.EVENT_BUS.register(new MolecularTransformerTooltipNotice()); } // Handles Sleep Benefits diff --git a/src/main/java/gtPlusPlus/core/config/Configuration.java b/src/main/java/gtPlusPlus/core/config/Configuration.java index e2cd0463f1..45ba7df8a3 100644 --- a/src/main/java/gtPlusPlus/core/config/Configuration.java +++ b/src/main/java/gtPlusPlus/core/config/Configuration.java @@ -13,7 +13,6 @@ public class Configuration { public static final Debug debug = new Debug(); public static final Machines machines = new Machines(); public static final Gregtech gregtech = new Gregtech(); - public static final Pollution pollution = new Pollution(); public static final Features features = new Features(); public static final Visual visual = new Visual(); public static final Worldgen worldgen = new Worldgen(); @@ -58,176 +57,6 @@ public class Configuration { public int turbineCutoffBase; } - @Config.Comment("Pollution section") - public static class Pollution { - - @Config.Comment("pollution rate in gibbl/s for the Amazon warehousing depot") - @Config.DefaultInt(40) - public int pollutionPerSecondMultiPackager; - @Config.Comment("pollution rate in gibbl/s for the Alloy blast smelter") - @Config.DefaultInt(300) - public int pollutionPerSecondMultiIndustrialAlloySmelter; - @Config.Comment("pollution rate in gibbl/s for the High current arc furnace") - @Config.DefaultInt(2_400) - public int pollutionPerSecondMultiIndustrialArcFurnace; - @Config.Comment("pollution rate in gibbl/s for the Industrial centrifuge") - @Config.DefaultInt(300) - public int pollutionPerSecondMultiIndustrialCentrifuge; - @Config.Comment("pollution rate in gibbl/s for the Industrial coke oven") - @Config.DefaultInt(80) - public int pollutionPerSecondMultiIndustrialCokeOven; - @Config.Comment("pollution rate in gibbl/s for the Cutting factory") - @Config.DefaultInt(160) - public int pollutionPerSecondMultiIndustrialCuttingMachine; - @Config.Comment("pollution rate in gibbl/s for the Utupu-Tanuri") - @Config.DefaultInt(500) - public int pollutionPerSecondMultiIndustrialDehydrator; - @Config.Comment("pollution rate in gibbl/s for the Industrial electrolyzer") - @Config.DefaultInt(300) - public int pollutionPerSecondMultiIndustrialElectrolyzer; - @Config.Comment("pollution rate in gibbl/s for the Industrial extrusion machine") - @Config.DefaultInt(1_000) - public int pollutionPerSecondMultiIndustrialExtruder; - @Config.Comment("pollution rate in gibbl/s for the Maceration stack") - @Config.DefaultInt(400) - public int pollutionPerSecondMultiIndustrialMacerator; - @Config.Comment("pollution rate in gibbl/s for the Industrial mixing machine") - @Config.DefaultInt(800) - public int pollutionPerSecondMultiIndustrialMixer; - @Config.Comment("pollution rate in gibbl/s for the Large processing factory in metal mode") - @Config.DefaultInt(400) - public int pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal; - @Config.Comment("pollution rate in gibbl/s for the Large processing factory in fluid mode") - @Config.DefaultInt(400) - public int pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid; - @Config.Comment("pollution rate in gibbl/s for the Large processing factory in misc mode") - @Config.DefaultInt(600) - public int pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc; - @Config.Comment("pollution rate in gibbl/s for the Industrial material press in forming mode") - @Config.DefaultInt(240) - public int pollutionPerSecondMultiIndustrialPlatePress_ModeForming; - @Config.Comment("pollution rate in gibbl/s for the Industrial material press in bending mode") - @Config.DefaultInt(480) - public int pollutionPerSecondMultiIndustrialPlatePress_ModeBending; - @Config.Comment("pollution rate in gibbl/s for the Industrial Forge Hammer") - @Config.DefaultInt(250) - public int pollutionPerSecondMultiIndustrialForgeHammer; - @Config.Comment("pollution rate in gibbl/s for the Large Sifter") - @Config.DefaultInt(40) - public int pollutionPerSecondMultiIndustrialSifter; - @Config.Comment("pollution rate in gibbl/s for the Large thermal refinery") - @Config.DefaultInt(1_000) - public int pollutionPerSecondMultiIndustrialThermalCentrifuge; - @Config.Comment("pollution rate in gibbl/s for the Industrial fluid heater") - @Config.DefaultInt(1_000) - public int pollutionPerSecondMultiIndustrialFluidHeater; - @Config.Comment("pollution rate in gibbl/s for the Cryogenic freezer") - @Config.DefaultInt(500) - public int pollutionPerSecondMultiIndustrialVacuumFreezer; - @Config.Comment("pollution rate in gibbl/s for the Ore washing plant in chemical bath mode") - @Config.DefaultInt(400) - public int pollutionPerSecondMultiIndustrialWashPlant_ModeChemBath; - @Config.Comment("pollution rate in gibbl/s for the Ore washing plant in ore washer mode") - @Config.DefaultInt(100) - public int pollutionPerSecondMultiIndustrialWashPlant_ModeWasher; - @Config.Comment("pollution rate in gibbl/s for the Wire factory") - @Config.DefaultInt(100) - public int pollutionPerSecondMultiIndustrialWireMill; - @Config.Comment("pollution rate in gibbl/s for the IsaMill grinding machine") - @Config.DefaultInt(1_280) - public int pollutionPerSecondMultiIsaMill; - @Config.Comment("pollution rate in gibbl/s for the Dangote distillus in distillery mode") - @Config.DefaultInt(240) - public int pollutionPerSecondMultiAdvDistillationTower_ModeDistillery; - @Config.Comment("pollution rate in gibbl/s for the Dangote distillus in distillation tower mode") - @Config.DefaultInt(480) - public int pollutionPerSecondMultiAdvDistillationTower_ModeDT; - @Config.Comment("pollution rate in gibbl/s for the Volcanus") - @Config.DefaultInt(500) - public int pollutionPerSecondMultiAdvEBF; - @Config.Comment("pollution rate in gibbl/s for the Density^2") - @Config.DefaultInt(5_000) - public int pollutionPerSecondMultiAdvImplosion; - @Config.Comment("pollution rate in gibbl/s for the Alloy blast furnace") - @Config.DefaultInt(200) - public int pollutionPerSecondMultiABS; - @Config.Comment("pollution rate in gibbl/s for the Cyclotron") - @Config.DefaultInt(200) - public int pollutionPerSecondMultiCyclotron; - @Config.Comment("pollution rate in gibbl/s for the Zuhai - fishing port") - @Config.DefaultInt(20) - public int pollutionPerSecondMultiIndustrialFishingPond; - // pollutionPerSecondMultiLargeRocketEngine; - @Config.Comment("pollution rate in gibbl/s for the Large semifluid burner") - @Config.DefaultInt(1_280) - public int pollutionPerSecondMultiLargeSemiFluidGenerator; - @Config.Comment("pollution rate in gibbl/s for the Matter fabrication CPU") - @Config.DefaultInt(40) - public int pollutionPerSecondMultiMassFabricator; - @Config.Comment("pollution rate in gibbl/s for the Reactor fuel processing plant") - @Config.DefaultInt(4_000) - public int pollutionPerSecondMultiRefinery; - @Config.Comment("pollution rate in gibbl/s for the Industrial Rock Breaker") - @Config.DefaultInt(100) - public int pollutionPerSecondMultiIndustrialRockBreaker; - @Config.Comment("pollution rate in gibbl/s for the Industrial Chisel") - @Config.DefaultInt(50) - public int pollutionPerSecondMultiIndustrialChisel; - @Config.Comment("pollution rate in gibbl/s for the Tree growth simulator") - @Config.DefaultInt(100) - public int pollutionPerSecondMultiTreeFarm; - @Config.Comment("pollution rate in gibbl/s for the Flotation cell regulator") - @Config.DefaultInt(0) - public int pollutionPerSecondMultiFrothFlotationCell; - @Config.Comment("pollution rate in gibbl/s for the Large-Scale auto assembler v1.01") - @Config.DefaultInt(500) - public int pollutionPerSecondMultiAutoCrafter; - @Config.Comment("pollution rate in gibbl/s for the Nuclear salt processing plant") - @Config.DefaultInt(500) - public int pollutionPerSecondNuclearSaltProcessingPlant; - @Config.Comment("pollution rate in gibbl/s for the Multiblock Molecular Transformer") - @Config.DefaultInt(1_000) - public int pollutionPerSecondMultiMolecularTransformer; - - @Config.Comment("pollution rate in gibbl/s for the Elemental Duplicator") - @Config.DefaultInt(1_000) - public int pollutionPerSecondElementalDuplicator; - - @Config.Comment("pollution rate in gibbl/s for the Thermal boiler") - @Config.DefaultInt(700) - public int pollutionPerSecondMultiThermalBoiler; - @Config.Comment("pollution rate in gibbl/s for the Algae farm") - @Config.DefaultInt(0) - public int pollutionPerSecondMultiAlgaePond; - @Config.Comment("base pollution rate in gibbl/s for the single block semi fluid generators") - @Config.DefaultInt(40) - public int basePollutionPerSecondSemiFluidGenerator; - @Config.Comment("coefficient applied to the base rate of the single block semi fluid generators based on its tier (first is tier 0 aka ULV)") - @Config.DefaultDoubleList({ 0.0, 2.0, 4.0, 8.0, 12.0, 16.0 }) - public double[] pollutionReleasedByTierSemiFluidGenerator; - @Config.Comment("base pollution rate in gibbl/s for the single block boilers") - @Config.DefaultInt(35) - public int basePollutionPerSecondBoiler; - @Config.Comment("coefficient applied to the base rate of the single block boilers based on its tier (first is tier 0 aka ULV)") - @Config.DefaultDoubleList({ 0.0, 1.0, 1.43, 1.86 }) - public double[] pollutionReleasedByTierBoiler; - @Config.Comment("minimum base pollution rate in gibbl/s for the single block rocket engines") - @Config.DefaultInt(250) - public int baseMinPollutionPerSecondRocketFuelGenerator; - @Config.Comment("maximum base pollution rate in gibbl/s for the single block rocket engines") - @Config.DefaultInt(2_000) - public int baseMaxPollutionPerSecondRocketFuelGenerator; - @Config.Comment("coefficient applied to the base rate of the single block rocket engines based on its tier (first is tier 0 aka ULV)") - @Config.DefaultDoubleList({ 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 3.0 }) - public double[] pollutionReleasedByTierRocketFuelGenerator; - @Config.Comment("base pollution rate in gibbl/s for the geothermal engines") - @Config.DefaultInt(100) - public int basePollutionPerSecondGeothermalGenerator; - @Config.Comment("coefficient applied to the base rate of the single block geothermal engines based on its tier (first is tier 0 aka ULV)") - @Config.DefaultDoubleList({ 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 }) - public double[] pollutionReleasedByTierGeothermalGenerator; - } - @Config.Comment("Features section") public static class Features { diff --git a/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java b/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java index 35a569578f..811fb0cab1 100644 --- a/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java +++ b/src/main/java/gtPlusPlus/core/tileentities/base/TileEntityBase.java @@ -28,10 +28,10 @@ import gregtech.api.util.GTOreDictUnificator; import gregtech.api.util.GTUtility; import gregtech.api.util.ISerializableObject; import gregtech.common.covers.CoverInfo; +import gregtech.common.pollution.Pollution; import gtPlusPlus.api.interfaces.ILazyCoverable; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.minecraft.BTF_Inventory; -import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; import ic2.api.Direction; public class TileEntityBase extends TileEntity implements ILazyCoverable, IGregTechDeviceInformation, IDescribable { @@ -1316,7 +1316,7 @@ public class TileEntityBase extends TileEntity implements ILazyCoverable, IGregT } this.mReleaseEnergy = false; this.onExplosion(); - PollutionUtils.addPollution(this, 100000); + Pollution.addPollution(this, 100000); this.mMetaTileEntity.doExplosion(aAmount); } } 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<FluidStack> 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."); } } } |