From a6b1a9068bde1aa161c873b744438e2a47f5649d Mon Sep 17 00:00:00 2001 From: George Paton Date: Wed, 26 Feb 2025 16:33:04 +1100 Subject: [PATCH] fix crash caused by placing piles immediately adjacent to RBMKs --- src/main/java/com/hbm/handler/neutron/PileNeutronHandler.java | 2 +- src/main/java/com/hbm/handler/neutron/RBMKNeutronHandler.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/hbm/handler/neutron/PileNeutronHandler.java b/src/main/java/com/hbm/handler/neutron/PileNeutronHandler.java index 843b878a2..548d6d75b 100644 --- a/src/main/java/com/hbm/handler/neutron/PileNeutronHandler.java +++ b/src/main/java/com/hbm/handler/neutron/PileNeutronHandler.java @@ -65,7 +65,7 @@ public class PileNeutronHandler { TileEntity tile; NeutronNode node = NeutronNodeWorld.getNode(worldObj, nodePos); - if(node != null) { + if(node != null && node instanceof PileNeutronNode) { tile = node.tile; } else { tile = blockPosToTE(worldObj, nodePos); diff --git a/src/main/java/com/hbm/handler/neutron/RBMKNeutronHandler.java b/src/main/java/com/hbm/handler/neutron/RBMKNeutronHandler.java index aa3574361..c22ffcddc 100644 --- a/src/main/java/com/hbm/handler/neutron/RBMKNeutronHandler.java +++ b/src/main/java/com/hbm/handler/neutron/RBMKNeutronHandler.java @@ -222,7 +222,7 @@ public class RBMKNeutronHandler { pos.mutate(origin.tile.xCoord + x, origin.tile.yCoord, origin.tile.zCoord + z); NeutronNode node = NeutronNodeWorld.getNode(world, pos); - if(node != null) { + if(node != null && node instanceof RBMKNeutronNode) { positions[i - 1] = node; } else if(this.origin.tile.getBlockType() instanceof RBMKBase) { TileEntity te = blockPosToTE(world, pos); @@ -292,7 +292,7 @@ public class RBMKNeutronHandler { RBMKType type = (RBMKType) targetNode.data.get("type"); - if(type == RBMKType.OTHER) // pass right on by! + if(type == RBMKType.OTHER || type == null) // pass right on by! continue; // we established earlier during `getNodes()` that they should all be RBMKBase TEs