aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/common')
-rw-r--r--src/main/java/gregtech/common/GT_Proxy.java32
-rw-r--r--src/main/java/gregtech/common/render/GT_PollutionRenderer.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java5
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java5
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BrickedBlastFurnace.java3
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java16
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java10
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java14
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ExtremeDieselEngine.java12
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java9
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java24
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Bronze.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Steel.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Titanium.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_TungstenSteel.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java12
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java13
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java12
22 files changed, 174 insertions, 46 deletions
diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java
index 40716a2fa6..569e06643a 100644
--- a/src/main/java/gregtech/common/GT_Proxy.java
+++ b/src/main/java/gregtech/common/GT_Proxy.java
@@ -188,6 +188,28 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
public int mPollutionPoisonLimit = 750000;
public int mPollutionVegetationLimit = 1000000;
public int mPollutionSourRainLimit = 2000000;
+ public int mPollutionOnExplosion = 100000;
+ public int mPollutionPrimitveBlastFurnacePerSecond = 200;
+ public int mPollutionEBFPerSecond = 400;
+ public int mPollutionCharcoalPitPerSecond = 100;
+ public int mPollutionLargeCombustionEnginePerSecond = 480;
+ public int mPollutionExtremeCombustionEnginePerSecond = 3840;
+ public int mPollutionImplosionCompressorPerSecond = 10000;
+ public int mPollutionLargeBronzeBoilerPerSecond = 1000;
+ public int mPollutionLargeSteelBoilerPerSecond = 2000;
+ public int mPollutionLargeTitaniumBoilerPerSecond = 3000;
+ public int mPollutionLargeTungstenSteelBoilerPerSecond = 4000;
+ public double mPollutionReleasedByThrottle = 1.0/24.0; // divided by 24 because 24 circuit conf
+ public int mPollutionLargeGasTurbinePerSecond = 300;
+ public int mPollutionMultiSmelterPerSecond = 400;
+ public int mPollutionPyrolyseOvenPerSecond = 300;
+ public int mPollutionSmallCoalBoilerPerSecond = 20;
+ public int mPollutionHighPressureLavaBoilerPerSecond = 20;
+ public int mPollutionHighPressureCoalBoilerPerSecond = 30;
+ public int mPollutionBaseDieselGeneratorPerSecond = 200;
+ public double[] mPollutionDieselGeneratorReleasedByTier = new double[]{0.1, 1.0, 0.9, 0.8};
+ public int mPollutionBaseGasTurbinePerSecond = 200;
+ public double[] mPollutionGasTurbineReleasedByTier = new double[]{0.1, 1.0, 0.9, 0.8};
public final GT_UO_DimensionList mUndergroundOil = new GT_UO_DimensionList();
public int mTicksUntilNextCraftSound = 0;
public double mMagneticraftBonusOutputPercent = 100.0d;
@@ -236,6 +258,16 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
*/
public boolean mRenderIndicatorsOnHatch = true;
+ /**
+ * This enables the rendering of dirt particles if pollution is enabled too
+ */
+ public boolean mRenderDirtParticles = true;
+
+ /**
+ * This enables the rendering of the pollution fog if pollution is enabled too
+ */
+ public boolean mRenderPollutionFog = true;
+
public static final int GUI_ID_COVER_SIDE_BASE = 10; // Takes GUI ID 10 - 15
public static Map<String, Integer> oreDictBurnTimes = new HashMap<>();
diff --git a/src/main/java/gregtech/common/render/GT_PollutionRenderer.java b/src/main/java/gregtech/common/render/GT_PollutionRenderer.java
index 4353786a7b..305eadf145 100644
--- a/src/main/java/gregtech/common/render/GT_PollutionRenderer.java
+++ b/src/main/java/gregtech/common/render/GT_PollutionRenderer.java
@@ -6,6 +6,7 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.GT_Mod;
import gregtech.common.entities.GT_EntityFXPollution;
import gregtech.common.misc.GT_ClientPollutionMap;
import net.minecraft.block.Block;
@@ -122,6 +123,8 @@ public class GT_PollutionRenderer {
@SubscribeEvent(priority = EventPriority.LOWEST)
public void renderGTPollutionFog(EntityViewRenderEvent.RenderFogEvent event) {
+ if (!GT_Mod.gregtechproxy.mRenderPollutionFog) return;
+
if ((!DEBUG && Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode) ||
(fogIntensityLastTick <= 0 && fogIntensityLastTick >= FOG_START_EXP_RATIO))
return;
@@ -138,6 +141,8 @@ public class GT_PollutionRenderer {
@SubscribeEvent(priority = EventPriority.LOWEST)
public void renderGTPollutionFog(EntityViewRenderEvent.FogDensity event) {
+ if (!GT_Mod.gregtechproxy.mRenderPollutionFog) return;
+
if (!DEBUG && Minecraft.getMinecraft().thePlayer.capabilities.isCreativeMode)
return;
@@ -194,6 +199,7 @@ public class GT_PollutionRenderer {
// Adding dirt particles in the air
@SubscribeEvent(priority = EventPriority.HIGHEST)
public void onClientTick(TickEvent.ClientTickEvent event) {
+ if (!GT_Mod.gregtechproxy.mRenderDirtParticles) return;
Minecraft mc = Minecraft.getMinecraft();
if (mc == null)
return;
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java
index 41620dd711..3927241e79 100644
--- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java
+++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java
@@ -1,5 +1,6 @@
package gregtech.common.tileentities.boilers;
+import gregtech.GT_Mod;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.interfaces.ITexture;
@@ -30,7 +31,7 @@ public class GT_MetaTileEntity_Boiler_Bronze extends GT_MetaTileEntity_Boiler {
super(aID, aName, aNameRegional, new String[]{
"An early way to get Steam Power",
"Produces 120L of Steam per second",
- "Causes 20 Pollution per second"});
+ "Causes "+Integer.toString(GT_Mod.gregtechproxy.mPollutionSmallCoalBoilerPerSecond)+" Pollution per second"});
}
public GT_MetaTileEntity_Boiler_Bronze(int aID, String aName, String aNameRegional, String[] aDescription) {
@@ -99,7 +100,7 @@ public class GT_MetaTileEntity_Boiler_Bronze extends GT_MetaTileEntity_Boiler {
@Override
protected int getPollution() {
- return 20;
+ return GT_Mod.gregtechproxy.mPollutionSmallCoalBoilerPerSecond;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java
index aeb0a66173..18010c0886 100644
--- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java
+++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java
@@ -1,5 +1,6 @@
package gregtech.common.tileentities.boilers;
+import gregtech.GT_Mod;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.interfaces.ITexture;
@@ -28,13 +29,12 @@ public class GT_MetaTileEntity_Boiler_Lava extends GT_MetaTileEntity_Boiler {
public static final int ENERGY_PER_LAVA = 1;
public static final int CONSUMPTION_PER_HEATUP = 3;
public static final int PRODUCTION_PER_SECOND = 600;
- public static final int POLLUTION_PER_SECOND = 20;
public GT_MetaTileEntity_Boiler_Lava(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional, new String[]{
"A Boiler running off Lava",
"Produces " + PRODUCTION_PER_SECOND + "L of Steam per second",
- "Causes " + POLLUTION_PER_SECOND + " Pollution per second",
+ "Causes " + Integer.toString(GT_Mod.gregtechproxy.mPollutionHighPressureLavaBoilerPerSecond) + " Pollution per second",
"Consumes " + ((double) CONSUMPTION_PER_HEATUP / ENERGY_PER_LAVA) + "L of Lava every " + COOLDOWN_INTERVAL + " ticks when fully heat up"});
}
@@ -98,7 +98,7 @@ public class GT_MetaTileEntity_Boiler_Lava extends GT_MetaTileEntity_Boiler {
@Override
protected int getPollution() {
- return POLLUTION_PER_SECOND;
+ return GT_Mod.gregtechproxy.mPollutionHighPressureLavaBoilerPerSecond;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java
index ab51156868..98546ff09e 100644
--- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java
+++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java
@@ -1,5 +1,6 @@
package gregtech.common.tileentities.boilers;
+import gregtech.GT_Mod;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
@@ -24,7 +25,7 @@ public class GT_MetaTileEntity_Boiler_Steel extends GT_MetaTileEntity_Boiler_Bro
super(aID, aName, aNameRegional, new String[]{
"Faster than the Bronze Boiler",
"Produces 300L of Steam per second",
- "Causes 30 Pollution per second"});
+ "Causes "+Integer.toString(GT_Mod.gregtechproxy.mPollutionHighPressureCoalBoilerPerSecond)+" Pollution per second"});
}
public GT_MetaTileEntity_Boiler_Steel(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
@@ -81,7 +82,7 @@ public class GT_MetaTileEntity_Boiler_Steel extends GT_MetaTileEntity_Boiler_Bro
@Override
protected int getPollution() {
- return 30;
+ return GT_Mod.gregtechproxy.mPollutionHighPressureCoalBoilerPerSecond;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java
index 606af204e9..f025ed34ec 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java
@@ -1,6 +1,7 @@
package gregtech.common.tileentities.generators;
import cpw.mods.fml.common.registry.GameRegistry;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.ConfigCategories;
import gregtech.api.enums.ItemList;
@@ -19,14 +20,14 @@ import static gregtech.api.enums.Textures.BlockIcons.*;
public class GT_MetaTileEntity_DieselGenerator extends GT_MetaTileEntity_BasicGenerator {
- public static final int BASE_POLLUTION = 2;
+
public int mEfficiency;
public GT_MetaTileEntity_DieselGenerator(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, new String[]{
"Requires liquid Fuel",
- "Causes " + (int) (20 * BASE_POLLUTION * Math.pow(2, aTier - 1)) + " Pollution per second"});
+ "Causes " + (int) (GT_Mod.gregtechproxy.mPollutionBaseDieselGeneratorPerSecond * GT_Mod.gregtechproxy.mPollutionDieselGeneratorReleasedByTier[aTier]) + " Pollution per second"});
onConfigLoad();
}
@@ -165,6 +166,6 @@ public class GT_MetaTileEntity_DieselGenerator extends GT_MetaTileEntity_BasicGe
@Override
public int getPollution() {
- return (int) (BASE_POLLUTION * Math.pow(2, mTier - 1));
+ return (int) (GT_Mod.gregtechproxy.mPollutionBaseDieselGeneratorPerSecond * GT_Mod.gregtechproxy.mPollutionDieselGeneratorReleasedByTier[mTier]);
}
}
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java
index 02b42e2b2f..a0f6aeee64 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java
@@ -1,5 +1,6 @@
package gregtech.common.tileentities.generators;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.ConfigCategories;
import gregtech.api.interfaces.ITexture;
@@ -12,14 +13,14 @@ import gregtech.api.util.GT_Recipe;
import static gregtech.api.enums.Textures.BlockIcons.*;
public class GT_MetaTileEntity_GasTurbine extends GT_MetaTileEntity_BasicGenerator {
- public static final int BASE_POLLUTION = 1;
+
public int mEfficiency;
public GT_MetaTileEntity_GasTurbine(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, new String[]{
"Requires flammable Gasses",
- "Causes " + (int) (20 * BASE_POLLUTION * Math.pow(2, aTier - 1)) + " Pollution per second"});
+ "Causes " + (int) (GT_Mod.gregtechproxy.mPollutionBaseGasTurbinePerSecond * GT_Mod.gregtechproxy.mPollutionGasTurbineReleasedByTier[aTier]) + " Pollution per second"});
onConfigLoad();
}
@@ -137,6 +138,6 @@ public class GT_MetaTileEntity_GasTurbine extends GT_MetaTileEntity_BasicGenerat
@Override
public int getPollution() {
- return (int) (BASE_POLLUTION * Math.pow(2, mTier - 1));
+ return (int) (GT_Mod.gregtechproxy.mPollutionBaseGasTurbinePerSecond * GT_Mod.gregtechproxy.mPollutionGasTurbineReleasedByTier[mTier]);
}
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BrickedBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BrickedBlastFurnace.java
index 446965f3b6..617c191562 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BrickedBlastFurnace.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BrickedBlastFurnace.java
@@ -1,5 +1,6 @@
package gregtech.common.tileentities.machines.multi;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Textures;
import gregtech.api.enums.Textures.BlockIcons;
@@ -34,7 +35,7 @@ public class GT_MetaTileEntity_BrickedBlastFurnace extends GT_MetaTileEntity_Pri
.addInfo("Controller Block for the Bricked Blast Furnace")
.addInfo("Usable for Steel and general Pyrometallurgy")
.addInfo("Has a useful interface, unlike other gregtech multis")
- .addPollutionAmount(200)
+ .addPollutionAmount(GT_Mod.gregtechproxy.mPollutionPrimitveBlastFurnacePerSecond)
.addSeparator()
.beginStructureBlock(3, 4, 3, true)
.addController("Front center")
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java
index 058d5f3487..ef31a072ed 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java
@@ -1,5 +1,6 @@
package gregtech.common.tileentities.machines.multi;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.interfaces.ITexture;
@@ -69,7 +70,9 @@ public class GT_MetaTileEntity_Charcoal_Pit extends GT_MetaTileEntity_MultiBlock
mEfficiency = 10000;
mEfficiencyIncrease = 10000;
mMaxProgresstime = Math.max(1, mMaxProgresstime);
- GT_Pollution.addPollution(getBaseMetaTileEntity(), mMaxProgresstime * 10);
+
+ //adds all the pollution at once when the recipe starts
+ GT_Pollution.addPollution(getBaseMetaTileEntity(), mMaxProgresstime * getPollutionPerTick(null));
return true;
} else {
mEfficiency = 0;
@@ -199,8 +202,13 @@ public class GT_MetaTileEntity_Charcoal_Pit extends GT_MetaTileEntity_MultiBlock
}
@Override
- public int getPollutionPerTick(ItemStack aStack) {
- return 0;
+ public int getPollutionPerSecond(ItemStack aStack) {
+ return GT_Mod.gregtechproxy.mPollutionCharcoalPitPerSecond;
+ }
+
+ @Override
+ public int getPollutionPerTick(ItemStack aStack){
+ return getPollutionPerSecond(aStack)/20;
}
@Override
@@ -230,7 +238,7 @@ public class GT_MetaTileEntity_Charcoal_Pit extends GT_MetaTileEntity_MultiBlock
.addInfo("Controller for the Charcoal Pit")
.addInfo("Converts Logs into Brittle Charcoal blocks")
.addInfo("Will automatically start when valid")
- .addPollutionAmount(100)
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginVariableStructureBlock(3, 11, 3, 6, 3, 11, false)
.addStructureInfo("Can be up to 11x6x11 in size, shape doesn't matter")
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java
index c6a30ad085..fbe547f4f9 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java
@@ -2,6 +2,7 @@ package gregtech.common.tileentities.machines.multi;
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.gui.GT_GUIContainer_MultiMachine;
@@ -78,7 +79,7 @@ public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_EnhancedMu
.addInfo("Default: Produces 2048EU/t at 100% fuel efficiency")
.addInfo("Boosted: Produces 6144EU/t at 150% fuel efficiency")
.addInfo("You need to wait for it to reach 300% to output full power")
- .addPollutionAmount(20 * getPollutionPerTick(null))
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 4, false)
.addController("Front center")
@@ -264,8 +265,13 @@ public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_EnhancedMu
}
@Override
+ public int getPollutionPerSecond(ItemStack aStack) {
+ return GT_Mod.gregtechproxy.mPollutionLargeCombustionEnginePerSecond;
+ }
+
+ @Override
public int getPollutionPerTick(ItemStack aStack) {
- return 24;
+ return getPollutionPerSecond(aStack)/20;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java
index 43498a59fe..f975dd3abe 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java
@@ -3,6 +3,7 @@ package gregtech.common.tileentities.machines.multi;
import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable;
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.HeatingCoilLevel;
import gregtech.api.enums.Materials;
@@ -18,7 +19,6 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Outpu
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_StructureUtility;
import gregtech.api.util.GT_Utility;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
@@ -88,7 +88,7 @@ public class GT_MetaTileEntity_ElectricBlastFurnace extends GT_MetaTileEntity_Ab
.addInfo("Each 1800K over the min. Heat required allows for one upgraded overclock instead of normal")
.addInfo("Upgraded overclocks reduce recipe time to 25% (instead of 50%) and increase EU/t to 400%")
.addInfo("Additionally gives +100K for every tier past MV")
- .addPollutionAmount(20 * getPollutionPerTick(null))
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 4, 3, true)
.addController("Front bottom")
@@ -129,6 +129,16 @@ public class GT_MetaTileEntity_ElectricBlastFurnace extends GT_MetaTileEntity_Ab
}
@Override
+ public int getPollutionPerSecond(ItemStack aStack){
+ return GT_Mod.gregtechproxy.mPollutionEBFPerSecond;
+ }
+
+ @Override
+ public int getPollutionPerTick(ItemStack aStack){
+ return getPollutionPerSecond(aStack)/20;
+ }
+
+ @Override
public GT_Recipe.GT_Recipe_Map getRecipeMap() {
return GT_Recipe.GT_Recipe_Map.sBlastRecipes;
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ExtremeDieselEngine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ExtremeDieselEngine.java
index 8c3d474b8b..b96391e7ec 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ExtremeDieselEngine.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ExtremeDieselEngine.java
@@ -1,5 +1,6 @@
package gregtech.common.tileentities.machines.multi;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.gui.GT_GUIContainer_MultiMachine;
@@ -44,7 +45,7 @@ public class GT_MetaTileEntity_ExtremeDieselEngine extends GT_MetaTileEntity_Die
.addInfo("Default: Produces 8192EU/t at 100% fuel efficiency")
.addInfo("Boosted: Produces 32768EU/t at 400% fuel efficiency")
.addInfo("You need to wait for it to reach 400% to output full power")
- .addPollutionAmount(20 * getPollutionPerTick(null))
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 4, false)
.addController("Front center")
@@ -158,8 +159,13 @@ public class GT_MetaTileEntity_ExtremeDieselEngine extends GT_MetaTileEntity_Die
}
@Override
- public int getPollutionPerTick(ItemStack aStack) {
- return super.getPollutionPerTick(aStack) * 8;
+ public int getPollutionPerSecond(ItemStack aStack) {
+ return GT_Mod.gregtechproxy.mPollutionExtremeCombustionEnginePerSecond;
+ }
+
+ @Override
+ public int getPollutionPerTick(ItemStack aStack){
+ return getPollutionPerSecond(aStack)/20;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java
index b71d01ec07..a28dfc343e 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java
@@ -1,6 +1,7 @@
package gregtech.common.tileentities.machines.multi;
import com.gtnewhorizon.structurelib.structure.IStructureElement;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Textures;
import gregtech.api.enums.Textures.BlockIcons;
@@ -45,7 +46,7 @@ public class GT_MetaTileEntity_ImplosionCompressor extends GT_MetaTileEntity_Cub
tt.addMachineType("Implosion Compressor")
.addInfo("Explosions are fun")
.addInfo("Controller block for the Implosion Compressor")
- .addPollutionAmount(20 * getPollutionPerTick(null))
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 3, true)
.addController("Front center")
@@ -164,10 +165,14 @@ public class GT_MetaTileEntity_ImplosionCompressor extends GT_MetaTileEntity_Cub
@Override
public int getPollutionPerTick(ItemStack aStack) {
- return 500;
+ return getPollutionPerSecond(aStack)/20;
}
@Override
+ public int getPollutionPerSecond(ItemStack aStack){
+ return GT_Mod.gregtechproxy.mPollutionImplosionCompressorPerSecond;
+ }
+ @Override
public int getDamageToComponent(ItemStack aStack) {
return 0;
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java
index 2599d238a9..c46d732935 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java
@@ -73,6 +73,7 @@ public abstract class GT_MetaTileEntity_LargeBoiler extends GT_MetaTileEntity_En
private int excessProjectedEU = 0; //Eliminate rounding errors from throttling the boiler
private int mCasingAmount;
private int mFireboxAmount;
+ protected int pollutionPerSecond = 1; //placeholder for the child classes
public GT_MetaTileEntity_LargeBoiler(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
@@ -90,7 +91,7 @@ public abstract class GT_MetaTileEntity_LargeBoiler extends GT_MetaTileEntity_En
.addInfo("Produces " + (getEUt() * 40) * (runtimeBoost(20) / 20f) + "L of Steam with 1 Coal at " + getEUt() * 40 + "L/s")//?
.addInfo("A programmed circuit in the main block throttles the boiler (-1000L/s per config)")
.addInfo(String.format("Diesel fuels have 1/4 efficiency - Takes %.2f seconds to heat up", 500.0 / getEfficiencyIncrease()))//? check semifluid again
- .addPollutionAmount(20 * getPollutionPerTick(null))
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 5, 3, false)
.addController("Front bottom")
@@ -132,6 +133,21 @@ public abstract class GT_MetaTileEntity_LargeBoiler extends GT_MetaTileEntity_En
public abstract int getEfficiencyIncrease();
+ public int getIntegratedCircuitConfig(){
+ return integratedCircuitConfig;
+ }
+
+ @Override
+ public int getPollutionPerSecond(ItemStack aStack) {
+ //allows for 0 pollution if circuit throttle is too high
+ return Math.max(0, (int) (pollutionPerSecond * (1-GT_Mod.gregtechproxy.mPollutionReleasedByThrottle*getIntegratedCircuitConfig())));
+ }
+
+ @Override
+ public int getPollutionPerTick(ItemStack aStack){
+ return getPollutionPerSecond(aStack)/20;
+ }
+
@Override
public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
if (aSide == aFacing) {
@@ -301,12 +317,6 @@ public abstract class GT_MetaTileEntity_LargeBoiler extends GT_MetaTileEntity_En
}
@Override
- public int getPollutionPerTick(ItemStack aStack) {
- int adjustedEUOutput = Math.max(25, getEUt() - 25 * integratedCircuitConfig);
- return Math.max(1, 12 * adjustedEUOutput / getEUt());
- }
-
- @Override
public int getDamageToComponent(ItemStack aStack) {
return 0;
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Bronze.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Bronze.java
index 9aeff9b3d0..fda98a431f 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Bronze.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Bronze.java
@@ -1,24 +1,29 @@
package gregtech.common.tileentities.machines.multi;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
public class GT_MetaTileEntity_LargeBoiler_Bronze extends GT_MetaTileEntity_LargeBoiler {
+
public GT_MetaTileEntity_LargeBoiler_Bronze(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
+ pollutionPerSecond = GT_Mod.gregtechproxy.mPollutionLargeBronzeBoilerPerSecond;
}
public GT_MetaTileEntity_LargeBoiler_Bronze(String aName) {
super(aName);
+ pollutionPerSecond = GT_Mod.gregtechproxy.mPollutionLargeBronzeBoilerPerSecond;
}
@Override
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_LargeBoiler_Bronze(this.mName);
}
-
+
@Override
public String getCasingMaterial(){
return "Bronze";
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Steel.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Steel.java
index d1188955f4..583f26082c 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Steel.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Steel.java
@@ -1,24 +1,28 @@
package gregtech.common.tileentities.machines.multi;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
public class GT_MetaTileEntity_LargeBoiler_Steel extends GT_MetaTileEntity_LargeBoiler {
public GT_MetaTileEntity_LargeBoiler_Steel(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
+ pollutionPerSecond = GT_Mod.gregtechproxy.mPollutionLargeSteelBoilerPerSecond;
}
public GT_MetaTileEntity_LargeBoiler_Steel(String aName) {
super(aName);
+ pollutionPerSecond = GT_Mod.gregtechproxy.mPollutionLargeSteelBoilerPerSecond;
}
@Override
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_LargeBoiler_Steel(this.mName);
}
-
+
@Override
public String getCasingMaterial(){
return "Steel";
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Titanium.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Titanium.java
index e67cf64723..01f59d1f99 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Titanium.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Titanium.java
@@ -1,24 +1,28 @@
package gregtech.common.tileentities.machines.multi;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
public class GT_MetaTileEntity_LargeBoiler_Titanium extends GT_MetaTileEntity_LargeBoiler {
public GT_MetaTileEntity_LargeBoiler_Titanium(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
+ pollutionPerSecond = GT_Mod.gregtechproxy.mPollutionLargeTitaniumBoilerPerSecond;
}
public GT_MetaTileEntity_LargeBoiler_Titanium(String aName) {
super(aName);
+ pollutionPerSecond = GT_Mod.gregtechproxy.mPollutionLargeTitaniumBoilerPerSecond;
}
@Override
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_LargeBoiler_Titanium(this.mName);
}
-
+
@Override
public String getCasingMaterial(){
return "Titanium";
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_TungstenSteel.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_TungstenSteel.java
index 78e7d25752..b14ce3e5f0 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_TungstenSteel.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_TungstenSteel.java
@@ -1,24 +1,28 @@
package gregtech.common.tileentities.machines.multi;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
public class GT_MetaTileEntity_LargeBoiler_TungstenSteel extends GT_MetaTileEntity_LargeBoiler {
public GT_MetaTileEntity_LargeBoiler_TungstenSteel(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
+ pollutionPerSecond = GT_Mod.gregtechproxy.mPollutionLargeTungstenSteelBoilerPerSecond;
}
public GT_MetaTileEntity_LargeBoiler_TungstenSteel(String aName) {
super(aName);
+ pollutionPerSecond = GT_Mod.gregtechproxy.mPollutionLargeTungstenSteelBoilerPerSecond;
}
@Override
public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_LargeBoiler_TungstenSteel(this.mName);
}
-
+
@Override
public String getCasingMaterial(){
return "TungstenSteel";
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java
index 20f795572e..6b58f8a44d 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java
@@ -1,5 +1,6 @@
package gregtech.common.tileentities.machines.multi;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
@@ -41,7 +42,7 @@ public class GT_MetaTileEntity_LargeTurbine_Gas extends GT_MetaTileEntity_LargeT
tt.addMachineType("Gas Turbine")
.addInfo("Controller block for the Large Gas Turbine")
.addInfo("Needs a Turbine, place inside controller")
- .addPollutionAmount(20 * getPollutionPerTick(null))
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 4, true)
.addController("Front center")
@@ -82,8 +83,13 @@ public class GT_MetaTileEntity_LargeTurbine_Gas extends GT_MetaTileEntity_LargeT
}
@Override
- public int getPollutionPerTick(ItemStack aStack) {
- return 15;
+ public int getPollutionPerSecond(ItemStack aStack) {
+ return GT_Mod.gregtechproxy.mPollutionLargeGasTurbinePerSecond;
+ }
+
+ @Override
+ public int getPollutionPerTick(ItemStack aStack){
+ return getPollutionPerSecond(aStack)/20;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java
index 37f56deef5..ca334e5bd6 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java
@@ -3,6 +3,7 @@ package gregtech.common.tileentities.machines.multi;
import com.gtnewhorizon.structurelib.alignment.constructable.IConstructable;
import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.HeatingCoilLevel;
import gregtech.api.gui.GT_GUIContainer_MultiMachine;
@@ -74,7 +75,7 @@ public class GT_MetaTileEntity_MultiFurnace extends GT_MetaTileEntity_AbstractMu
.addInfo("Controller Block for the Multi Smelter")
.addInfo("Smelts up to 8-128 items at once")
.addInfo("Items smelted increases with coil tier")
- .addPollutionAmount(20 * getPollutionPerTick(null))
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(3, 3, 3, true)
.addController("Front bottom")
@@ -113,6 +114,16 @@ public class GT_MetaTileEntity_MultiFurnace extends GT_MetaTileEntity_AbstractMu
}
@Override
+ public int getPollutionPerSecond(ItemStack aStack){
+ return GT_Mod.gregtechproxy.mPollutionMultiSmelterPerSecond;
+ }
+
+ @Override
+ public int getPollutionPerTick(ItemStack aStack){
+ return getPollutionPerSecond(aStack)/20;
+ }
+
+ @Override
public boolean checkRecipe(ItemStack aStack) {
ArrayList<ItemStack> tInputList = getStoredInputs();
if (tInputList.isEmpty())
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java
index 61fb394841..84d200d4f9 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java
@@ -234,7 +234,7 @@ public abstract class GT_MetaTileEntity_PrimitiveBlastFurnace extends MetaTileEn
GT_Pollution.addPollution(this.getBaseMetaTileEntity().getWorld(),
new ChunkPosition(this.getBaseMetaTileEntity().getXCoord(), this.getBaseMetaTileEntity().getYCoord(),
this.getBaseMetaTileEntity().getZCoord()),
- 200);
+ GT_Mod.gregtechproxy.mPollutionPrimitveBlastFurnacePerSecond);
}
aBaseMetaTileEntity.setActive((this.mMaxProgresstime > 0) && (this.mMachine));
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java
index 9542c54ce0..d60f38fdc9 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java
@@ -4,6 +4,7 @@ import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.IStructureElement;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
import cpw.mods.fml.common.Loader;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.HeatingCoilLevel;
import gregtech.api.enums.Textures;
@@ -91,7 +92,7 @@ public class GT_MetaTileEntity_PyrolyseOven extends GT_MetaTileEntity_EnhancedMu
.addInfo("Processing speed scales linearly with Coil tier:")
.addInfo("CuNi: 50%, FeAlCr: 100%, Ni4Cr: 150%, Fe50CW: 200%, etc.")
.addInfo("EU/t is not affected by Coil tier")
- .addPollutionAmount(20 * getPollutionPerTick(null))
+ .addPollutionAmount(getPollutionPerSecond(null))
.addSeparator()
.beginStructureBlock(5, 4, 5, true)
.addController("Front center")
@@ -225,8 +226,13 @@ public class GT_MetaTileEntity_PyrolyseOven extends GT_MetaTileEntity_EnhancedMu
}
@Override
- public int getPollutionPerTick(ItemStack aStack) {
- return 30;
+ public int getPollutionPerSecond(ItemStack aStack) {
+ return GT_Mod.gregtechproxy.mPollutionPyrolyseOvenPerSecond;
+ }
+
+ @Override
+ public int getPollutionPerTick(ItemStack aStack){
+ return getPollutionPerSecond(aStack)/20;
}
@Override