Add support for ChunkSnapshot API (CB860), maintain legacy support too
This commit is contained in:
parent
dc74901638
commit
b1d1075dfe
15 changed files with 478 additions and 72 deletions
|
|
@ -1,9 +1,9 @@
|
|||
package org.dynmap.kzedmap;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.dynmap.MapChunkCache;
|
||||
import org.dynmap.Color;
|
||||
import org.dynmap.ConfigurationNode;
|
||||
import org.dynmap.utils.MapIterator;
|
||||
|
||||
public class CaveTileRenderer extends DefaultTileRenderer {
|
||||
|
||||
|
|
@ -13,11 +13,11 @@ public class CaveTileRenderer extends DefaultTileRenderer {
|
|||
|
||||
@Override
|
||||
protected void scan(World world, int seq, boolean isnether, final Color result, final Color result_day,
|
||||
MapChunkCache.MapIterator mapiter) {
|
||||
MapIterator mapiter) {
|
||||
boolean air = true;
|
||||
result.setTransparent();
|
||||
for (;;) {
|
||||
if (mapiter.y < 0)
|
||||
if (mapiter.getY() < 0)
|
||||
return;
|
||||
|
||||
int id = mapiter.getBlockTypeID();
|
||||
|
|
@ -63,12 +63,12 @@ public class CaveTileRenderer extends DefaultTileRenderer {
|
|||
int cr, cg, cb;
|
||||
int mult = 256;
|
||||
|
||||
if (mapiter.y < 64) {
|
||||
if (mapiter.getY() < 64) {
|
||||
cr = 0;
|
||||
cg = 64 + mapiter.y * 3;
|
||||
cb = 255 - mapiter.y * 4;
|
||||
cg = 64 + mapiter.getY() * 3;
|
||||
cb = 255 - mapiter.getY() * 4;
|
||||
} else {
|
||||
cr = (mapiter.y - 64) * 4;
|
||||
cr = (mapiter.getY() - 64) * 4;
|
||||
cg = 255;
|
||||
cb = 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,9 +18,10 @@ import org.dynmap.ConfigurationNode;
|
|||
import org.dynmap.MapManager;
|
||||
import org.dynmap.TileHashManager;
|
||||
import org.dynmap.debug.Debug;
|
||||
import org.dynmap.MapChunkCache;
|
||||
import org.dynmap.kzedmap.KzedMap.KzedBufferedImage;
|
||||
import org.dynmap.utils.FileLockManager;
|
||||
import org.dynmap.utils.MapChunkCache;
|
||||
import org.dynmap.utils.MapIterator;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
public class DefaultTileRenderer implements MapTileRenderer {
|
||||
|
|
@ -108,7 +109,7 @@ public class DefaultTileRenderer implements MapTileRenderer {
|
|||
|
||||
int x, y;
|
||||
|
||||
MapChunkCache.MapIterator mapiter = cache.getIterator(ix, iy, iz);
|
||||
MapIterator mapiter = cache.getIterator(ix, iy, iz);
|
||||
|
||||
Color c1 = new Color();
|
||||
Color c2 = new Color();
|
||||
|
|
@ -350,14 +351,14 @@ public class DefaultTileRenderer implements MapTileRenderer {
|
|||
|
||||
}
|
||||
protected void scan(World world, int seq, boolean isnether, final Color result, final Color result_day,
|
||||
MapChunkCache.MapIterator mapiter) {
|
||||
MapIterator mapiter) {
|
||||
int lightlevel = 15;
|
||||
int lightlevel_day = 15;
|
||||
result.setTransparent();
|
||||
if(result_day != null)
|
||||
result_day.setTransparent();
|
||||
for (;;) {
|
||||
if (mapiter.y < 0) {
|
||||
if (mapiter.getY() < 0) {
|
||||
return;
|
||||
}
|
||||
int id = mapiter.getBlockTypeID();
|
||||
|
|
@ -377,7 +378,7 @@ public class DefaultTileRenderer implements MapTileRenderer {
|
|||
if(colorScheme.datacolors[id] != null) { /* If data colored */
|
||||
data = mapiter.getBlockData();
|
||||
}
|
||||
if((shadowscale != null) && (mapiter.y < 127)) {
|
||||
if((shadowscale != null) && (mapiter.getY() < 127)) {
|
||||
/* Find light level of previous chunk */
|
||||
switch(seq) {
|
||||
case 0:
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
package org.dynmap.kzedmap;
|
||||
|
||||
import java.util.HashSet;
|
||||
import org.dynmap.MapChunkCache;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.dynmap.Color;
|
||||
import org.dynmap.ConfigurationNode;
|
||||
import org.dynmap.utils.MapIterator;
|
||||
|
||||
public class HighlightTileRenderer extends DefaultTileRenderer {
|
||||
protected HashSet<Integer> highlightBlocks = new HashSet<Integer>();
|
||||
|
|
@ -21,10 +21,10 @@ public class HighlightTileRenderer extends DefaultTileRenderer {
|
|||
|
||||
@Override
|
||||
protected void scan(World world,int seq, boolean isnether, final Color result, final Color result_day,
|
||||
MapChunkCache.MapIterator mapiter) {
|
||||
MapIterator mapiter) {
|
||||
result.setTransparent();
|
||||
for (;;) {
|
||||
if (mapiter.y < 0) {
|
||||
if (mapiter.getY() < 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ import org.dynmap.DynmapChunk;
|
|||
import org.dynmap.Log;
|
||||
import org.dynmap.MapTile;
|
||||
import org.dynmap.MapType;
|
||||
import org.dynmap.MapChunkCache;
|
||||
import org.dynmap.utils.MapChunkCache;
|
||||
import org.json.simple.JSONObject;
|
||||
import java.awt.image.DataBufferInt;
|
||||
import java.awt.image.DataBuffer;
|
||||
|
|
@ -45,7 +45,6 @@ public class KzedMap extends MapType {
|
|||
public static final int anchorz = 0;
|
||||
|
||||
MapTileRenderer[] renderers;
|
||||
ZoomedTileRenderer zoomrenderer;
|
||||
|
||||
/* BufferedImage with direct access to its ARGB-formatted data buffer */
|
||||
public static class KzedBufferedImage {
|
||||
|
|
@ -67,8 +66,6 @@ public class KzedMap extends MapType {
|
|||
this.renderers = new MapTileRenderer[renderers.size()];
|
||||
renderers.toArray(this.renderers);
|
||||
Log.info("Loaded " + renderers.size() + " renderers for map '" + getClass().toString() + "'.");
|
||||
|
||||
zoomrenderer = new ZoomedTileRenderer(configuration);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -229,10 +226,7 @@ public class KzedMap extends MapType {
|
|||
|
||||
@Override
|
||||
public boolean render(MapChunkCache cache, MapTile tile, File outputFile) {
|
||||
if (tile instanceof KzedZoomedMapTile) {
|
||||
zoomrenderer.render(cache, (KzedZoomedMapTile) tile, outputFile);
|
||||
return true;
|
||||
} else if (tile instanceof KzedMapTile) {
|
||||
if (tile instanceof KzedMapTile) {
|
||||
return ((KzedMapTile) tile).renderer.render(cache, (KzedMapTile) tile, outputFile);
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
package org.dynmap.kzedmap;
|
||||
|
||||
import java.io.File;
|
||||
import org.dynmap.MapChunkCache;
|
||||
|
||||
import org.dynmap.utils.MapChunkCache;
|
||||
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
package org.dynmap.kzedmap;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Map;
|
||||
import org.dynmap.MapChunkCache;
|
||||
public class ZoomedTileRenderer {
|
||||
public ZoomedTileRenderer(Map<String, Object> configuration) {
|
||||
}
|
||||
|
||||
public void render(MapChunkCache cache, final KzedZoomedMapTile zt, final File outputPath) {
|
||||
return; /* Doing this in Default render, since image already loaded */
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue