From a81665d38d46db56df6a814d24ed09d06a430abe Mon Sep 17 00:00:00 2001 From: FrozenCow Date: Sun, 13 Feb 2011 22:46:45 +0100 Subject: [PATCH] Fixed time being reported of the correct world. --- src/main/java/org/dynmap/DynmapPlugin.java | 2 +- .../org/dynmap/web/handlers/ClientUpdateHandler.java | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/dynmap/DynmapPlugin.java b/src/main/java/org/dynmap/DynmapPlugin.java index fe05aecf..5791ef31 100644 --- a/src/main/java/org/dynmap/DynmapPlugin.java +++ b/src/main/java/org/dynmap/DynmapPlugin.java @@ -84,7 +84,7 @@ public class DynmapPlugin extends JavaPlugin { webServer = new HttpServer(bindAddress, port); webServer.handlers.put("/", new FilesystemHandler(getFile(configuration.getString("webpath", "web")))); webServer.handlers.put("/tiles/", new FilesystemHandler(tilesDirectory)); - webServer.handlers.put("/up/", new ClientUpdateHandler(mapManager, playerList, getWorld())); + webServer.handlers.put("/up/", new ClientUpdateHandler(mapManager, playerList, getServer())); webServer.handlers.put("/up/configuration", new ClientConfigurationHandler((Map) configuration.getProperty("web"))); try { diff --git a/src/main/java/org/dynmap/web/handlers/ClientUpdateHandler.java b/src/main/java/org/dynmap/web/handlers/ClientUpdateHandler.java index 6a87f6fc..f443bbbb 100644 --- a/src/main/java/org/dynmap/web/handlers/ClientUpdateHandler.java +++ b/src/main/java/org/dynmap/web/handlers/ClientUpdateHandler.java @@ -6,6 +6,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex.PatternSyntaxException; +import org.bukkit.Server; import org.bukkit.World; import org.bukkit.entity.Player; import org.dynmap.Client; @@ -19,12 +20,12 @@ import org.dynmap.web.Json; public class ClientUpdateHandler implements HttpHandler { private MapManager mapManager; private PlayerList playerList; - private World world; + private Server server; - public ClientUpdateHandler(MapManager mapManager, PlayerList playerList, World world) { + public ClientUpdateHandler(MapManager mapManager, PlayerList playerList, Server server) { this.mapManager = mapManager; this.playerList = playerList; - this.world = world; + this.server = server; } Pattern updatePathPattern = Pattern.compile("world/([a-zA-Z0-9_]+)/([0-9]*)"); @@ -39,6 +40,10 @@ public class ClientUpdateHandler implements HttpHandler { String worldName = match.group(1); String timeKey = match.group(2); + World world = server.getWorld(worldName); + if (world == null) + return; + long current = System.currentTimeMillis(); long since = 0; @@ -74,6 +79,5 @@ public class ClientUpdateHandler implements HttpHandler { response.fields.put("Content-Length", Integer.toString(bytes.length)); BufferedOutputStream out = new BufferedOutputStream(response.getBody()); out.write(bytes); - out.flush(); } } \ No newline at end of file