big smoke

This commit is contained in:
Bob 2023-07-01 19:19:09 +02:00
parent fcfa725f0b
commit 8bc1f73075
19 changed files with 43 additions and 23 deletions

View File

@ -6,9 +6,9 @@
* Can be grilled
* Fluid valves
* come in manual and restone variants
* Chimney
* Most polluting machines can now be connected to a chimney with exhaust pipes
* The chimney will vent the pollution created by the machines, reducing it by 75%
* Smokestack
* Most polluting machines can now be connected to a smokestack with exhaust pipes
* The smokestack will vent the pollution created by the machines, reducing it by 75%
* Compatible with soot, heavy metal and poison pollution
## Changed

View File

@ -417,6 +417,13 @@ public class AnvilRecipes {
},
new AnvilOutput(new ItemStack(ModBlocks.substation))).setTier(2));
constructionRecipes.add(new AnvilConstructionRecipe(
new AStack[] {
new OreDictStack(STEEL.plate(), 4),
new ComparableStack(Blocks.brick_block, 16)
},
new AnvilOutput(new ItemStack(ModBlocks.chimney_brick))).setTier(2));
constructionRecipes.add(new AnvilConstructionRecipe(
new AStack[] {
new ComparableStack(ModItems.tank_steel, 1),

View File

@ -34,9 +34,9 @@ public class ItemPollutionDetector extends Item {
heavymetal = ((int) (heavymetal * 100)) / 100F;
fallout = ((int) (fallout * 100)) / 100F;
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Soot: " + soot).color(EnumChatFormatting.YELLOW).flush(), 100, 2000), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Poison: " + poison).color(EnumChatFormatting.YELLOW).flush(), 101, 2000), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Heavy metal: " + heavymetal).color(EnumChatFormatting.YELLOW).flush(), 102, 2000), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Fallout: " + fallout).color(EnumChatFormatting.YELLOW).flush(), 103, 2000), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Soot: " + soot).color(EnumChatFormatting.YELLOW).flush(), 100, 4000), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Poison: " + poison).color(EnumChatFormatting.YELLOW).flush(), 101, 4000), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Heavy metal: " + heavymetal).color(EnumChatFormatting.YELLOW).flush(), 102, 4000), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Fallout: " + fallout).color(EnumChatFormatting.YELLOW).flush(), 103, 4000), (EntityPlayerMP) entity);
}
}

View File

@ -25,13 +25,15 @@ public abstract class TileEntityMachinePolluting extends TileEntityMachineBase i
public void pollute(PollutionType type, float amount) {
FluidTank tank = type == PollutionType.SOOT ? smoke : type == PollutionType.HEAVYMETAL ? smoke_leaded : smoke_poison;
int fluidAmount = (int) Math.ceil(amount * 40);
int fluidAmount = (int) Math.ceil(amount * 100);
tank.setFill(tank.getFill() + fluidAmount);
if(tank.getFill() > tank.getMaxFill()) {
int overflow = tank.getFill() - tank.getMaxFill();
tank.setFill(tank.getMaxFill());
PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, type, overflow / 40F);
PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, type, overflow / 100F);
if(worldObj.rand.nextInt(3) == 0) worldObj.playSoundEffect(xCoord, yCoord, zCoord, "random.fizz", 0.1F, 1.5F);
}
}

View File

@ -40,9 +40,12 @@ public class TileEntityChimneyBrick extends TileEntityLoadedBase implements IFlu
NBTTagCompound data = new NBTTagCompound();
data.setInteger("onTicks", onTicks);
INBTPacketReceiver.networkPack(this, data, 150);
if(onTicks > 0) onTicks--;
} else {
if(onTicks < 0) {
if(onTicks > 0) {
if(worldObj.getTotalWorldTime() % 2 == 0) {
NBTTagCompound fx = new NBTTagCompound();
@ -77,9 +80,9 @@ public class TileEntityChimneyBrick extends TileEntityLoadedBase implements IFlu
fluid *= 0.25;
if(type == Fluids.SMOKE) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, fluid / 40F);
if(type == Fluids.SMOKE_LEADED) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, fluid / 40F);
if(type == Fluids.SMOKE_POISON) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.POISON, fluid / 40F);
if(type == Fluids.SMOKE) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, fluid / 100F);
if(type == Fluids.SMOKE_LEADED) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, fluid / 100F);
if(type == Fluids.SMOKE_POISON) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.POISON, fluid / 100F);
return 0;
}

View File

@ -40,7 +40,7 @@ public class TileEntityDiFurnace extends TileEntityMachinePolluting implements I
public byte sideLower = 1;
public TileEntityDiFurnace() {
super(4, 1200);
super(4, 50);
}
@Override

View File

@ -34,7 +34,7 @@ public abstract class TileEntityFireboxBase extends TileEntityMachinePolluting i
public TileEntityFireboxBase() {
super(2, 1_200);
super(2, 50);
}
@Override

View File

@ -42,7 +42,7 @@ public class TileEntityFurnaceCombination extends TileEntityMachinePolluting imp
public FluidTank tank;
public TileEntityFurnaceCombination() {
super(4, 1_200);
super(4, 50);
this.tank = new FluidTank(Fluids.NONE, 24_000);
}

View File

@ -35,7 +35,7 @@ public class TileEntityHeaterOilburner extends TileEntityMachinePolluting implem
public static final int maxHeatEnergy = 100_000;
public TileEntityHeaterOilburner() {
super(3, 2_000);
super(3, 100);
tank = new FluidTank(Fluids.HEATINGOIL, 16000);
}

View File

@ -51,7 +51,7 @@ public class TileEntityMachineCoal extends TileEntityMachinePolluting implements
public static double fuelMod = 0.5D;
public TileEntityMachineCoal() {
super(4, 120);
super(4, 50);
tank = new FluidTank(Fluids.WATER, waterCap, 0);
}

View File

@ -52,7 +52,7 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin
public int tenth = 0;
public TileEntityMachineCombustionEngine() {
super(5, 1_200);
super(5, 50);
this.tank = new FluidTank(Fluids.DIESEL, 24_000, 0);
}

View File

@ -61,7 +61,7 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
private static final int[] slots_side = new int[] { 2 };
public TileEntityMachineDiesel() {
super(5, 200);
super(5, 100);
tank = new FluidTank(Fluids.DIESEL, 4_000, 0);
}
@ -323,6 +323,6 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
@Override
public FluidTank[] getSendingTanks() {
return null;
return this.getSmokeTanks();
}
}

View File

@ -69,7 +69,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachinePolluting impl
//TODO particles from heat exchanger maybe? maybe in a future
public TileEntityMachineTurbineGas() {
super(2, 5_000);
super(2, 200);
this.tanks = new FluidTank[4];
tanks[0] = new FluidTank(Fluids.GAS, 100000);
tanks[1] = new FluidTank(Fluids.LUBRICANT, 16000);

View File

@ -64,7 +64,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem
private AudioWrapper audio;
public TileEntityMachineTurbofan() {
super(5, 4_000);
super(5, 150);
tank = new FluidTank(Fluids.KEROSENE, 24000);
blood = new FluidTank(Fluids.BLOOD, 24000);
}

View File

@ -707,6 +707,9 @@ hbmfluid.sas3=Schrabidiumtrisulfat
hbmfluid.schrabidic=Schrabidische Säure
hbmfluid.seedslurry=Saatgemisch
hbmfluid.smear=Industrieöl
hbmfluid.smoke=Abgas
hbmfluid.smoke_leaded=Bleiabgas
hbmfluid.smoke_poison=Giftige Abgase
hbmfluid.solvent=Lösungsmittel
hbmfluid.sourgas=Saures Gas
hbmfluid.spentsteam=Niedrigdruckdampf
@ -3624,6 +3627,7 @@ tile.charge_semtex.name=Semtex-Bergbauladung
tile.charger.name=Ladestation
tile.cheater_virus.name=Geliertes Euphemium
tile.cheater_virus_seed.name=Instabiler Euphemiumschrabid-Block
tile.chimney_brick.name=Schornstein
tile.chlorine_gas.name=Chlorgas
tile.cluster_aluminium.name=Aluminiumerzcluster
tile.cluster_copper.name=Kupfererzcluster

View File

@ -1324,6 +1324,9 @@ hbmfluid.sas3=Schrabidium Trisulfide
hbmfluid.schrabidic=Schrabidic Acid
hbmfluid.seedslurry=Seeding Slurry
hbmfluid.smear=Industrial Oil
hbmfluid.smoke=Smoke
hbmfluid.smoke_leaded=Leaded Smoke
hbmfluid.smoke_poison=Poison Smoke
hbmfluid.solvent=Solvent
hbmfluid.sourgas=Sour Gas
hbmfluid.spentsteam=Low-Pressure Steam
@ -4487,6 +4490,7 @@ tile.charge_semtex.name=Semtex Mining Charge
tile.charger.name=Charging Station
tile.cheater_virus.name=Gelid Euphemium
tile.cheater_virus_seed.name=Unstable Euphemium Schrabide Block
tile.chimney_brick.name=Smokestack
tile.chlorine_gas.name=Chlorine Gas
tile.cluster_aluminium.name=Aluminium Ore Cluster
tile.cluster_copper.name=Copper Ore Cluster

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB