diff --git a/configuration.txt b/configuration.txt index 30e73264..4060e1ed 100644 --- a/configuration.txt +++ b/configuration.txt @@ -24,8 +24,10 @@ maps: renderers: - class: org.dynmap.kzedmap.DefaultTileRenderer prefix: t + maximumheight: 127 - class: org.dynmap.kzedmap.CaveTileRenderer prefix: ct + maximumheight: 127 web: # Interval the browser should poll for updates. diff --git a/src/main/java/org/dynmap/kzedmap/DefaultTileRenderer.java b/src/main/java/org/dynmap/kzedmap/DefaultTileRenderer.java index 738be2dc..147282c6 100644 --- a/src/main/java/org/dynmap/kzedmap/DefaultTileRenderer.java +++ b/src/main/java/org/dynmap/kzedmap/DefaultTileRenderer.java @@ -15,6 +15,7 @@ import org.dynmap.debug.Debug; public class DefaultTileRenderer implements MapTileRenderer { protected static Color translucent = new Color(0, 0, 0, 0); private String name; + protected int maximumHeight = 127; @Override public String getName() { @@ -23,6 +24,12 @@ public class DefaultTileRenderer implements MapTileRenderer { public DefaultTileRenderer(Map configuration) { name = (String) configuration.get("prefix"); + Object o = configuration.get("maximumheight"); + if (o != null) { + maximumHeight = Integer.parseInt(String.valueOf(o)); + if (maximumHeight > 127) + maximumHeight = 127; + } } public boolean render(KzedMapTile tile, File outputFile) { @@ -32,9 +39,9 @@ public class DefaultTileRenderer implements MapTileRenderer { WritableRaster r = im.getRaster(); boolean isempty = true; - int ix = tile.mx; - int iy = tile.my; - int iz = tile.mz; + int ix = KzedMap.anchorx + tile.px / 2 + tile.py / 2; + int iy = maximumHeight; + int iz = KzedMap.anchorz + tile.px / 2 - tile.py / 2; int jx, jz; diff --git a/src/main/java/org/dynmap/kzedmap/KzedMap.java b/src/main/java/org/dynmap/kzedmap/KzedMap.java index ef6d2adb..860a1e07 100644 --- a/src/main/java/org/dynmap/kzedmap/KzedMap.java +++ b/src/main/java/org/dynmap/kzedmap/KzedMap.java @@ -152,11 +152,16 @@ public class KzedMap extends MapType { public DynmapChunk[] getRequiredChunks(MapTile tile) { if (tile instanceof KzedMapTile) { KzedMapTile t = (KzedMapTile) tile; - int x1 = t.mx - KzedMap.tileHeight / 2; - int x2 = t.mx + KzedMap.tileWidth / 2 + KzedMap.tileHeight / 2; + + int ix = KzedMap.anchorx + t.px / 2 + t.py / 2; + int iy = 127; + int iz = KzedMap.anchorz + t.px / 2 - t.py / 2; + + int x1 = ix - KzedMap.tileHeight / 2; + int x2 = ix + KzedMap.tileWidth / 2 + KzedMap.tileHeight / 2; - int z1 = t.mz - KzedMap.tileHeight / 2; - int z2 = t.mz + KzedMap.tileWidth / 2 + KzedMap.tileHeight / 2; + int z1 = iz - KzedMap.tileHeight / 2; + int z2 = iz + KzedMap.tileWidth / 2 + KzedMap.tileHeight / 2; int x, z; diff --git a/src/main/java/org/dynmap/kzedmap/KzedMapTile.java b/src/main/java/org/dynmap/kzedmap/KzedMapTile.java index a65d60ad..cfcd7f64 100644 --- a/src/main/java/org/dynmap/kzedmap/KzedMapTile.java +++ b/src/main/java/org/dynmap/kzedmap/KzedMapTile.java @@ -8,7 +8,6 @@ public class KzedMapTile extends MapTile { public KzedMap map; public MapTileRenderer renderer; public int px, py; - public int mx, my, mz; // Hack. public File file = null; @@ -19,10 +18,6 @@ public class KzedMapTile extends MapTile { this.renderer = renderer; this.px = px; this.py = py; - - mx = KzedMap.anchorx + px / 2 + py / 2; - my = KzedMap.anchory; - mz = KzedMap.anchorz + px / 2 - py / 2; } @Override