From 9fa67a8426312a90bfef10caa89a16800eb84306 Mon Sep 17 00:00:00 2001 From: repo_alt Date: Wed, 3 Aug 2022 10:33:33 +0400 Subject: [PATCH] Some safety checks --- .../java/magicbees/main/utils/BlockUtil.java | 4 ++- .../utils/compat/thaumcraft/NodeHelper.java | 27 +++++++++++-------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/main/java/magicbees/main/utils/BlockUtil.java b/src/main/java/magicbees/main/utils/BlockUtil.java index 2c0de1d..c555e8f 100644 --- a/src/main/java/magicbees/main/utils/BlockUtil.java +++ b/src/main/java/magicbees/main/utils/BlockUtil.java @@ -67,7 +67,9 @@ public class BlockUtil { for (int chunkX = minChunkX; chunkX <= maxChunkX; ++chunkX) { for (int chunkZ = minChunkZ; chunkZ <= maxChunkZ; ++chunkZ) { - searchChunks.add(world.getChunkFromChunkCoords(chunkX, chunkZ)); + Chunk chunk = world.getChunkFromChunkCoords(chunkX, chunkZ); + if (chunk != null) + searchChunks.add(chunk); } } diff --git a/src/main/java/magicbees/main/utils/compat/thaumcraft/NodeHelper.java b/src/main/java/magicbees/main/utils/compat/thaumcraft/NodeHelper.java index c62e098..ad15489 100644 --- a/src/main/java/magicbees/main/utils/compat/thaumcraft/NodeHelper.java +++ b/src/main/java/magicbees/main/utils/compat/thaumcraft/NodeHelper.java @@ -33,6 +33,9 @@ public class NodeHelper { @SuppressWarnings("unchecked") public static INode findNode(Chunk chunk, int x, int y, int z, int range) { + if (chunk == null) + return null; + Vec3 apiaryPos = Vec3.createVectorHelper(x, y, z); List tileEntities = new ArrayList(((Map)chunk.chunkTileEntityMap).values()); Collections.shuffle(tileEntities); @@ -52,17 +55,19 @@ public class NodeHelper { @SuppressWarnings("unchecked") public static List findNodesInChunkWithinRange(Chunk chunk, int x, int y, int z, int range) { List nodes = new ArrayList(); - Vec3 apiaryPos = Vec3.createVectorHelper(x, y, z); - List tileEntities = new ArrayList(((Map)chunk.chunkTileEntityMap).values()); - for (TileEntity entity : tileEntities) { - if (entity instanceof INode) { - Vec3 tePos = Vec3.createVectorHelper(entity.xCoord, entity.yCoord, entity.zCoord); - Vec3 result = apiaryPos.subtract(tePos); - if (result.lengthVector() <= range) { - nodes.add((INode)entity); - } - } - } + if (chunk != null) { + Vec3 apiaryPos = Vec3.createVectorHelper(x, y, z); + List tileEntities = new ArrayList(((Map) chunk.chunkTileEntityMap).values()); + for (TileEntity entity : tileEntities) { + if (entity instanceof INode) { + Vec3 tePos = Vec3.createVectorHelper(entity.xCoord, entity.yCoord, entity.zCoord); + Vec3 result = apiaryPos.subtract(tePos); + if (result.lengthVector() <= range) { + nodes.add((INode) entity); + } + } + } + } return nodes; }