From 43b33ed350a949073a1a5497b890bf9a59d3ea3c Mon Sep 17 00:00:00 2001 From: asofold Date: Sun, 23 Nov 2014 15:47:46 +0100 Subject: [PATCH] Catch and log exceptions during chunk-load on players joining. --- .../nocheatplus/utilities/BlockCache.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/NCPCore/src/main/java/fr/neatmonster/nocheatplus/utilities/BlockCache.java b/NCPCore/src/main/java/fr/neatmonster/nocheatplus/utilities/BlockCache.java index ae1a31d2..02f4ea1a 100644 --- a/NCPCore/src/main/java/fr/neatmonster/nocheatplus/utilities/BlockCache.java +++ b/NCPCore/src/main/java/fr/neatmonster/nocheatplus/utilities/BlockCache.java @@ -5,6 +5,8 @@ import org.bukkit.World; import org.bukkit.block.Block; import org.bukkit.entity.Entity; +import fr.neatmonster.nocheatplus.NCPAPIProvider; +import fr.neatmonster.nocheatplus.logging.Streams; import fr.neatmonster.nocheatplus.utilities.ds.CoordMap; /** @@ -50,8 +52,14 @@ public abstract class BlockCache { for (int cx = minX; cx <= maxX; cx ++) { for (int cz = minZ; cz <= maxZ; cz ++) { if (!world.isChunkLoaded(cx, cz)) { - world.loadChunk(cx, cz); - loaded ++; + try { + world.loadChunk(cx, cz); + loaded ++; + } catch (Exception ex) { + // (Can't seem to catch more precisely: TileEntity with CB 1.7.10) + NCPAPIProvider.getNoCheatPlusAPI().getLogManager().severe(Streams.STATUS, "Failed to load chunk at " + (cx * 16) + "," + (cz * 16) + " (real coordinates):\n" + StringUtil.throwableToString(ex)); + // (Don't count as loaded.) + } } } }