From 7b80e9fb645b3464b5b036065022d23aa3e8540a Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 18 Mar 2025 16:53:41 +0100 Subject: [PATCH] oh, in the distance i could see a pale light --- .../java/api/hbm/energymk2/PowerNetMK2.java | 4 ++-- .../java/api/hbm/fluidmk2/FluidNetMK2.java | 4 ++-- .../java/api/hbm/fluidmk2/IFluidUserMK2.java | 4 +++- src/main/java/api/hbm/tile/ILoadedTile.java | 1 + .../java/com/hbm/blocks/machine/BlockPWR.java | 13 +++++++++++++ src/main/java/com/hbm/items/ModItems.java | 10 ---------- .../hbm/items/weapon/sedna/ItemGunBaseNT.java | 1 + src/main/java/com/hbm/uninos/NodeNet.java | 9 +++++++++ .../gui/machine/gui_weapon_modifier.png | Bin 6764 -> 7075 bytes .../hbm/textures/items/ingot_metal_sheet.png | Bin 6157 -> 6766 bytes 10 files changed, 31 insertions(+), 15 deletions(-) diff --git a/src/main/java/api/hbm/energymk2/PowerNetMK2.java b/src/main/java/api/hbm/energymk2/PowerNetMK2.java index 24be5194a..34e8205f6 100644 --- a/src/main/java/api/hbm/energymk2/PowerNetMK2.java +++ b/src/main/java/api/hbm/energymk2/PowerNetMK2.java @@ -40,7 +40,7 @@ public class PowerNetMK2 extends NodeNet> provIt = providerEntries.entrySet().iterator(); while(provIt.hasNext()) { Entry entry = provIt.next(); - if(timestamp - entry.getValue() > timeout) { provIt.remove(); continue; } + if(timestamp - entry.getValue() > timeout || isBadLink(entry.getKey())) { provIt.remove(); continue; } long src = Math.min(entry.getKey().getPower(), entry.getKey().getProviderSpeed()); if(src > 0) { providers.add(new Pair(entry.getKey(), src)); @@ -58,7 +58,7 @@ public class PowerNetMK2 extends NodeNet entry = recIt.next(); - if(timestamp - entry.getValue() > timeout) { recIt.remove(); continue; } + if(timestamp - entry.getValue() > timeout || isBadLink(entry.getKey())) { recIt.remove(); continue; } long rec = Math.min(entry.getKey().getMaxPower() - entry.getKey().getPower(), entry.getKey().getReceiverSpeed()); if(rec > 0) { int p = entry.getKey().getPriority().ordinal(); diff --git a/src/main/java/api/hbm/fluidmk2/FluidNetMK2.java b/src/main/java/api/hbm/fluidmk2/FluidNetMK2.java index 76cf0f484..411f91a77 100644 --- a/src/main/java/api/hbm/fluidmk2/FluidNetMK2.java +++ b/src/main/java/api/hbm/fluidmk2/FluidNetMK2.java @@ -53,7 +53,7 @@ public class FluidNetMK2 extends NodeNet entry = iterator.next(); - if(currentTime - entry.getValue() > timeout) { iterator.remove(); continue; } + if(currentTime - entry.getValue() > timeout || isBadLink(entry.getKey())) { iterator.remove(); continue; } IFluidProviderMK2 provider = entry.getKey(); int[] pressureRange = provider.getProvidingPressureRange(type); for(int p = pressureRange[0]; p <= pressureRange[1]; p++) { @@ -69,7 +69,7 @@ public class FluidNetMK2 extends NodeNet entry = iterator.next(); - if(currentTime - entry.getValue() > timeout) { iterator.remove(); continue; } + if(currentTime - entry.getValue() > timeout || isBadLink(entry.getKey())) { iterator.remove(); continue; } IFluidReceiverMK2 receiver = entry.getKey(); int[] pressureRange = receiver.getReceivingPressureRange(type); for(int p = pressureRange[0]; p <= pressureRange[1]; p++) { diff --git a/src/main/java/api/hbm/fluidmk2/IFluidUserMK2.java b/src/main/java/api/hbm/fluidmk2/IFluidUserMK2.java index a39f40889..1e60f7585 100644 --- a/src/main/java/api/hbm/fluidmk2/IFluidUserMK2.java +++ b/src/main/java/api/hbm/fluidmk2/IFluidUserMK2.java @@ -2,7 +2,9 @@ package api.hbm.fluidmk2; import com.hbm.inventory.fluid.tank.FluidTank; -public interface IFluidUserMK2 extends IFluidConnectorMK2 { +import api.hbm.tile.ILoadedTile; + +public interface IFluidUserMK2 extends IFluidConnectorMK2, ILoadedTile { public static final int HIGHEST_VALID_PRESSURE = 5; public static final int[] DEFAULT_PRESSURE_RANGE = new int[] {0, 0}; diff --git a/src/main/java/api/hbm/tile/ILoadedTile.java b/src/main/java/api/hbm/tile/ILoadedTile.java index 65ad9d14c..33b221bde 100644 --- a/src/main/java/api/hbm/tile/ILoadedTile.java +++ b/src/main/java/api/hbm/tile/ILoadedTile.java @@ -1,5 +1,6 @@ package api.hbm.tile; +/** For anything that should be removed off networks when considered unloaded, only affects providers and receivers, not links. Must not necessarily be a tile. */ public interface ILoadedTile { public boolean isLoaded(); diff --git a/src/main/java/com/hbm/blocks/machine/BlockPWR.java b/src/main/java/com/hbm/blocks/machine/BlockPWR.java index a9dd6506c..0320a76a1 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockPWR.java +++ b/src/main/java/com/hbm/blocks/machine/BlockPWR.java @@ -324,5 +324,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/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 25c557f13..b14eb9ae5 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -6406,16 +6406,6 @@ public class ModItems { GameRegistry.registerItem(mp_chip_4, mp_chip_4.getUnlocalizedName()); GameRegistry.registerItem(mp_chip_5, mp_chip_5.getUnlocalizedName()); - /*GameRegistry.registerItem(missile_skin_camo, missile_skin_camo.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_desert, missile_skin_desert.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_flames, missile_skin_flames.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_manly_pink, missile_skin_manly_pink.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_orange_insulation, missile_skin_orange_insulation.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_sleek, missile_skin_sleek.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_soviet_glory, missile_skin_soviet_glory.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_soviet_stank, missile_skin_soviet_stank.getUnlocalizedName()); - GameRegistry.registerItem(missile_skin_metal, missile_skin_metal.getUnlocalizedName());*/ - //Satellites GameRegistry.registerItem(sat_mapper, sat_mapper.getUnlocalizedName()); GameRegistry.registerItem(sat_scanner, sat_scanner.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java b/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java index 96a9b099f..45cb4d0bc 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java +++ b/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java @@ -97,6 +97,7 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IEquipRecei public GunConfig getConfig(ItemStack stack, int index) { GunConfig cfg = configs_DNA[index]; + if(stack == null) return cfg; return WeaponUpgradeManager.eval(cfg, stack, O_GUNCONFIG + index, this); } diff --git a/src/main/java/com/hbm/uninos/NodeNet.java b/src/main/java/com/hbm/uninos/NodeNet.java index 55d50f1e4..f37446cec 100644 --- a/src/main/java/com/hbm/uninos/NodeNet.java +++ b/src/main/java/com/hbm/uninos/NodeNet.java @@ -7,6 +7,9 @@ import java.util.List; import java.util.Random; import java.util.Set; +import api.hbm.tile.ILoadedTile; +import net.minecraft.tileentity.TileEntity; + public abstract class NodeNet { /** Global random for figuring things out like random leftover distribution */ @@ -79,4 +82,10 @@ public abstract class NodeNet { this.receiverEntries.clear(); this.providerEntries.clear(); } + + public static boolean isBadLink(Object o) { + if(o instanceof ILoadedTile && !((ILoadedTile) o).isLoaded()) return true; + if(o instanceof TileEntity && ((TileEntity) o).isInvalid()) return true; + return false; + } } diff --git a/src/main/resources/assets/hbm/textures/gui/machine/gui_weapon_modifier.png b/src/main/resources/assets/hbm/textures/gui/machine/gui_weapon_modifier.png index 076e7a978b19be88a2695729c33baca5456eb8d6..e2a97539a949cc8eb257767d0f8953467f1cb75f 100644 GIT binary patch literal 7075 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 KdX+lPG5-cI=G80! literal 6764 zcmbuEcT|(ln#bP+ga|=G5d)$LRhkr~i9qNIs6gN+2q;~^NEMJs3ng?AQF=!yf^-N? zAaoR@NFYnfz2@$=65N!y zzPfDVj3WYYfM0wE;EDQLp&*7%bPN;F$-O%MohhuwDr}EgKbghfRmhs}&nM=KzDYv8 zUQbObZ(CGXiyBl4>nduphJaY;??%qU=%tA1ext7v>X}EEEa~`hoWHYoD4NK}4UGzo z4fF?|kMG}4R0%sX^hNcz4?UgcYH+m$B?`5^8VhT(I9(k$kt4!P*jPUtdAvTDOhVC= zcQy!qTzJlX!@U|oQT^R~JlAPB-egZdb+Yh)kw9A-wbtDFS#O@>U@8qZlx+>bZbXAr z<|XNXSM6{>E2o2GO z(?E)M;);Ux1ze966yOb$0>Zhw0Hiyd=6^CYEg8-D>+7`c`FTIG-;3v0jpz596wPg| zng!1!n#ulTv^W9-DiD?MqtAL0il^Y%OB7Ai^B9Mjr^�t&0RhC;0Nwk^QXjnW&Ef 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 aI6&Gjs34)wBcFPG1ZZpC(#Cma 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

P+Btw+@Fx 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