Improve progress messages, make sure HDMaps that share render only render once
This commit is contained in:
parent
559f251d50
commit
a878ce7cd1
12 changed files with 124 additions and 21 deletions
|
|
@ -30,6 +30,7 @@ import org.json.simple.JSONObject;
|
|||
public class DefaultTileRenderer implements MapTileRenderer {
|
||||
protected static final Color translucent = new Color(0, 0, 0, 0);
|
||||
protected String name;
|
||||
protected String prefix;
|
||||
protected ConfigurationNode configuration;
|
||||
protected int maximumHeight = 127;
|
||||
protected ColorScheme colorScheme;
|
||||
|
|
@ -45,7 +46,12 @@ public class DefaultTileRenderer implements MapTileRenderer {
|
|||
NONE, BIOME, TEMPERATURE, RAINFALL
|
||||
}
|
||||
protected BiomeColorOption biomecolored = BiomeColorOption.NONE; /* Use biome for coloring */
|
||||
|
||||
@Override
|
||||
public String getPrefix() {
|
||||
return prefix;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
|
@ -54,7 +60,8 @@ public class DefaultTileRenderer implements MapTileRenderer {
|
|||
|
||||
public DefaultTileRenderer(ConfigurationNode configuration) {
|
||||
this.configuration = configuration;
|
||||
name = (String) configuration.get("prefix");
|
||||
name = configuration.getString("name", null);
|
||||
prefix = configuration.getString("prefix", name);
|
||||
Object o = configuration.get("maximumheight");
|
||||
if (o != null) {
|
||||
maximumHeight = Integer.parseInt(String.valueOf(o));
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import java.awt.image.BufferedImage;
|
|||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
|
@ -358,6 +359,23 @@ public class KzedMap extends MapType {
|
|||
return "KzedMap";
|
||||
}
|
||||
|
||||
/* Get maps rendered concurrently with this map in this world */
|
||||
public List<MapType> getMapsSharingRender(DynmapWorld w) {
|
||||
return Collections.singletonList((MapType)this);
|
||||
}
|
||||
|
||||
/* Get names of maps rendered concurrently with this map type in this world */
|
||||
public List<String> getMapNamesSharingRender(DynmapWorld w) {
|
||||
ArrayList<String> lst = new ArrayList<String>();
|
||||
for(MapTileRenderer rend : renderers) {
|
||||
if(rend.isNightAndDayEnabled())
|
||||
lst.add(rend.getName() + "(night/day)");
|
||||
else
|
||||
lst.add(rend.getName());
|
||||
}
|
||||
return lst;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void buildClientConfiguration(JSONObject worldObject, DynmapWorld world) {
|
||||
for(MapTileRenderer renderer : renderers) {
|
||||
|
|
|
|||
|
|
@ -32,9 +32,9 @@ public class KzedMapTile extends MapTile {
|
|||
public String getFilename() {
|
||||
if(fname == null) {
|
||||
if(map.isBigWorldMap(world))
|
||||
fname = renderer.getName() + "/" + (px >> 12) + '_' + (py >> 12) + '/' + px + "_" + py + ".png";
|
||||
fname = renderer.getPrefix() + "/" + (px >> 12) + '_' + (py >> 12) + '/' + px + "_" + py + ".png";
|
||||
else
|
||||
fname = renderer.getName() + "_" + px + "_" + py + ".png";
|
||||
fname = renderer.getPrefix() + "_" + px + "_" + py + ".png";
|
||||
}
|
||||
return fname;
|
||||
}
|
||||
|
|
@ -43,9 +43,9 @@ public class KzedMapTile extends MapTile {
|
|||
public String getDayFilename() {
|
||||
if(fname_day == null) {
|
||||
if(map.isBigWorldMap(world))
|
||||
fname_day = renderer.getName() + "_day/" + (px >> 12) + '_' + (py >> 12) + '/' + px + "_" + py + ".png";
|
||||
fname_day = renderer.getPrefix() + "_day/" + (px >> 12) + '_' + (py >> 12) + '/' + px + "_" + py + ".png";
|
||||
else
|
||||
fname_day = renderer.getName() + "_day_" + px + "_" + py + ".png";
|
||||
fname_day = renderer.getPrefix() + "_day_" + px + "_" + py + ".png";
|
||||
}
|
||||
return fname_day;
|
||||
}
|
||||
|
|
@ -68,7 +68,7 @@ public class KzedMapTile extends MapTile {
|
|||
}
|
||||
|
||||
public String getKey() {
|
||||
return getWorld().getName() + "." + renderer.getName();
|
||||
return getWorld().getName() + "." + renderer.getPrefix();
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
|
|
|
|||
|
|
@ -15,10 +15,10 @@ public class KzedZoomedMapTile extends MapTile {
|
|||
public String getFilename() {
|
||||
if(fname == null) {
|
||||
if(world.bigworld)
|
||||
fname = "z" + originalTile.renderer.getName() + "/" + (getTileX()>>12) + '_' +
|
||||
fname = "z" + originalTile.renderer.getPrefix() + "/" + (getTileX()>>12) + '_' +
|
||||
(getTileY() >> 12) + '/' + getTileX() + "_" + getTileY() + ".png";
|
||||
else
|
||||
fname = "z" + originalTile.renderer.getName() + "_" + getTileX() + "_" + getTileY() + ".png";
|
||||
fname = "z" + originalTile.renderer.getPrefix() + "_" + getTileX() + "_" + getTileY() + ".png";
|
||||
}
|
||||
return fname;
|
||||
}
|
||||
|
|
@ -27,10 +27,10 @@ public class KzedZoomedMapTile extends MapTile {
|
|||
public String getDayFilename() {
|
||||
if(fname_day == null) {
|
||||
if(world.bigworld)
|
||||
fname_day = "z" + originalTile.renderer.getName() + "_day/" + (getTileX()>>12) + '_' +
|
||||
fname_day = "z" + originalTile.renderer.getPrefix() + "_day/" + (getTileX()>>12) + '_' +
|
||||
(getTileY() >> 12) + '/' + getTileX() + "_" + getTileY() + ".png";
|
||||
else
|
||||
fname_day = "z" + originalTile.renderer.getName() + "_day_" + getTileX() + "_" + getTileY() + ".png";
|
||||
fname_day = "z" + originalTile.renderer.getPrefix() + "_day_" + getTileX() + "_" + getTileY() + ".png";
|
||||
}
|
||||
return fname_day;
|
||||
}
|
||||
|
|
@ -80,7 +80,7 @@ public class KzedZoomedMapTile extends MapTile {
|
|||
|
||||
|
||||
public String getKey() {
|
||||
return getWorld().getName() + ".z" + originalTile.renderer.getName();
|
||||
return getWorld().getName() + ".z" + originalTile.renderer.getPrefix();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import org.dynmap.utils.MapChunkCache;
|
|||
import org.json.simple.JSONObject;
|
||||
|
||||
public interface MapTileRenderer {
|
||||
String getPrefix();
|
||||
String getName();
|
||||
|
||||
boolean render(MapChunkCache cache, KzedMapTile tile, File outputFile);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue