From f9f615db2d0f68fd89ed4f6782b659d11e35ee35 Mon Sep 17 00:00:00 2001 From: Mike Primm Date: Thu, 26 May 2011 15:32:56 -0500 Subject: [PATCH] Fix exception in world ordering code when world not in worlds list --- src/main/java/org/dynmap/MapManager.java | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/dynmap/MapManager.java b/src/main/java/org/dynmap/MapManager.java index 9967cd1a..30b56c66 100644 --- a/src/main/java/org/dynmap/MapManager.java +++ b/src/main/java/org/dynmap/MapManager.java @@ -223,16 +223,20 @@ public class MapManager { ConfigurationNode node = nodes.get(i); indexLookup.put(node.getString("name"), i); } - int worldIndex = indexLookup.get(worldName); - int insertIndex; - for(insertIndex = 0; insertIndex < worlds.size(); insertIndex++) { - Integer nextWorldIndex = indexLookup.get(worlds.get(insertIndex).world.getName()); - if (nextWorldIndex == null || worldIndex < nextWorldIndex.intValue()) { - break; - } + Integer worldIndex = indexLookup.get(worldName); + if(worldIndex == null) { + worlds.add(dynmapWorld); /* Put at end if no world section */ + } + else { + int insertIndex; + for(insertIndex = 0; insertIndex < worlds.size(); insertIndex++) { + Integer nextWorldIndex = indexLookup.get(worlds.get(insertIndex).world.getName()); + if (nextWorldIndex == null || worldIndex < nextWorldIndex.intValue()) { + break; + } + } + worlds.add(insertIndex, dynmapWorld); } - worlds.add(insertIndex, dynmapWorld); - worldsLookup.put(w.getName(), dynmapWorld); plug_in.events.trigger("worldactivated", dynmapWorld);