Add support for saving/restoring of pending tile updates on server stops/start

This commit is contained in:
Mike Primm 2011-09-22 12:18:23 +08:00 committed by mikeprimm
parent 0627e2675f
commit 0704413829
9 changed files with 173 additions and 0 deletions

View file

@ -3,11 +3,13 @@ package org.dynmap.kzedmap;
import org.dynmap.DynmapChunk;
import org.dynmap.DynmapWorld;
import org.dynmap.MapManager;
import org.dynmap.MapType;
import java.io.File;
import java.util.List;
import org.dynmap.MapTile;
import org.dynmap.flat.FlatMap;
import org.dynmap.utils.MapChunkCache;
public class KzedMapTile extends MapTile {
@ -28,6 +30,35 @@ public class KzedMapTile extends MapTile {
this.py = py;
}
public KzedMapTile(DynmapWorld world, String parm) throws Exception {
super(world);
String[] parms = parm.split(",");
if(parms.length < 4) throw new Exception("wrong parameter count");
this.px = Integer.parseInt(parms[0]);
this.py = Integer.parseInt(parms[1]);
for(MapType t : world.maps) {
if(t.getName().equals(parms[2]) && (t instanceof KzedMap)) {
this.map = (KzedMap)t;
break;
}
}
if(this.map == null) throw new Exception("invalid map");
for(MapTileRenderer r : map.renderers) {
if(r.getName().equals(parms[3])) {
this.renderer = r;
break;
}
}
if(this.renderer == null) throw new Exception("invalid renderer");
}
@Override
protected String saveTileData() {
return String.format("%d,%d,%s,%s", px, py, map.getName(), renderer.getName());
}
@Override
public String getFilename() {
if(fname == null) {