mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
leaded fuel pollution
This commit is contained in:
parent
58b08ac039
commit
1c7d8e41f0
@ -32,6 +32,8 @@ public class PollutionHandler {
|
||||
|
||||
/** Baserate of soot generation for a furnace-equivalent machine per second */
|
||||
public static final float SOOT_PER_SECOND = 1F / 25F;
|
||||
/** Baserate of heavy metal generation, balanced around the soot values of combustion engines */
|
||||
public static final float HEAVY_METAL_PER_SECOND = 1F / 50F;
|
||||
|
||||
///////////////////////
|
||||
/// UTILITY METHODS ///
|
||||
|
||||
@ -167,6 +167,7 @@ public class Fluids {
|
||||
public static final FT_NoContainer NOCON = new FT_NoContainer();
|
||||
public static final FT_NoID NOID = new FT_NoID();
|
||||
public static final FT_Delicious DELICIOUS = new FT_Delicious();
|
||||
public static final FT_Leaded LEADED = new FT_Leaded();
|
||||
|
||||
public static void init() {
|
||||
|
||||
@ -255,9 +256,9 @@ public class Fluids {
|
||||
SALIENT = new FluidType("SALIENT", 0x457F2D, 0, 0, 0, EnumSymbol.NONE).addTraits(DELICIOUS, LIQUID, VISCOUS);
|
||||
XPJUICE = new FluidType("XPJUICE", 0xBBFF09, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS);
|
||||
ENDERJUICE = new FluidType("ENDERJUICE", 0x127766, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS);
|
||||
PETROIL_LEADED = new FluidType("PETROIL_LEADED", 0x44413d, 1, 3, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2331F6)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 450_000), LIQUID);
|
||||
GASOLINE_LEADED = new FluidType("GASOLINE_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2F775A)).addTraits(new FT_Flammable(400_000), new FT_Combustible(FuelGrade.HIGH, 1_500_000), LIQUID);
|
||||
COALGAS_LEADED = new FluidType("COALGAS_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x1E155F)).addTraits(new FT_Flammable(75_000), new FT_Combustible(FuelGrade.MEDIUM, 250_000), LIQUID);
|
||||
PETROIL_LEADED = new FluidType("PETROIL_LEADED", 0x44413d, 1, 3, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2331F6)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 450_000), LIQUID, LEADED);
|
||||
GASOLINE_LEADED = new FluidType("GASOLINE_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2F775A)).addTraits(new FT_Flammable(400_000), new FT_Combustible(FuelGrade.HIGH, 1_500_000), LIQUID, LEADED);
|
||||
COALGAS_LEADED = new FluidType("COALGAS_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x1E155F)).addTraits(new FT_Flammable(75_000), new FT_Combustible(FuelGrade.MEDIUM, 250_000), LIQUID, LEADED);
|
||||
SULFURIC_ACID = new FluidType("SULFURIC_ACID", 0xB0AA64, 3, 0, 2, EnumSymbol.ACID).addTraits(new FT_Corrosive(50), LIQUID);
|
||||
COOLANT_HOT = new FluidType("COOLANT_HOT", 0x99525E, 1, 0, 0, EnumSymbol.NONE).setTemp(600).addTraits(LIQUID);
|
||||
MUG = new FluidType("MUG", 0x4B2D28, 0, 0, 0, EnumSymbol.NONE).addTraits(DELICIOUS, LIQUID);
|
||||
|
||||
@ -33,6 +33,7 @@ public abstract class FluidTrait {
|
||||
traitNameMap.put("amat", FT_Amat.class);
|
||||
traitNameMap.put("leadcontainer", FT_LeadContainer.class);
|
||||
traitNameMap.put("delicious", FT_Delicious.class);
|
||||
traitNameMap.put("leaded", FT_Leaded.class);
|
||||
traitNameMap.put("noid", FT_NoID.class);
|
||||
traitNameMap.put("nocontainer", FT_NoContainer.class);
|
||||
}
|
||||
|
||||
@ -49,10 +49,18 @@ public class FluidTraitSimple {
|
||||
info.add(EnumChatFormatting.DARK_RED + "[Requires hazardous material tank to hold]");
|
||||
}
|
||||
}
|
||||
|
||||
public static class FT_Delicious extends FluidTrait {
|
||||
@Override public void addInfoHidden(List<String> info) {
|
||||
info.add(EnumChatFormatting.DARK_GREEN + "[Delicious]");
|
||||
}}
|
||||
}
|
||||
}
|
||||
|
||||
public static class FT_Leaded extends FluidTrait {
|
||||
@Override public void addInfoHidden(List<String> info) {
|
||||
info.add(EnumChatFormatting.BLUE + "[Leaded Fuel]");
|
||||
}
|
||||
}
|
||||
|
||||
public static class FT_NoID extends FluidTrait { }
|
||||
public static class FT_NoContainer extends FluidTrait { }
|
||||
|
||||
@ -9,6 +9,7 @@ import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.inventory.fluid.trait.FT_Flammable;
|
||||
import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Leaded;
|
||||
import com.hbm.inventory.gui.GUIOilburner;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.tileentity.IGUIProvider;
|
||||
@ -73,7 +74,10 @@ public class TileEntityHeaterOilburner extends TileEntityMachineBase implements
|
||||
|
||||
this.heatEnergy += heat * toBurn;
|
||||
|
||||
if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * burnRate * 0.5F);
|
||||
if(worldObj.getTotalWorldTime() % 20 == 0) {
|
||||
PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * burnRate * 0.5F);
|
||||
if(tank.getTankType().hasTrait(FT_Leaded.class)) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * burnRate * 0.5F);
|
||||
}
|
||||
|
||||
shouldCool = false;
|
||||
}
|
||||
|
||||
@ -9,6 +9,7 @@ import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.inventory.fluid.trait.FT_Combustible;
|
||||
import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Leaded;
|
||||
import com.hbm.inventory.gui.GUICombustionEngine;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.items.machine.ItemPistons.EnumPistonType;
|
||||
@ -86,7 +87,10 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachineBase imp
|
||||
this.power += toBurn * (trait.getCombustionEnergy() / 10_000D) * eff;
|
||||
fill -= toBurn;
|
||||
|
||||
if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * setting * 0.1F);
|
||||
if(worldObj.getTotalWorldTime() % 20 == 0) {
|
||||
PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * setting * 0.1F);
|
||||
if(tank.getTankType().hasTrait(FT_Leaded.class)) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * setting * 0.1F);
|
||||
}
|
||||
|
||||
if(toBurn > 0) {
|
||||
wasOn = true;
|
||||
|
||||
@ -6,6 +6,8 @@ import java.util.HashMap;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.stream.JsonWriter;
|
||||
import com.hbm.handler.pollution.PollutionHandler;
|
||||
import com.hbm.handler.pollution.PollutionHandler.PollutionType;
|
||||
import com.hbm.interfaces.IFluidAcceptor;
|
||||
import com.hbm.interfaces.IFluidContainer;
|
||||
import com.hbm.inventory.FluidContainerRegistry;
|
||||
@ -15,6 +17,7 @@ import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.inventory.fluid.trait.FT_Combustible;
|
||||
import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade;
|
||||
import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Leaded;
|
||||
import com.hbm.inventory.gui.GUIMachineDiesel;
|
||||
import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.Library;
|
||||
@ -203,6 +206,9 @@ public class TileEntityMachineDiesel extends TileEntityMachineBase implements IE
|
||||
tank.setFill(tank.getFill() - 1);
|
||||
if(tank.getFill() < 0)
|
||||
tank.setFill(0);
|
||||
|
||||
PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 0.5F);
|
||||
if(tank.getTankType().hasTrait(FT_Leaded.class)) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * 0.5F);
|
||||
|
||||
if(power + getHEFromFuel() <= powerCap) {
|
||||
power += getHEFromFuel();
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.2 KiB |
Loading…
x
Reference in New Issue
Block a user