diff options
author | KHobbits <rob@khobbits.co.uk> | 2014-05-04 19:39:10 +0100 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2014-05-04 19:39:35 +0100 |
commit | 966d48bbb681a0b5822704ed6edacb088b491c96 (patch) | |
tree | 4c6908f0022bb7e4d0ffa781f6d654395f2c9ad3 | |
parent | b7a70be5e5c1f01b0dc8c1480bd7f030e23f9c4d (diff) | |
download | Essentials-966d48bbb681a0b5822704ed6edacb088b491c96.tar Essentials-966d48bbb681a0b5822704ed6edacb088b491c96.tar.gz Essentials-966d48bbb681a0b5822704ed6edacb088b491c96.tar.lz Essentials-966d48bbb681a0b5822704ed6edacb088b491c96.tar.xz Essentials-966d48bbb681a0b5822704ed6edacb088b491c96.zip |
Better handle corrupted chunks.
-rw-r--r-- | Essentials/src/com/earth2me/essentials/commands/Commandgc.java | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandgc.java b/Essentials/src/com/earth2me/essentials/commands/Commandgc.java index 42931feff..db4432351 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandgc.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandgc.java @@ -6,6 +6,8 @@ import com.earth2me.essentials.utils.DateUtil; import com.earth2me.essentials.utils.NumberUtil; import java.lang.management.ManagementFactory; import java.util.List; +import java.util.logging.Level; +import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Chunk; import org.bukkit.Server; @@ -56,11 +58,19 @@ public class Commandgc extends EssentialsCommand worldType = "The End"; break; } - + int tileEntities = 0; - - for (Chunk chunk : w.getLoadedChunks()) { - tileEntities += chunk.getTileEntities().length; + + try + { + for (Chunk chunk : w.getLoadedChunks()) + { + tileEntities += chunk.getTileEntities().length; + } + } + catch (java.lang.ClassCastException ex) + { + Bukkit.getLogger().log(Level.SEVERE, "Corrupted chunk data on world " + w, ex); } sender.sendMessage(tl("gcWorld", worldType, w.getName(), w.getLoadedChunks().length, w.getEntities().size(), tileEntities)); |