From 6ca2fc463a82469117b027db85b500c3bbe192cd Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 12 Feb 2024 10:10:53 +0100 Subject: [PATCH] let's see if this does anything --- changelog | 1 + .../java/api/hbm/fluid/IFluidConnector.java | 3 ++- src/main/java/api/hbm/fluid/PipeNet.java | 6 +++--- .../java/com/hbm/blocks/machine/BlockPWR.java | 13 ++++++++++++ .../com/hbm/blocks/machine/Spotlight.java | 20 +++++++----------- .../com/hbm/sound/AudioWrapperClient.java | 4 +++- .../hbm/tileentity/TileEntityDoorGeneric.java | 3 --- .../TileEntityMachineStrandCaster.java | 12 +++++++++++ .../network/TileEntityPipeBaseNT.java | 13 ++++++++++++ .../network/TileEntityPipeExhaust.java | 13 ++++++++++++ .../assets/hbm/textures/blocks/ash.png | Bin 718 -> 745 bytes 11 files changed, 68 insertions(+), 20 deletions(-) diff --git a/changelog b/changelog index f40cf352c..be9868a23 100644 --- a/changelog +++ b/changelog @@ -47,6 +47,7 @@ * Fallout rain now uses the same variable length code that the MK5 uses for optimal tick utilization, making it a lot faster * Lighter sellafite variants should no longer replace darker ones in overlapping craters, making bombed-out landscapes look more natural * Fallout's range-based effects now have a more natural gradient instead of creating smooth rings +* Fallout has been made significantly darker and less saturated to blend in with the crater more ## Fixed * Fixed dupe caused by shift-clicking ashes out of the bricked furnace diff --git a/src/main/java/api/hbm/fluid/IFluidConnector.java b/src/main/java/api/hbm/fluid/IFluidConnector.java index a47b56def..a51bcdeb2 100644 --- a/src/main/java/api/hbm/fluid/IFluidConnector.java +++ b/src/main/java/api/hbm/fluid/IFluidConnector.java @@ -4,13 +4,14 @@ import com.hbm.inventory.fluid.FluidType; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import api.hbm.energy.ILoadedTile; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public interface IFluidConnector { +public interface IFluidConnector extends ILoadedTile { /** * Returns the amount of fluid that remains diff --git a/src/main/java/api/hbm/fluid/PipeNet.java b/src/main/java/api/hbm/fluid/PipeNet.java index cab1fd29f..3dacf2f0b 100644 --- a/src/main/java/api/hbm/fluid/PipeNet.java +++ b/src/main/java/api/hbm/fluid/PipeNet.java @@ -90,9 +90,9 @@ public class PipeNet implements IPipeNet { @Override public long transferFluid(long fill, int pressure) { - - this.subscribers.removeIf(x -> - x == null || !(x instanceof TileEntity) || ((TileEntity)x).isInvalid() + + subscribers.removeIf(x -> + x == null || !(x instanceof TileEntity) || ((TileEntity)x).isInvalid() || !x.isLoaded() ); if(this.subscribers.isEmpty()) diff --git a/src/main/java/com/hbm/blocks/machine/BlockPWR.java b/src/main/java/com/hbm/blocks/machine/BlockPWR.java index eeecb464a..06b650798 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockPWR.java +++ b/src/main/java/com/hbm/blocks/machine/BlockPWR.java @@ -316,5 +316,18 @@ public class BlockPWR extends BlockContainer implements IBlockCT { return false; } + + public boolean isLoaded = true; + + @Override + public boolean isLoaded() { + return isLoaded; + } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + this.isLoaded = false; + } } } diff --git a/src/main/java/com/hbm/blocks/machine/Spotlight.java b/src/main/java/com/hbm/blocks/machine/Spotlight.java index 035405b0f..b5f7b0c56 100644 --- a/src/main/java/com/hbm/blocks/machine/Spotlight.java +++ b/src/main/java/com/hbm/blocks/machine/Spotlight.java @@ -38,6 +38,8 @@ public class Spotlight extends Block implements ISpotlight { this.beamLength = beamLength; this.type = type; this.isOn = isOn; + + this.setHardness(1F); if(isOn) setLightLevel(1.0F); } @@ -291,23 +293,17 @@ public class Spotlight extends Block implements ISpotlight { } protected Block getOff() { - if(this == ModBlocks.spotlight_incandescent) - return ModBlocks.spotlight_incandescent_off; - if(this == ModBlocks.spotlight_fluoro) - return ModBlocks.spotlight_fluoro_off; - if(this == ModBlocks.spotlight_halogen) - return ModBlocks.spotlight_halogen_off; + if(this == ModBlocks.spotlight_incandescent) return ModBlocks.spotlight_incandescent_off; + if(this == ModBlocks.spotlight_fluoro) return ModBlocks.spotlight_fluoro_off; + if(this == ModBlocks.spotlight_halogen) return ModBlocks.spotlight_halogen_off; return this; } protected Block getOn() { - if(this == ModBlocks.spotlight_incandescent_off) - return ModBlocks.spotlight_incandescent; - if(this == ModBlocks.spotlight_fluoro_off) - return ModBlocks.spotlight_fluoro; - if(this == ModBlocks.spotlight_halogen_off) - return ModBlocks.spotlight_halogen; + if(this == ModBlocks.spotlight_incandescent_off) return ModBlocks.spotlight_incandescent; + if(this == ModBlocks.spotlight_fluoro_off) return ModBlocks.spotlight_fluoro; + if(this == ModBlocks.spotlight_halogen_off) return ModBlocks.spotlight_halogen; return this; } diff --git a/src/main/java/com/hbm/sound/AudioWrapperClient.java b/src/main/java/com/hbm/sound/AudioWrapperClient.java index bc259c1dd..ca5d038ba 100644 --- a/src/main/java/com/hbm/sound/AudioWrapperClient.java +++ b/src/main/java/com/hbm/sound/AudioWrapperClient.java @@ -72,8 +72,10 @@ public class AudioWrapperClient extends AudioWrapper { @Override public void stopSound() { - if(sound != null) + if(sound != null) { sound.stop(); + sound.setKeepAlive(0); + } } @Override diff --git a/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java b/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java index 0fb24cdb2..74497304d 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java +++ b/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java @@ -271,7 +271,6 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn if(this.state == 1 && state == 2){ // Door transitioning to closed if(audio != null) { audio.stopSound(); - audio.setKeepAlive(0); } if(doorType.getCloseSoundLoop() != null){ @@ -294,12 +293,10 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn if(state == 1 || state == 0){ // Door finished any transition if(audio != null){ audio.stopSound(); - audio.setKeepAlive(0); audio = null; } if(audio2 != null){ audio2.stopSound(); - audio.setKeepAlive(0); audio2 = null; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java index 3e78fb541..23e86b847 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineStrandCaster.java @@ -325,4 +325,16 @@ public class TileEntityMachineStrandCaster extends TileEntityFoundryCastingBase return bb; } + public boolean isLoaded = true; + + @Override + public boolean isLoaded() { + return isLoaded; + } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + this.isLoaded = false; + } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java b/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java index c238da297..4db863014 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java @@ -153,4 +153,17 @@ public class TileEntityPipeBaseNT extends TileEntity implements IFluidConductor super.writeToNBT(nbt); nbt.setInteger("type", this.type.getID()); } + + public boolean isLoaded = true; + + @Override + public boolean isLoaded() { + return isLoaded; + } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + this.isLoaded = false; + } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java b/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java index 992aca682..5d4ac7d1c 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java @@ -112,4 +112,17 @@ public class TileEntityPipeExhaust extends TileEntity implements IFluidConductor if(type == Fluids.SMOKE_LEADED) nets[1] = network; if(type == Fluids.SMOKE_POISON) nets[2] = network; } + + public boolean isLoaded = true; + + @Override + public boolean isLoaded() { + return isLoaded; + } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + this.isLoaded = false; + } } diff --git a/src/main/resources/assets/hbm/textures/blocks/ash.png b/src/main/resources/assets/hbm/textures/blocks/ash.png index a1631562859cbd126c312e4da1bd3181a141c4ab..7ad5b19dbf0b222d9a9f36ba71dfd2b6df95afd5 100644 GIT binary patch delta 732 zcmV<20wev-1?dHl8Gi-<001BJ|6u?C00eVFNmK|32nc)#WQYI&0-#AmK~y-6CDO}s z;zk%i;iJAtZCwxu+l1JenoTOpRCam)_ed7;ZEQ1u0HKzCbt?-m&-Sa6{Pp*r^S8(E z%pss`0)WLb%D^NugA5p@vCd+&Wezh%Rq*q3M=w3;+n?lFlDm?%%&#&CLoGDH$s*2`z&7s{hSjX+EL1VdGFR0F6NXwM{ z?m$ohi)Ft*0DlSI_k-!4{3NJn8CNJ;^qaPW>apT+NBf|xJ^CWOGLJ5fkM z?|ZZ}WI6?A%DO~j`1t(5YDHNsDDsk-3y1C}vnZ7JJu~wcj&s~McPJF8&9K@cBCMBd zw%Z40;Bvh%g%MCpQBZ^Qtg02(Sw=66Vc;Sc-ga*sk4MU?Kr6$!J)x~3%QF%T+q*4+ z38gS-t$#^XO5&hxTk34d_I8WaDTDX4=L1!}VDy3v6ID@iJRZq%hq>Eq=!YwP=uuHo zmkT5YM)|ri(eTHwzteX;i)FKp98RzK*!{qC*DE?`hTs`QNc2Ev9aUa>y0+uD?Kd)Kxo{!qfCS<6e#8|y zsm(AyUf*fzhGkQ-uocI)W%QmXk-DmR-Mugiq`9TYbDVQT2}}sFi~JApd}xPp4PdJP O0000t{za`u_tJA(r1Sg86?_{-OS-k&~NwSOwIB7_>)S#PYyt6nKU z5K)43#>+BW`oS;*f8M_fT491YN>U}gjR>*cbX8H4g!OZ8Tp0b>Zk@=BY7y8B~q-qU0anpcOS zyIn8+Ya!B%7k`F&7;G2n(7tp=s2pW&-*26))d7~KmK*B9vZ&Cjn}zdZv7Q#CU0mk+S%x{rX-Xe=<)sGT}X6- z^J&pPE>GW|zEKJpl}%CsUU8yiaohz%^Q6|%DzDDZzkjz4b~ksrB@vwtC$JzPC2T_t zWVDlOU3cw%P3Ntp^L8V{q#Rymzv?C}v#iSNvW2UkBE;x`<3NJQ_^CXChXf=8wl2Ej z)&0ZcV)Zz6v+H8O3h51ezhjNac~Ds4<%ZgSH+7dR`QyX>gFu-H`Z7O@Ds@vZvrB<*h-e{z7wO=Ji@u7LHMq9K7`s$;A*KBM z=@Uay7Rg<8XHB%kHll$jJe5>Lj#8w8g9zT>$fKFurERT3EYi334b^&|-%Vo&+8Mf? z&?*wx5+;L8AG-7FSteN_awU|@ePFI{yBG6cCOT`lzTBMkA}4j7QB3@ziH3c7c%IMa n^Xu48(S}UQ3U(oJB;x-8CtZ9}gU^VU00000NkvXXu0mjfV&qC^