From 8bc1f730758071cb1faa046dd7cf5b726e90f7dd Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 1 Jul 2023 19:19:09 +0200 Subject: [PATCH] big smoke --- changelog | 6 +++--- .../inventory/recipes/anvil/AnvilRecipes.java | 7 +++++++ .../hbm/items/tool/ItemPollutionDetector.java | 8 ++++---- .../tileentity/TileEntityMachinePolluting.java | 6 ++++-- .../machine/TileEntityChimneyBrick.java | 11 +++++++---- .../tileentity/machine/TileEntityDiFurnace.java | 2 +- .../machine/TileEntityFireboxBase.java | 2 +- .../machine/TileEntityFurnaceCombination.java | 2 +- .../machine/TileEntityHeaterOilburner.java | 2 +- .../machine/TileEntityMachineCoal.java | 2 +- .../TileEntityMachineCombustionEngine.java | 2 +- .../machine/TileEntityMachineDiesel.java | 4 ++-- .../machine/TileEntityMachineTurbineGas.java | 2 +- .../machine/TileEntityMachineTurbofan.java | 2 +- src/main/resources/assets/hbm/lang/de_DE.lang | 4 ++++ src/main/resources/assets/hbm/lang/en_US.lang | 4 ++++ .../assets/hbm/textures/gui/fluids/smoke.png | Bin 0 -> 8176 bytes .../hbm/textures/gui/fluids/smoke_leaded.png | Bin 0 -> 7062 bytes .../hbm/textures/gui/fluids/smoke_poison.png | Bin 0 -> 5821 bytes 19 files changed, 43 insertions(+), 23 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/smoke.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/smoke_leaded.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/smoke_poison.png diff --git a/changelog b/changelog index 4ca915e72..f51dde21b 100644 --- a/changelog +++ b/changelog @@ -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 diff --git a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java index 260c22ccb..96fbafedd 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -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), diff --git a/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java index 9b1a14ec3..4ff3cc55f 100644 --- a/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java +++ b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java @@ -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); } } diff --git a/src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java b/src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java index 1b3af3793..ffba5d8a1 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java +++ b/src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java @@ -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); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java index 071d1e8b5..7d636a718 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java @@ -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; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java index 55e9712f8..1a10e1a7e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java @@ -40,7 +40,7 @@ public class TileEntityDiFurnace extends TileEntityMachinePolluting implements I public byte sideLower = 1; public TileEntityDiFurnace() { - super(4, 1200); + super(4, 50); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java index 3923448d7..e34d8eb8e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java @@ -34,7 +34,7 @@ public abstract class TileEntityFireboxBase extends TileEntityMachinePolluting i public TileEntityFireboxBase() { - super(2, 1_200); + super(2, 50); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java index b5a762026..de325d440 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java @@ -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); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java index 578b24826..41bb5ed92 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java @@ -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); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java index 34c858098..88e45d6b7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java @@ -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); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java index d824817ee..38fce4e2a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java @@ -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); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java index 3159686a9..f1c7097e7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java @@ -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(); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java index 033969173..b98d7daf0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java @@ -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); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index c0f0575bd..53e056569 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -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); } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 1a4bc80b9..2264cc015 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -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 diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 75ec980cc..98af28e56 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -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 diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/smoke.png b/src/main/resources/assets/hbm/textures/gui/fluids/smoke.png new file mode 100644 index 0000000000000000000000000000000000000000..1e275e7d354631a878ebb4905f1f2797be37213a GIT binary patch literal 8176 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 AKL7v# literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/smoke_poison.png b/src/main/resources/assets/hbm/textures/gui/fluids/smoke_poison.png new file mode 100644 index 0000000000000000000000000000000000000000..4af9e902805c8dcc7080995ac5b06973e2300d2c GIT binary patch literal 5821 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 Hu0mjf*RSoH literal 0 HcmV?d00001