Package more of default data/config in JAR, lay down when needed, to avoid stomping customized configuration when unneeded

This commit is contained in:
Mike Primm 2011-07-23 15:29:47 -05:00
parent 357e46280c
commit ddeded3e9c
25 changed files with 178 additions and 118 deletions

View file

@ -23,21 +23,9 @@
<directory>${project.basedir}/colorschemes</directory>
<outputDirectory>/dynmap/colorschemes</outputDirectory>
</fileSet>
<fileSet>
<directory>${project.basedir}</directory>
<outputDirectory>/dynmap/</outputDirectory>
<includes>
<include>configuration.default</include>
<include>shaders.txt</include>
<include>perspectives.txt</include>
<include>lightings.txt</include>
<include>worlds.txt.sample</include></includes></fileSet>
<fileSet>
<directory>${project.basedir}/texturepacks</directory>
<outputDirectory>/dynmap/texturepacks</outputDirectory></fileSet>
<fileSet>
<directory>${project.basedir}/templates</directory>
<outputDirectory>/dynmap/templates</outputDirectory></fileSet>
<fileSet>
<directory>${project.basedir}/renderdata</directory>
<outputDirectory>/dynmap/renderdata</outputDirectory></fileSet>

View file

@ -6,6 +6,7 @@ import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Constructor;
import java.net.InetAddress;
import java.net.UnknownHostException;
@ -130,11 +131,22 @@ public class DynmapPlugin extends JavaPlugin {
}
}
}
/* Table of default templates - all are resources in dynmap.jar unnder templates/, and go in templates directory when needed */
private static final String[] stdtemplates = { "normal.txt", "nether.txt", "skylands.txt", "normal-lowres.txt",
"nether-lowres.txt", "skylands-lowres.txt", "normal-hires.txt", "nether-hires.txt", "skyands-hires.txt"
};
private static final String CUSTOM_PREFIX = "custom-";
/* Load templates from template folder */
private void loadTemplates() {
File templatedir = new File(dataDirectory, "templates");
templatedir.mkdirs();
/* First, prime the templates directory with default standard templates, if needed */
for(String stdtemplate : stdtemplates) {
File f = new File(templatedir, stdtemplate);
createDefaultFileFromResource("/templates/" + stdtemplate, f);
}
/* Now process files */
String[] templates = templatedir.list();
/* Go through list - process all ones not starting with 'custom' first */
for(String tname: templates) {
@ -174,49 +186,27 @@ public class DynmapPlugin extends JavaPlugin {
/* Load texture mappings */
TexturePack.loadTextureMapping(dataDirectory);
/* Initialize confguration.txt if needed */
File f = new File(this.getDataFolder(), "configuration.txt");
/* If configuration.txt not found, copy the default one */
if(f.exists() == false) {
Log.info("configuration.txt not found - creating default");
File deffile = new File(this.getDataFolder(), "configuration.default");
try {
FileInputStream fis = new FileInputStream(deffile);
FileOutputStream fos = new FileOutputStream(f);
byte[] buf = new byte[512];
int len;
while((len = fis.read(buf)) > 0) {
fos.write(buf, 0, len);
}
fos.close();
fis.close();
} catch (IOException iox) {
Log.severe("ERROR CREATING DEFAULT CONFIGURATION.TXT!");
this.setEnabled(false);
return;
}
if(!createDefaultFileFromResource("/configuration.txt", f)) {
this.setEnabled(false);
return;
}
/* Load configuration.txt */
org.bukkit.util.config.Configuration bukkitConfiguration = new org.bukkit.util.config.Configuration(f);
bukkitConfiguration.load();
configuration = new ConfigurationNode(bukkitConfiguration);
/* Now, process worlds.txt - merge it in as an override of existing values (since it is only user supplied values) */
f = new File(this.getDataFolder(), "worlds.txt");
if(f.exists()) {
org.bukkit.util.config.Configuration cfg = new org.bukkit.util.config.Configuration(f);
cfg.load();
ConfigurationNode cn = new ConfigurationNode(cfg);
mergeConfigurationBranch(cn, "worlds", true, true);
}
else {
try {
FileWriter fw = new FileWriter(f);
fw.write("# This file is intended to allow the user to define world-specific settings\n");
fw.write("# Dynmap's install will not overwrite it\n");
fw.write("worlds:\n");
fw.close();
} catch (IOException iox) {
}
if(!createDefaultFileFromResource("/worlds.txt", f)) {
this.setEnabled(false);
return;
}
org.bukkit.util.config.Configuration cfg = new org.bukkit.util.config.Configuration(f);
cfg.load();
ConfigurationNode cn = new ConfigurationNode(cfg);
mergeConfigurationBranch(cn, "worlds", true, true);
/* Now, process templates */
loadTemplates();
@ -672,4 +662,35 @@ public class DynmapPlugin extends JavaPlugin {
public static void setIgnoreChunkLoads(boolean ignore) {
ignore_chunk_loads = ignore;
}
/* Uses resource to create default file, if file does not yet exist */
public boolean createDefaultFileFromResource(String resourcename, File deffile) {
if(deffile.canRead())
return true;
Log.info(deffile.getPath() + " not found - creating default");
InputStream in = getClass().getResourceAsStream(resourcename);
if(in == null) {
Log.severe("Unable to find default resource - " + resourcename);
return false;
}
else {
FileOutputStream fos = null;
try {
fos = new FileOutputStream(deffile);
byte[] buf = new byte[512];
int len;
while((len = in.read(buf)) > 0) {
fos.write(buf, 0, len);
}
} catch (IOException iox) {
Log.severe("ERROR creatomg default for " + deffile.getPath());
return false;
} finally {
if(fos != null)
try { fos.close(); } catch (IOException iox) {}
if(in != null)
try { in.close(); } catch (IOException iox) {}
}
return true;
}
}
}

View file

@ -1,10 +1,13 @@
package org.dynmap.hdmap;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.util.ArrayList;
import java.util.HashMap;
@ -263,10 +266,24 @@ public class HDBlockModels {
*/
public static void loadModels(File datadir) {
/* Load block models */
loadModelFile(new File(datadir, "renderdata/models.txt"));
InputStream in = TexturePack.class.getResourceAsStream("/models.txt");
if(in != null) {
loadModelFile(in, "models.txt");
try { in.close(); } catch (IOException iox) {} in = null;
}
File custom = new File(datadir, "renderdata/custom-models.txt");
if(custom.canRead()) {
loadModelFile(custom);
try {
in = new FileInputStream(custom);
loadModelFile(in, custom.getPath());
} catch (IOException iox) {
Log.severe("Error loading " + custom.getPath());
} finally {
if(in != null) {
try { in.close(); } catch (IOException iox) {}
in = null;
}
}
}
else {
try {
@ -280,7 +297,7 @@ public class HDBlockModels {
/**
* Load models from file
*/
private static void loadModelFile(File modelfile) {
private static void loadModelFile(InputStream in, String fname) {
LineNumberReader rdr = null;
int cnt = 0;
try {
@ -289,7 +306,7 @@ public class HDBlockModels {
int layerbits = 0;
int rownum = 0;
int scale = 0;
rdr = new LineNumberReader(new FileReader(modelfile));
rdr = new LineNumberReader(new InputStreamReader(in));
while((line = rdr.readLine()) != null) {
if(line.startsWith("block:")) {
ArrayList<Integer> blkids = new ArrayList<Integer>();
@ -322,7 +339,7 @@ public class HDBlockModels {
}
}
else {
Log.severe("Block model missing required parameters = line " + rdr.getLineNumber() + " of " + modelfile.getPath());
Log.severe("Block model missing required parameters = line " + rdr.getLineNumber() + " of " + fname);
}
layerbits = 0;
}
@ -401,11 +418,11 @@ public class HDBlockModels {
}
}
}
Log.verboseinfo("Loaded " + cnt + " block models from " + modelfile.getPath());
Log.verboseinfo("Loaded " + cnt + " block models from " + fname);
} catch (IOException iox) {
Log.severe("Error reading models.txt - " + iox.toString());
} catch (NumberFormatException nfx) {
Log.severe("Format error - line " + rdr.getLineNumber() + " of " + modelfile.getPath());
Log.severe("Format error - line " + rdr.getLineNumber() + " of " + fname);
} finally {
if(rdr != null) {
try {

View file

@ -13,6 +13,7 @@ import org.bukkit.World;
import org.bukkit.plugin.Plugin;
import org.dynmap.ConfigurationNode;
import org.dynmap.DynmapChunk;
import org.dynmap.DynmapPlugin;
import org.dynmap.DynmapWorld;
import org.dynmap.Log;
import org.dynmap.MapManager;
@ -28,10 +29,14 @@ public class HDMapManager {
public HashSet<HDMap> maps = new HashSet<HDMap>();
public HashMap<String, ArrayList<HDMap>> maps_by_world_perspective = new HashMap<String, ArrayList<HDMap>>();
public void loadHDShaders(Plugin plugin) {
public void loadHDShaders(DynmapPlugin plugin) {
Log.verboseinfo("Loading shaders...");
org.bukkit.util.config.Configuration bukkitShaderConfig = new org.bukkit.util.config.Configuration(new File(plugin.getDataFolder(), "shaders.txt"));
File f = new File(plugin.getDataFolder(), "shaders.txt");
if(!plugin.createDefaultFileFromResource("/shaders.txt", f)) {
return;
}
org.bukkit.util.config.Configuration bukkitShaderConfig = new org.bukkit.util.config.Configuration(f);
bukkitShaderConfig.load();
ConfigurationNode shadercfg = new ConfigurationNode(bukkitShaderConfig);
@ -40,7 +45,8 @@ public class HDMapManager {
shaders.put(shader.getName(), shader);
}
/* Load custom shaders, if file is defined - or create empty one if not */
File f = new File(plugin.getDataFolder(), "custom-shaders.txt");
f = new File(plugin.getDataFolder(), "custom-shaders.txt");
plugin.createDefaultFileFromResource("/custom-shaders.txt", f);
if(f.exists()) {
bukkitShaderConfig = new org.bukkit.util.config.Configuration(f);
bukkitShaderConfig.load();
@ -50,22 +56,16 @@ public class HDMapManager {
shaders.put(shader.getName(), shader);
}
}
else {
try {
FileWriter fw = new FileWriter(f);
fw.write("# The user is free to add new and custom shaders here, including replacements for standard ones\n");
fw.write("# Dynmap's install will not overwrite it\n");
fw.write("shaders:\n");
fw.close();
} catch (IOException iox) {
}
}
Log.info("Loaded " + shaders.size() + " shaders.");
}
public void loadHDPerspectives(Plugin plugin) {
public void loadHDPerspectives(DynmapPlugin plugin) {
Log.verboseinfo("Loading perspectives...");
org.bukkit.util.config.Configuration bukkitPerspectiveConfig = new org.bukkit.util.config.Configuration(new File(plugin.getDataFolder(), "perspectives.txt"));
File f = new File(plugin.getDataFolder(), "perspectives.txt");
if(!plugin.createDefaultFileFromResource("/perspectives.txt", f)) {
return;
}
org.bukkit.util.config.Configuration bukkitPerspectiveConfig = new org.bukkit.util.config.Configuration(f);
bukkitPerspectiveConfig.load();
ConfigurationNode perspectivecfg = new ConfigurationNode(bukkitPerspectiveConfig);
for(HDPerspective perspective : perspectivecfg.<HDPerspective>createInstances("perspectives", new Class<?>[0], new Object[0])) {
@ -73,7 +73,8 @@ public class HDMapManager {
perspectives.put(perspective.getName(), perspective);
}
/* Load custom perspectives, if file is defined - or create empty one if not */
File f = new File(plugin.getDataFolder(), "custom-perspectives.txt");
f = new File(plugin.getDataFolder(), "custom-perspectives.txt");
plugin.createDefaultFileFromResource("/custom-perspectives.txt", f);
if(f.exists()) {
bukkitPerspectiveConfig = new org.bukkit.util.config.Configuration(f);
bukkitPerspectiveConfig.load();
@ -83,22 +84,16 @@ public class HDMapManager {
perspectives.put(perspective.getName(), perspective);
}
}
else {
try {
FileWriter fw = new FileWriter(f);
fw.write("# The user is free to add new and custom perspectives here, including replacements for standard ones\n");
fw.write("# Dynmap's install will not overwrite it\n");
fw.write("perspectives:\n");
fw.close();
} catch (IOException iox) {
}
}
Log.info("Loaded " + perspectives.size() + " perspectives.");
}
public void loadHDLightings(Plugin plugin) {
public void loadHDLightings(DynmapPlugin plugin) {
Log.verboseinfo("Loading lightings...");
org.bukkit.util.config.Configuration bukkitLightingsConfig = new org.bukkit.util.config.Configuration(new File(plugin.getDataFolder(), "lightings.txt"));
File f = new File(plugin.getDataFolder(), "lightings.txt");
if(!plugin.createDefaultFileFromResource("/lightings.txt", f)) {
return;
}
org.bukkit.util.config.Configuration bukkitLightingsConfig = new org.bukkit.util.config.Configuration(f);
bukkitLightingsConfig.load();
ConfigurationNode lightingcfg = new ConfigurationNode(bukkitLightingsConfig);
@ -107,7 +102,8 @@ public class HDMapManager {
lightings.put(lighting.getName(), lighting);
}
/* Load custom lightings, if file is defined - or create empty one if not */
File f = new File(plugin.getDataFolder(), "custom-lightings.txt");
f = new File(plugin.getDataFolder(), "custom-lightings.txt");
plugin.createDefaultFileFromResource("/custom-lightings.txt", f);
if(f.exists()) {
bukkitLightingsConfig = new org.bukkit.util.config.Configuration(f);
bukkitLightingsConfig.load();
@ -117,16 +113,6 @@ public class HDMapManager {
lightings.put(lighting.getName(), lighting);
}
}
else {
try {
FileWriter fw = new FileWriter(f);
fw.write("# The user is free to add new and custom lightings here, including replacements for standard ones\n");
fw.write("# Dynmap's install will not overwrite it\n");
fw.write("lightings:\n");
fw.close();
} catch (IOException iox) {
}
}
Log.info("Loaded " + lightings.size() + " lightings.");
}

View file

@ -8,6 +8,7 @@ import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.util.ArrayList;
import java.util.Collections;
@ -557,10 +558,24 @@ public class TexturePack {
/* Initialize map with blank map for all entries */
HDTextureMap.initializeTable();
/* Load block models */
loadTextureFile(new File(datadir, "renderdata/texture.txt"));
InputStream in = TexturePack.class.getResourceAsStream("/texture.txt");
if(in != null) {
loadTextureFile(in, "texture.txt");
if(in != null) { try { in.close(); } catch (IOException x) {} in = null; }
}
else
Log.severe("Error loading texture.txt");
File custom = new File(datadir, "renderdata/custom-texture.txt");
if(custom.canRead()) {
loadTextureFile(custom);
try {
in = new FileInputStream(custom);
loadTextureFile(in, custom.getPath());
} catch (IOException iox) {
Log.severe("Error loading renderdata/custom-texture.txt - " + iox);
} finally {
if(in != null) { try { in.close(); } catch (IOException x) {} in = null; }
}
}
else {
try {
@ -575,13 +590,13 @@ public class TexturePack {
/**
* Load texture pack mappings from texture.txt file
*/
private static void loadTextureFile(File txtfile) {
private static void loadTextureFile(InputStream txtfile, String txtname) {
LineNumberReader rdr = null;
int cnt = 0;
try {
String line;
rdr = new LineNumberReader(new FileReader(txtfile));
rdr = new LineNumberReader(new InputStreamReader(txtfile));
while((line = rdr.readLine()) != null) {
if(line.startsWith("block:")) {
ArrayList<Integer> blkids = new ArrayList<Integer>();
@ -642,7 +657,7 @@ public class TexturePack {
trans = BlockTransparency.valueOf(av[1]);
if(trans == null) {
trans = BlockTransparency.OPAQUE;
Log.severe("Texture mapping has invalid transparency setting - " + av[1] + " - line " + rdr.getLineNumber() + " of " + txtfile.getPath());
Log.severe("Texture mapping has invalid transparency setting - " + av[1] + " - line " + rdr.getLineNumber() + " of " + txtname);
}
}
}
@ -655,17 +670,17 @@ public class TexturePack {
cnt++;
}
else {
Log.severe("Texture mapping missing required parameters = line " + rdr.getLineNumber() + " of " + txtfile.getPath());
Log.severe("Texture mapping missing required parameters = line " + rdr.getLineNumber() + " of " + txtname);
}
}
else if(line.startsWith("#") || line.startsWith(";")) {
}
}
Log.verboseinfo("Loaded " + cnt + " texture mappings from " + txtfile.getPath());
Log.verboseinfo("Loaded " + cnt + " texture mappings from " + txtname);
} catch (IOException iox) {
Log.severe("Error reading " + txtfile.getPath() + " - " + iox.toString());
Log.severe("Error reading " + txtname + " - " + iox.toString());
} catch (NumberFormatException nfx) {
Log.severe("Format error - line " + rdr.getLineNumber() + " of " + txtfile.getPath());
Log.severe("Format error - line " + rdr.getLineNumber() + " of " + txtname);
} finally {
if(rdr != null) {
try {

View file

@ -0,0 +1,156 @@
# All paths in this configuration file are relative to Dynmap's data-folder: minecraft_server/plugins/dynmap/
# NOTE: the 'templates' section is now found in the templates.txt (and can be safely customized using custom-templates.txt)
# NOTE: the 'worlds' section is now found in the worlds.txt (example custom settings can be found in worlds.txt.sample)
# To use the HDMap low-res map templates as world defaults (normal-lowres, nether-lowres and skylands-lowres), uncomment the following line
#deftemplatesuffix: lowres
# To use the HDMap hi-res map templates (these can take a VERY long time for initial fullrender), comment the following line
#deftemplatesuffix: hires
# Otherwise, the world defaults will be based on classic FlatMap/KzedMap templates (normal, nether, skylands)
# Other values will search for templates named normal-<value>, nether-<value>, skylands-<value>
components:
- class: org.dynmap.ClientConfigurationComponent
- class: org.dynmap.InternalClientUpdateComponent
sendhealth: true
sendposition: true
allowwebchat: true
webchat-interval: 5
hidewebchatip: false
trustclientname: false
#- class: org.dynmap.JsonFileClientUpdateComponent
# writeinterval: 1
# sendhealth: true
# sendposition: true
# allowwebchat: false
# webchat-interval: 5
# hidewebchatip: false
- class: org.dynmap.SimpleWebChatComponent
allowchat: true
#- class: org.dynmap.herochat.HeroWebChatComponent
# # Control which HeroChat channel messages from web are directed to
# herochatwebchannel: Global
# # Control which channels are monitored and reported to the web
# herochatchannels:
# - Global
# #- Trade
# #- Haggle
- class: org.dynmap.ClientComponent
type: chat
- class: org.dynmap.ClientComponent
type: chatballoon
focuschatballoons: false
- class: org.dynmap.ClientComponent
type: chatbox
showplayerfaces: true
messagettl: 5
- class: org.dynmap.ClientComponent
type: playermarkers
showplayerfaces: true
showplayerhealth: true
# Option to make player faces small - don't use with showplayerhealth
smallplayerfaces: false
#- class: org.dynmap.ClientComponent
# type: digitalclock
- class: org.dynmap.ClientComponent
type: timeofdayclock
showdigitalclock: true
#showweather: true
#- class: org.dynmap.regions.RegionsComponent
# type: regions
# name: WorldGuard
# useworldpath: true
# filename: regions.yml
# basenode: regions
# use3dregions: true
# infowindow: '<div class="infowindow"><span style="font-size:120%;">%regionname% - %priority% (%parent%)</span><br /> Owners <span style="font-weight:bold;">%playerowners% %groupowners%</span><br />Members <span style="font-weight:bold;">%playermembers% %groupmembers%</span><br />Flags<br /><span style="font-weight:bold;">%flags%</span></div>'
# regionstyle:
# strokeColor: "#FF0000"
# strokeOpacity: 0.8
# strokeWeight: 3
# fillColor: "#FF0000"
# fillOpacity: 0.35
# # Optional setting to limit which regions to show, by name - if commented out, all regions are shown
# visibleregions:
# - homebase
# - miningsite
#- class: org.dynmap.TestComponent
# stuff: "This is some configuration-value"
# Treat hiddenplayers.txt as a whitelist for players to be shown on the map? (Default false)
display-whitelist: false
# How often a tile gets rendered (in seconds).
renderinterval: 1
# Zoom-out tile update period - how often to scan for and process tile updates into zoom-out tiles (in seconds)
zoomoutperiod: 60
# Tile hashing is used to minimize tile file updates when no changes have occurred - set to false to disable
enabletilehash: true
render-triggers:
#- chunkloaded
#- playermove
#- playerjoin
- blockplaced
- blockbreak
- snowform
- leavesdecay
- blockburn
- chunkgenerated
# The path where the tile-files are placed.
tilespath: web/tiles
# The path where the web-files are located.
webpath: web
# The network-interface the webserver will bind to (0.0.0.0 for all interfaces, 127.0.0.1 for only local access).
webserver-bindaddress: 0.0.0.0
# The TCP-port the webserver will listen on.
webserver-port: 8123
# Disables Webserver portion of Dynmap (Advanced users only)
disable-webserver: false
# Enable/disable having the web server allow symbolic links (true=compatible with existing code, false=more secure (default))
allow-symlinks: true
# Period between tile renders for fullrender, in seconds (non-zero to pace fullrenders, lessen CPU load)
timesliceinterval: 0.0
# Maximum chunk loads per server tick (1/20th of a second) - reducing this below 90 will impact render performance, but also will reduce server thread load
maxchunkspertick: 200
# Interval the browser should poll for updates.
updaterate: 2000
showplayerfacesinmenu: true
# Set sidebaropened: true to pin menu sidebar opened
#sidebaropened: true
joinmessage: "%playername% joined"
quitmessage: "%playername% quit"
spammessage: "You may only chat once every %interval% seconds."
webprefix: "§2[WEB] "
websuffix: "§f"
# Enable checking for banned IPs via banned-ips.txt (internal web server only)
check-banned-ips: true
defaultzoom: 0
defaultworld: world
# Set to true to enable verbose startup messages - can help with debugging map configuration problems
# Set to false for a much quieter startup log
verbose: true
# Enables debugging.
#debuggers:
# - class: org.dynmap.debug.LogDebugger

View file

@ -0,0 +1,3 @@
# The user is free to add new and custom lightings here, including replacements for standard ones
# Dynmap's install will not overwrite it
lightings:

View file

@ -0,0 +1,3 @@
# The user is free to add new and custom perspectives here, including replacements for standard ones
# Dynmap's install will not overwrite it
perspectives:

View file

@ -0,0 +1,3 @@
# The user is free to add new and custom shaders here, including replacements for standard ones
# Dynmap's install will not overwrite it
shaders:

View file

@ -0,0 +1,35 @@
version: 0.20
#
# This file contains default standard lighting profiles. The contents of this file CAN need to be replaced and updated
# during upgrades, so new or updated lighting definitions should be done in the custom-lightings.txt file
#
lightings:
# Default lighting - no effects, shadows, day/night
- class: org.dynmap.hdmap.DefaultHDLighting
name: default
# Shadows enabled day mode
- class: org.dynmap.hdmap.ShadowHDLighting
name: shadows
shadowstrength: 1.0
# Night view (default moonight level is 4)
- class: org.dynmap.hdmap.ShadowHDLighting
name: night
shadowstrength: 1.0
ambientlight: 4
# A 'bright' night view (easier to see unlit landscape dimly)
- class: org.dynmap.hdmap.ShadowHDLighting
name: brightnight
shadowstrength: 1.0
ambientlight: 8
# Night and day view
- class: org.dynmap.hdmap.ShadowHDLighting
name: nightandday
shadowstrength: 1.0
ambientlight: 4
night-and-day: true
# 'Bright' Night and day view
- class: org.dynmap.hdmap.ShadowHDLighting
name: brightnightandday
shadowstrength: 1.0
ambientlight: 8
night-and-day: true

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,331 @@
version: 0.20
#
# This file contains default standard perspective definitions. The contents of this file CAN need to be replaced and updated
# during upgrades, so new or updated perspective definitions should be done in the custom-perspectives.txt file
#
perspectives:
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_S_60_lowres
azimuth: 180
inclination: 60
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_S_60_medres
azimuth: 180
inclination: 60
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_S_60_hires
azimuth: 180
inclination: 60
scale: 16
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_SE_60_lowres
azimuth: 135
inclination: 60
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_SE_60_medres
azimuth: 135
inclination: 60
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_SE_60_hires
azimuth: 135
inclination: 60
scale: 16
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_E_60_lowres
azimuth: 90
inclination: 60
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_E_60_medres
azimuth: 90
inclination: 60
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_E_60_hires
azimuth: 90
inclination: 60
scale: 16
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_NE_60_lowres
azimuth: 45
inclination: 60
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_NE_60_medres
azimuth: 45
inclination: 60
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_NE_60_hires
azimuth: 45
inclination: 60
scale: 16
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_N_60_lowres
azimuth: 0
inclination: 60
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_N_60_medres
azimuth: 0
inclination: 60
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_N_60_hires
azimuth: 0
inclination: 60
scale: 16
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_NW_60_lowres
azimuth: 315
inclination: 60
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_NW_60_medres
azimuth: 315
inclination: 60
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_NW_60_hires
azimuth: 315
inclination: 60
scale: 16
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_W_60_lowres
azimuth: 270
inclination: 60
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_W_60_medres
azimuth: 270
inclination: 60
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_W_60_hires
azimuth: 270
inclination: 60
scale: 16
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_SW_60_lowres
azimuth: 225
inclination: 60
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_SW_60_medres
azimuth: 225
inclination: 60
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_SW_60_hires
azimuth: 225
inclination: 60
scale: 16
# Low angle perspectives (30 degrees)
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_S_30_lowres
azimuth: 180
inclination: 30
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_S_30_medres
azimuth: 180
inclination: 30
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_S_30_hires
azimuth: 180
inclination: 30
scale: 16
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_SE_30_lowres
azimuth: 135
inclination: 30
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_SE_30_medres
azimuth: 135
inclination: 30
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_SE_30_hires
azimuth: 135
inclination: 30
scale: 16
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_E_30_lowres
azimuth: 90
inclination: 30
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_E_30_medres
azimuth: 90
inclination: 30
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_E_30_hires
azimuth: 90
inclination: 30
scale: 16
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_NE_30_lowres
azimuth: 45
inclination: 30
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_NE_30_medres
azimuth: 45
inclination: 30
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_NE_30_hires
azimuth: 45
inclination: 30
scale: 16
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_N_30_lowres
azimuth: 0
inclination: 30
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_N_30_medres
azimuth: 0
inclination: 30
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_N_30_hires
azimuth: 0
inclination: 30
scale: 16
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_NW_30_lowres
azimuth: 315
inclination: 30
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_NW_30_medres
azimuth: 315
inclination: 30
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_NW_30_hires
azimuth: 315
inclination: 30
scale: 16
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_W_30_lowres
azimuth: 270
inclination: 30
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_W_30_medres
azimuth: 270
inclination: 30
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_W_30_hires
azimuth: 270
inclination: 30
scale: 16
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_SW_30_lowres
azimuth: 225
inclination: 30
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_SW_30_medres
azimuth: 225
inclination: 30
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_SW_30_hires
azimuth: 225
inclination: 30
scale: 16
# Vertical perspectives (90 deg)
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_N_90_lowres
azimuth: 0
inclination: 90
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_N_90_medres
azimuth: 0
inclination: 90
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_N_90_hires
azimuth: 0
inclination: 90
scale: 16
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_S_90_lowres
azimuth: 180
inclination: 90
scale: 4
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_S_90_medres
azimuth: 180
inclination: 90
scale: 8
- class: org.dynmap.hdmap.IsoHDPerspective
name: iso_S_90_hires
azimuth: 180
inclination: 90
scale: 16

View file

@ -0,0 +1,45 @@
#
# This file contains default standard shader definitions. The contents of this file are replaced and updated
# during upgrades, so new or updated shader definitions should be done in the custom-shaders.txt file
#
shaders:
- class: org.dynmap.hdmap.DefaultHDShader
name: default
colorscheme: default
- class: org.dynmap.hdmap.DefaultHDShader
name: ovocean
colorscheme: ovocean
- class: org.dynmap.hdmap.DefaultHDShader
name: flames
colorscheme: flames
- class: org.dynmap.hdmap.DefaultHDShader
name: sk89q
colorscheme: sk89q
- class: org.dynmap.hdmap.DefaultHDShader
name: biome
biomecolored: biome
- class: org.dynmap.hdmap.DefaultHDShader
name: temperature
biomecolored: temperature
- class: org.dynmap.hdmap.DefaultHDShader
name: rainfall
biomecolored: rainfall
- class: org.dynmap.hdmap.DefaultHDShader
name: no_transparency
colorscheme: default
transparency: false
- class: org.dynmap.hdmap.CaveHDShader
name: cave
- class: org.dynmap.hdmap.TexturePackHDShader
name: stdtexture
texturepack: standard

View file

@ -0,0 +1,38 @@
version: 0.20
#
# Default template for "Nether" environment worlds (deftemplatesuffix="hires")
# Uses the HDMap renderer with view from the SE with the "hires" resolution (16 pixels per block edge)
#
# This file MAY need to be replaced during an upgrade - rename file to 'custom-nether-hires.txt' if you wish to customize it
#
templates:
# Nether world template (HDMap hires)
nether-hires:
enabled: true
# Number of extra zoom-out levels for world (each level is twice as big as the previous one)
extrazoomout: 2
center:
x: 0
y: 64
z: 0
maps:
- class: org.dynmap.hdmap.HDMap
name: flat
title: "Flat"
prefix: flat
perspective: iso_S_90_lowres
shader: stdtexture
lighting: default
# Map background color (day or night)
background: "#300806"
mapzoomin: 1
- class: org.dynmap.hdmap.HDMap
name: nether
title: "Surface"
prefix: nt
perspective: iso_SE_30_hires
shader: stdtexture
lighting: shadows
# Map background color (day or night)
background: "#300806"
mapzoomin: 1

View file

@ -0,0 +1,40 @@
version: 0.20
#
# Default template for "Nether" environment worlds (deftemplatesuffix="lowres")
# Uses the HDMap renderer with view from the SE with the "lowres" resolution (4 pixels per block edge)
#
# This file MAY need to be replaced during an upgrade - rename file to 'custom-nether-lowres.txt' if you wish to customize it
#
templates:
# Nether world template (HDMap lowres)
nether-lowres:
enabled: true
# # Number of extra zoom-out levels for world (each level is twice as big as the previous one)
# extrazoomout: 3
center:
x: 0
y: 64
z: 0
maps:
- class: org.dynmap.hdmap.HDMap
name: flat
title: "Flat"
prefix: flat
perspective: iso_S_90_lowres
shader: stdtexture
lighting: default
# Map background color (day or night)
background: "#300806"
# Adjust extra zoom in levels - default is 2
mapzoomin: 2
- class: org.dynmap.hdmap.HDMap
name: nether
title: "Surface"
prefix: nt
perspective: iso_SE_60_lowres
shader: stdtexture
lighting: default
# Map background color (day or night)
background: "#300806"
# Adjust extra zoom in levels - default is 2
mapzoomin: 2

View file

@ -0,0 +1,38 @@
version: 0.20
#
# Default template for "Nether" environment worlds (deftemplatesuffix="")
#
# This file MAY need to be replaced during an upgrade - rename file to 'custom-nether.txt' if you wish to customize it
#
templates:
# Nether world template (classic render)
nether:
enabled: true
# # If bigworld set to true, use alternate directory layout better suited to large worlds
# bigworld: true
# # Number of extra zoom-out levels for world (each level is twice as big as the previous one)
# extrazoomout: 3
center:
x: 0
y: 64
z: 0
maps:
- class: org.dynmap.flat.FlatMap
name: flat
title: "Flat"
prefix: flat
colorscheme: default
# Map background color (day or night)
background: "#300806"
# The textured setting makes the flat render toning much more consistent with the other maps: set to 'none' for the original flat texture, 'smooth' for blended tile top colors, 'dither' for dither pattern
textured: smooth
- class: org.dynmap.kzedmap.KzedMap
renderers:
- class: org.dynmap.kzedmap.DefaultTileRenderer
name: nether
title: "Surface"
prefix: nt
maximumheight: 127
colorscheme: default
# Map background color (day or night)
background: "#300806"

View file

@ -0,0 +1,42 @@
version: 0.20
#
# Default template for "Normal" environment worlds (deftemplatesuffix="lhires")
# Uses the HDMap renderer with view from the SE with the "hires" resolution (16 pixels per block edge)
#
# This file MAY need to be replaced during an upgrade - rename file to 'custom-normal-hires.txt' if you wish to customize it
#
templates:
# Template for normal world (HDMap hires)
normal-hires:
enabled: true
# Number of extra zoom-out levels for world (each level is twice as big as the previous one)
extrazoomout: 2
center:
x: 0
y: 64
z: 0
maps:
- class: org.dynmap.hdmap.HDMap
name: flat
title: "Flat"
prefix: flat
perspective: iso_S_90_lowres
shader: stdtexture
lighting: default
mapzoomin: 1
- class: org.dynmap.hdmap.HDMap
name: surface
title: "Surface"
prefix: t
perspective: iso_SE_30_hires
shader: stdtexture
lighting: shadows
mapzoomin: 1
- class: org.dynmap.hdmap.HDMap
name: cave
title: "Cave"
prefix: ct
perspective: iso_SE_60_lowres
shader: cave
lighting: default
mapzoomin: 3

View file

@ -0,0 +1,45 @@
version: 0.20
#
# Default template for "Normal" environment worlds (deftemplatesuffix="lowres")
# Uses the HDMap renderer with view from the SE with the "lowres" resolution (4 pixels per block edge)
#
# This file MAY need to be replaced during an upgrade - rename file to 'custom-normal-lowres.txt' if you wish to customize it
#
templates:
# Template for normal world (HDMap lowres)
normal-lowres:
enabled: true
# Number of extra zoom-out levels for world (each level is twice as big as the previous one)
extrazoomout: 2
center:
x: 0
y: 64
z: 0
maps:
- class: org.dynmap.hdmap.HDMap
name: flat
title: "Flat"
prefix: flat
perspective: iso_S_90_lowres
shader: stdtexture
lighting: default
# Adjust extra zoom in levels - default is 2
mapzoomin: 2
- class: org.dynmap.hdmap.HDMap
name: surface
title: "Surface"
prefix: t
perspective: iso_SE_60_lowres
shader: stdtexture
lighting: default
# Adjust extra zoom in levels - default is 2
mapzoomin: 2
- class: org.dynmap.hdmap.HDMap
name: cave
title: "Cave"
prefix: ct
perspective: iso_SE_60_lowres
shader: cave
lighting: default
# Adjust extra zoom in levels - default is 2
mapzoomin: 2

View file

@ -0,0 +1,89 @@
version: 0.20
#
# Default template for "Normal" environment worlds (deftemplatesuffix="")
#
# This file MAY need to be replaced during an upgrade - rename file to 'custom-normal.txt' if you wish to customize it
#
templates:
# Template for normal world (classic render)
normal:
enabled: true
# # If bigworld set to true, use alternate directory layout better suited to large worlds
# bigworld: true
# # Number of extra zoom-out levels for world (each level is twice as big as the previous one)
# extrazoomout: 3
center:
x: 0
y: 64
z: 0
maps:
- class: org.dynmap.flat.FlatMap
name: flat
title: "Flat"
prefix: flat
colorscheme: default
# The textured setting makes the flat render toning much more consistent with the other maps: set to 'none' for the original flat texture, 'smooth' for blended tile top colors, 'dither' for dither pattern
textured: smooth
# # To render a world as a "night view", set shadowstrength and ambientlight
# shadowstrength: 1.0
# ambientlight: 4
# # To render both night and day versions of tiles (when ambientlight is set), set true
# night-and-day: true
# # Option to turn on transparency support (off by default) - slows render
# transparency: true
# # Background color for map during the day
# backgroundday: "#153E7E"
# # Background color for map during the night
# backgroundnight: "#000000"
# # Background color for map (independent of night/day)
# background: "#000000"
# # Adjust extra zoom in levels - default is 3
# mapzoomin: 3
- class: org.dynmap.kzedmap.KzedMap
renderers:
- class: org.dynmap.kzedmap.DefaultTileRenderer
name: surface
title: "Surface"
prefix: t
maximumheight: 127
colorscheme: default
# # Add shadows to world (based on top-down shadows from chunk data)
# shadowstrength: 1.0
# # To render a world as a "night view", set shadowstrength and ambientlight
# ambientlight: 4
# # To render both night and day versions of tiles (when ambientlight is set), set true
# night-and-day: true
# # Option to turn off transparency support (on by default) - speeds render
# transparency: false
# # Background color for map during the day
# backgroundday: "#153E7E"
# # Background color for map during the night
# backgroundnight: "#000000"
# # Background color for map (independent of night/day)
# background: "#000000"
# # Sets the icon to 'images/block_custom.png'
# icon: custom
# # Adjust extra zoom in levels - default is 3
# mapzoomin: 3
# # Biome-based mapping
# - class: org.dynmap.kzedmap.DefaultTileRenderer
# name: biome
# title: "Biome"
# prefix: b
# maximumheight: 127
# colorscheme: default
# # Biome-based coloring : biome=biome type, temperature=biome-temperature, rainfall=biome-rainfall
# biomecolored: biome
# - class: org.dynmap.kzedmap.HighlightTileRenderer
# prefix: ht
# maximumheight: 127
# colorscheme: default
# highlight: # For highlighting multiple block-types.
# - 56 # Highlight diamond-ore
# - 66 # Highlight minecart track
# highlight: 56 # For highlighting a single block-type.
- class: org.dynmap.kzedmap.CaveTileRenderer
name: cave
title: "Cave"
prefix: ct
maximumheight: 127

View file

@ -0,0 +1,43 @@
version: 0.20
#
# Default template for "Skylands" environment worlds (deftemplatesuffix="hires")
# Uses the HDMap renderer with view from the SE with the "hires" resolution (16 pixels per block edge)
#
# This file MAY need to be replaced during an upgrade - rename file to 'custom-skylands-hires.txt' if you wish to customize it
#
templates:
# Skylands world template (HDMap hires)
skylands-hires:
enabled: true
# Number of extra zoom-out levels for world (each level is twice as big as the previous one)
extrazoomout: 2
center:
x: 0
y: 64
z: 0
maps:
- class: org.dynmap.hdmap.HDMap
name: flat
title: "Flat"
prefix: flat
perspective: iso_S_90_lowres
shader: stdtexture
lighting: default
# Background color for map during the day
backgroundday: "#153E7E"
# Background color for map during the night
backgroundnight: "#000000"
mapzoomin: 1
- class: org.dynmap.hdmap.HDMap
name: skylands
title: "Surface"
prefix: st
perspective: iso_SE_30_hires
shader: stdtexture
lighting: shadows
# Background color for map during the day
backgroundday: "#153E7E"
# Background color for map during the night
backgroundnight: "#000000"
mapzoomin: 1

View file

@ -0,0 +1,45 @@
version: 0.20
#
# Default template for "Skylands" environment worlds (deftemplatesuffix="lowres")
# Uses the HDMap renderer with view from the SE with the "lowres" resolution (4 pixels per block edge)
#
# This file MAY need to be replaced during an upgrade - rename file to 'custom-skylands-lowres.txt' if you wish to customize it
#
templates:
# Skylands world template (HDMap lowres)
skylands-lowres:
enabled: true
# Number of extra zoom-out levels for world (each level is twice as big as the previous one)
extrazoomout: 2
center:
x: 0
y: 64
z: 0
maps:
- class: org.dynmap.hdmap.HDMap
name: flat
title: "Flat"
prefix: flat
perspective: iso_S_90_lowres
shader: stdtexture
lighting: default
# Background color for map during the day
backgroundday: "#153E7E"
# Background color for map during the night
backgroundnight: "#000000"
# Adjust extra zoom in levels - default is 2
mapzoomin: 2
- class: org.dynmap.hdmap.HDMap
name: skylands
title: "Surface"
prefix: st
perspective: iso_SE_60_lowres
shader: stdtexture
lighting: shadows
# Background color for map during the day
backgroundday: "#153E7E"
# Background color for map during the night
backgroundnight: "#000000"
# Adjust extra zoom in levels - default is 2
mapzoomin: 2

View file

@ -0,0 +1,45 @@
version: 0.20
#
# Default template for "Skylands" environment worlds (deftemplatesuffix="")
#
# This file MAY need to be replaced during an upgrade - rename file to 'custom-skylands.txt' if you wish to customize it
#
templates:
# Skylands world template (classic render)
skylands:
enabled: true
# # If bigworld set to true, use alternate directory layout better suited to large worlds
# bigworld: true
# # Number of extra zoom-out levels for world (each level is twice as big as the previous one)
# extrazoomout: 3
center:
x: 0
y: 64
z: 0
maps:
- class: org.dynmap.flat.FlatMap
name: flat
title: "Flat"
prefix: flat
colorscheme: default
# Background color for map during the day
backgroundday: "#153E7E"
# Background color for map during the night
backgroundnight: "#000000"
# The textured setting makes the flat render toning much more consistent with the other maps: set to 'none' for the original flat texture, 'smooth' for blended tile top colors, 'dither' for dither pattern
textured: smooth
- class: org.dynmap.kzedmap.KzedMap
renderers:
- class: org.dynmap.kzedmap.DefaultTileRenderer
name: skylands
title: "Surface"
prefix: st
maximumheight: 127
colorscheme: default
# Background color for map during the day
backgroundday: "#153E7E"
# Background color for map during the night
backgroundnight: "#000000"
night-and-day: true
shadowstrength: 1.0
ambientlight: 4

View file

@ -0,0 +1,387 @@
# Mapping of texture resources to block ID and data values
# block:id=<block-id>,data=<data-val|*>,top=<index>,bottom=<index>,north=<index>,south=<index>,east=<index>,west=<index>,allfaces=<index>,allsides=<index>
# <index>=0-255 (index of patch in terrain.png), -1=clear, 1xxx=biome tint from grasscolor.png,257=stationary water,258=moving water,
# 259=stationary lava,260=moving lava,2xxx=biome tint from foliagecolor.png,4xxx=rotate texture 90,
# 5xxx=rotate texture 180, 6xxx=rotate texture 270, 7xxx=flip texture horizontally, 8xxx=shift down 1/2 block, 9=shift down 1/2,flip horiz,
# 10xxx=inclined-torch,11xxx=grass-side,12xxx=clear if same block
######
# Stone
block:id=1,allfaces=1
# Grass
block:id=2,allsides=11003,top=1000,bottom=2
# Dirt
block:id=3,allfaces=2
# Cobblestone
block:id=4,allfaces=16
# Wooden Plank
block:id=5,allsides=4,topbottom=4004
# Sapling
block:id=6,data=0,data=3,allsides=15,transparency=TRANSPARENT
# Sapling (Spruce)
block:id=6,data=1,allsides=63,transparency=TRANSPARENT
# Sapling (Birch)
block:id=6,data=2,allsides=79,transparency=TRANSPARENT
# Bedrock
block:id=7,allfaces=16
# Water
block:id=8,allfaces=12258,transparency=TRANSPARENT
# Stationary water
block:id=9,allfaces=12257,transparency=TRANSPARENT
# Lava
block:id=10,allfaces=260,transparency=TRANSPARENT
# Stationary Lava
block:id=11,allfaces=259,transparency=TRANSPARENT
# Sand
block:id=12,allfaces=18
# Gravel
block:id=13,allfaces=19
# Gold Ore
block:id=14,allfaces=32
# Iron Ore
block:id=15,allfaces=33
# Coal Ore
block:id=16,allfaces=34
# Wood (std)
block:id=17,data=0,allsides=20,top=21,bottom=21
# Wood (spruce/pine)
block:id=17,data=1,allsides=116,top=21,bottom=21
# Wood (birch)
block:id=17,data=2,allsides=117,top=21,bottom=21
# Leaves (std)
block:id=18,data=0,allfaces=2052,transparency=TRANSPARENT
# Leaves (spruce/pine)
block:id=18,data=1,allfaces=2132,transparency=TRANSPARENT
# Leaves (birch)
block:id=18,data=2,allfaces=2052,transparency=TRANSPARENT
# Sponge
block:id=19,allfaces=48
# Glass
block:id=20,allfaces=12049,transparency=TRANSPARENT
# Lapis Lazuli Ore
block:id=21,allfaces=160
# Lapis Lazuli Block
block:id=22,allfaces=144
# Dispenser (facing east)
block:id=23,data=2,top=62,east=46,south=45,north=45,west=45,bottom=62
# Dispenser (facing west)
block:id=23,data=3,top=62,west=46,south=45,north=45,east=45,bottom=62
# Dispenser (facing north)
block:id=23,data=4,top=62,north=46,south=45,east=45,west=45,bottom=62
# Dispenser (facing south)
block:id=23,data=5,top=62,south=46,north=45,east=45,west=45,bottom=62
# Sandstone
block:id=24,top=176,bottom=208,allsides=192
# Note Block
block:id=25,allfaces=74
# Bed - head - pointing west
block:id=26,data=8,top=5135,bottom=5135,south=7151,north=151,west=152,transparency=TRANSPARENT
# Bed - foot - pointing west
block:id=26,data=0,top=5134,bottom=5134,south=7150,north=150,east=149,transparency=TRANSPARENT
# Bed - head - pointing north
block:id=26,data=9,top=4135,bottom=4135,north=152,east=151,west=7151,transparency=TRANSPARENT
# Bed - foot - pointing north
block:id=26,data=1,top=4134,bottom=4134,south=149,east=150,west=7150,transparency=TRANSPARENT
# Bed - head - pointing east
block:id=26,data=10,top=135,bottom=135,south=151,north=7151,east=152,transparency=TRANSPARENT
# Bed - foot - pointing east
block:id=26,data=2,top=134,bottom=134,south=150,north=7150,west=149,transparency=TRANSPARENT
# Bed - head - pointing south
block:id=26,data=11,top=6135,bottom=6135,south=152,east=7151,west=151,transparency=TRANSPARENT
# Bed - foot - pointing south
block:id=26,data=3,top=6134,bottom=6134,north=149,east=7150,west=150,transparency=TRANSPARENT
# Powered rail - heading east-west - unpowered
# Powered rail - incline to east - unpowered
# Powered rail - incline to west - unpowered
block:id=27,data=0,data=4,data=5,top=4163,bottom=4163,allsides=4,transparency=TRANSPARENT
# Powered rail - heading east-west - powered
# Powered rail - incline to east - powered
# Powered rail - incline to west - powered
block:id=27,data=8,data=12,data=13,top=4179,bottom=4179,allsides=4,transparency=TRANSPARENT
# Powered rail - heading north-south - unpowered
# Powered rail - inclined to north - unpowered
# Powered rail - inclined to south - unpowered
block:id=27,data=1,data=2,data=3,top=163,bottom=163,allsides=4,transparency=TRANSPARENT
# Powered rail - heading north-sout - powered
# Powered rail - inclined to north - powered
# Powered rail - inclined to south - powered
block:id=27,data=9,data=10,data=11,top=179,bottom=179,allsides=4,transparency=TRANSPARENT
# Detector rail - heading east-west
# Detector rail - incline to east
# Detector rail - incline to west
block:id=28,data=0,data=4,data=5,top=4195,bottom=4195,allsides=4,transparency=TRANSPARENT
# Detector rail - heading north-south
# Detector rail - incline to north
# Detector rail - incline to south
block:id=28,data=1,data=2,data=3,top=195,bottom=195,allsides=4,transparency=TRANSPARENT
# Sticky piston - facing down
block:id=29,data=0,data=8,top=109,bottom=106,allsides=5108
# Sticky piston - facing up
block:id=29,data=1,data=9,top=106,bottom=109,allsides=108
# Sticky piston - facing east
block:id=29,data=2,data=10,east=106,west=109,top=6108,bottom=4108,north=4108,south=6108
# Sticky piston - facing west
block:id=29,data=3,data=11,west=106,east=109,top=4108,bottom=6108,north=6108,south=4108
# Sticky piston - facing north
block:id=29,data=4,data=12,north=106,south=109,top=108,bottom=5108,east=6108,west=4108
# Sticky piston - facing south
block:id=29,data=5,data=13,north=109,south=106,top=5108,bottom=108,east=4108,west=6108
# Web
block:id=30,allfaces=11
# Dead shrub
block:id=31,data=0,allsides=55,top=20,transparency=TRANSPARENT
# Tall Grass
block:id=31,data=1,allfaces=1039,transparency=TRANSPARENT
# Fern
block:id=31,data=2,allsides=1056,top=1000,transparency=TRANSPARENT
# Dead shrub
block:id=32,allsides=55,top=20,transparency=TRANSPARENT
# Piston - facing down
block:id=33,data=0,data=8,top=109,bottom=107,allsides=5108
# Piston - facing up
block:id=33,data=1,data=9,top=107,bottom=109,allsides=108
# Piston - facing east
block:id=33,data=2,data=10,east=107,west=109,top=6108,bottom=4108,north=4108,south=6108
# Piston - facing west
block:id=33,data=3,data=11,west=107,east=109,top=4108,bottom=6108,north=6108,south=4108
# Piston - facing north
block:id=33,data=4,data=12,north=107,south=109,top=108,bottom=5108,east=6108,west=4108
# Piston - facing south
block:id=33,data=5,data=13,north=109,south=107,top=5108,bottom=108,east=4108,west=6108
# Piston extesions - skipped - render all as if closed
block:id=34
# Wool - white
block:id=35,data=0,allfaces=64
# Wool - orange
block:id=35,data=1,allfaces=210
# Wool - Magenta
block:id=35,data=2,allfaces=194
# Wool - Light Blue
block:id=35,data=3,allfaces=178
# Wool - Yellow
block:id=35,data=4,allfaces=162
# Wool - Light Green
block:id=35,data=5,allfaces=146
# Wool - Pink
block:id=35,data=6,allfaces=130
# Wool - Gray
block:id=35,data=7,allfaces=114
# Wool - Light Gray
block:id=35,data=8,allfaces=225
# Wool - Cyan
block:id=35,data=9,allfaces=209
# Wool - Purple
block:id=35,data=10,allfaces=193
# Wool - Blue
block:id=35,data=11,allfaces=177
# Wool - Brown
block:id=35,data=12,allfaces=161
# Wool - Dark Green
block:id=35,data=13,allfaces=145
# Wool - Red
block:id=35,data=14,allfaces=129
# Wool - Black
block:id=35,data=15,allfaces=113
# Block move by piston - don't render
block:id=36
# Dandelion
block:id=37,allsides=13,top=162,transparency=TRANSPARENT
# Rose
block:id=38,allsides=12,top=129,transparency=TRANSPARENT
# Brown mushroom
block:id=39,allsides=29,top=161,transparency=TRANSPARENT
# Red mushroom
block:id=40,allsides=28,top=129,transparency=TRANSPARENT
# Gold block
block:id=41,allfaces=23
# Iron block
block:id=42,allfaces=22
# Double Slab - stone
block:id=43,data=0,allsides=5,topbottom=6
# Double Slab - Sandstone
block:id=43,data=1,top=176,bottom=208,allsides=192
# Double Slab - Wood
block:id=43,data=2,allsides=4,topbottom=4004
# Double Slab - Cobblestone
block:id=43,data=3,allfaces=16
# Slab - stone
block:id=44,data=0,allsides=5,topbottom=6,transparency=SEMITRANSPARENT
# Slab - Sandstone
block:id=44,data=1,top=176,bottom=208,allsides=192,transparency=SEMITRANSPARENT
# Slab - Wood
block:id=44,data=2,allsides=4,topbottom=4004,transparency=SEMITRANSPARENT
# Slab - Cobblestone
block:id=44,data=3,allfaces=16,transparency=SEMITRANSPARENT
# Brick Block
block:id=45,allfaces=7
# TNT
block:id=46,top=9,bottom=10,allsides=8
# Bookshelf
block:id=47,topbottom=4,allsides=35
# Mossy Cobblestone
block:id=48,allfaces=36
# Obsidian
block:id=49,allfaces=37
# Torch - inclined
block:id=50,data=1,data=2,data=3,data=4,allsides=10080,top=162,bottom=4,transparency=TRANSPARENT
# Torch - up
block:id=50,data=5,allsides=80,top=162,bottom=4,transparency=TRANSPARENT
# Fire
block:id=51,allsides=129,top=162,transparency=TRANSPARENT
# Monster spawner
block:id=52,allfaces=65,transparency=TRANSPARENT
# Wooden stairs
block:id=53,allsides=4,topbottom=4004,transparency=SEMITRANSPARENT
# Chest - single, facing west
block:id=54,data=0,topbottom=25,south=26,north=26,east=26,west=27
# Chest - single, facing south
block:id=54,data=1,topbottom=25,south=27,north=26,east=26,west=26
# Chest - single, facing east
block:id=54,data=2,topbottom=25,south=26,north=26,east=27,west=26
# Chest - single, facing north
block:id=54,data=3,topbottom=25,south=26,north=27,east=26,west=26
# Chest - left side of double, facing west
block:id=54,data=4,topbottom=25,south=26,north=26,east=58,west=41
# Chest - left side of double, facing south
block:id=54,data=5,topbottom=25,south=41,north=58,east=26,west=26
# Chest - left side of double, facing east
block:id=54,data=6,topbottom=25,south=26,north=26,east=41,west=58
# Chest - left side of double, facing north
block:id=54,data=7,topbottom=25,south=58,north=41,east=26,west=26
# Chest - right side of double, facing west
block:id=54,data=8,topbottom=25,south=26,north=26,east=57,west=42
# Chest - right side of double, facing south
block:id=54,data=9,topbottom=25,south=42,north=57,east=26,west=26
# Chest - right side of double, facing east
block:id=54,data=10,topbottom=25,south=26,north=26,east=42,west=57
# Chest - right side of double, facing north
block:id=54,data=11,topbottom=25,south=57,north=42,east=26,west=26
# Redstone wire (model handling shape - use red wool for color)
block:id=55,allfaces=129,transparency=TRANSPARENT
# Diamond ore
block:id=56,allfaces=50
# Diamond block
block:id=57,allfaces=24
# Crafting table
block:id=58,topbottom=43,east=59,west=59,north=60,south=60
# Crops (size 1)
block:id=59,data=0,allsides=88,top=1000,transparency=TRANSPARENT
# Crops (size 2)
block:id=59,data=1,allsides=89,top=1000,transparency=TRANSPARENT
# Crops (size 3)
block:id=59,data=2,allsides=90,top=1000,transparency=TRANSPARENT
# Crops (size 4)
block:id=59,data=3,allsides=91,top=1000,transparency=TRANSPARENT
# Crops (size 5)
block:id=59,data=4,allsides=92,top=1000,transparency=TRANSPARENT
# Crops (size 6)
block:id=59,data=5,allsides=93,top=1000,transparency=TRANSPARENT
# Crops (size 7)
block:id=59,data=6,allsides=94,top=1000,transparency=TRANSPARENT
# Crops (size 8)
block:id=59,data=7,allsides=95,top=1000,transparency=TRANSPARENT
# Farmland (dry)
block:id=60,data=0,allfaces=87
# Farmland (wet)
block:id=60,data=1,data=2,data=3,data=4,data=5,data=6,data=7,data=8,allfaces=88
# Furnace (facing east)
block:id=61,data=2,top=62,east=61,south=45,north=45,west=45,bottom=62
# Furnace (facing west)
block:id=61,data=3,top=62,west=61,south=45,north=45,east=45,bottom=62
# Furnace (facing north)
block:id=61,data=4,top=62,north=61,south=45,east=45,west=45,bottom=62
# Furnace (facing south)
block:id=61,data=5,top=62,south=61,north=45,east=45,west=45,bottom=62
# Signpost
block:id=62,allsides=4,topbottom=4004,transparency=TRANSPARENT
# Wooden Door - bottom
block:id=64,data=0,data=1,data=2,data=3,data=4,data=5,data=6,data=7,allsides=97,topbottom=4,transparency=TRANSPARENT
# Wooden Door - top
block:id=64,data=8,data=9,data=10,data=11,data=12,data=13,data=14,data=15,allsides=81,topbottom=4,transparency=TRANSPARENT
# Ladders
block:id=65,allsides=83,topbottom=4,transparency=TRANSPARENT
# Rail - heading east-west
# Rail - incline to east
# Rail - incline to west
block:id=66,data=0,data=4,data=5,top=4128,bottom=4128,allsides=4,transparency=TRANSPARENT
# Rail - heading north-south
# Rail - incline to north
# Rail - incline to south
block:id=66,data=1,data=2,data=3,top=128,bottom=128,allsides=4,transparency=TRANSPARENT
# Rails - northeast corner
block:id=66,data=6,topbottom=4112,allsides=4,transparency=TRANSPARENT
# Rails - southeast corner
block:id=66,data=7,topbottom=5112,allsides=4,transparency=TRANSPARENT
# Rails - southwest corner
block:id=66,data=8,topbottom=6112,allsides=4,transparency=TRANSPARENT
# Rails - northwest corner
block:id=66,data=9,topbottom=112,allsides=4,transparency=TRANSPARENT
# Cobblestone Stairs
block:id=67,allfaces=16,transparency=SEMITRANSPARENT
# Wall sign
block:id=68,allsides=4,topbottom=4004,transparency=TRANSPARENT
# Switch (just do stone for now)
block:id=69,allfaces=1,transparency=TRANSPARENT
# Stone pressure plate
block:id=70,allfaces=1,transparency=TRANSPARENT
# Iron Door - bottom
block:id=71,data=0,data=1,data=2,data=3,data=4,data=5,data=6,data=7,allsides=98,topbottom=22,transparency=TRANSPARENT
# Iron Door - top
block:id=71,data=8,data=9,data=10,data=11,data=12,data=13,data=14,data=15,allsides=82,topbottom=22,transparency=TRANSPARENT
# Wooden pressure plate
block:id=72,allsides=4,topbottom=4004,transparency=TRANSPARENT
# Redstone Ore
block:id=73,id=74,allfaces=51
# Redstone Torch - unlit - inclined
block:id=75,data=1,data=2,data=3,data=4,allsides=10115,top=162,bottom=4,transparency=TRANSPARENT
# Redstone Torch - unlit - up
block:id=75,data=5,allsides=115,top=162,bottom=4,transparency=TRANSPARENT
# Redstone Torch - lit - inclined
block:id=76,data=1,data=2,data=3,data=4,allsides=10099,top=162,bottom=4,transparency=TRANSPARENT
# Redstone Torch - lit - up
block:id=76,data=5,allsides=99,top=162,bottom=4,transparency=TRANSPARENT
# Stone button
block:id=77,allfaces=1,transparency=TRANSPARENT
# Snow
block:id=78,allfaces=66,transparency=TRANSPARENT
# Ice
block:id=79,allfaces=12067,transparency=TRANSPARENT
# Snow block
block:id=80,allfaces=66
# Cactus
block:id=81,top=69,allsides=70,bottom=71,transparency=TRANSPARENT
# Clay block
block:id=82,allfaces=72
# Sugar Cane
block:id=83,allsides=73,topbottom=21,transparency=TRANSPARENT
# Jukebox
block:id=84,allsides=74,topbottom=75
# Fence
block:id=85,allsides=4,topbottom=4004,transparency=TRANSPARENT
# Pumpkin
block:id=86,allsides=118,topbottom=102
# Netherrock
block:id=87,allfaces=103
# SoulSand
block:id=88,allfaces=104
# Glowstone Block
block:id=89,allfaces=105
# Portal (no texture for this - using purple wool)
block:id=90,allfaces=193,transparency=TRANSPARENT
# Jack O Lantern (east)
block:id=91,data=0,north=118,south=118,east=120,west=118,topbottom=102
# Jack O Lantern (south)
block:id=91,data=1,north=118,south=120,east=118,west=118,topbottom=102
# Jack O Lantern (west)
block:id=91,data=2,north=118,south=118,east=118,west=120,topbottom=102
# Jack O Lantern (north)
block:id=91,data=3,north=120,south=118,east=118,west=118,topbottom=102
# Cake Block
block:id=92,allsides=122,top=121,bottom=124,transparency=TRANSPARENT
# Repeater (off)
block:id=93,top=131,allsides=1,bottom=1,transparency=TRANSPARENT
# Repeater (on)
block:id=94,top=147,allsides=1,bottom=1,transparency=TRANSPARENT
# Locked Chest - TODO: get entity data so we can see orientation
block:id=95,top=25,south=27,north=27,east=26,west=26
# Trap door
block:id=96,topbottom=84,allsides=4,transparency=TRANSPARENT

View file

@ -0,0 +1,141 @@
# These are examples of world-specific settings - customize your content as you see fit
#
# NOTES:
# All lines here are commented with the # symbol - delete the # symbol on copied lines you wish to enable
# Definitions of a world made here will superecede any world definition with the same name in configuration.txt
# Deleting this file will result in a fresh copy being produced by dynmap.jar on the next startup.
#
worlds:
# Worlds can be handled by templates, based on world type
# You can override the properties of the template by specifying them in this section
# for example 'Title: "My Awesome World"'
#- name: world
# title: "World"
# Use 'enabled: false' to disable a certain world.
# enabled: false
# Use sendposition: false to prevent player positions from showing when on this world (if sendposition is globally enabled)
# sendposition: false
# Use sendhealth: false ot prevent player health from showing when on this world (if sendhealth is globally enabled)
# sendhealth: false
# # If world isn't contiguous chunks (due to teleporting, for example), fullrender needs to be given other locations to scan for tiles on each patch of chunks
# fullrenderlocations:
# - x: 10000
# y: 64
# z: 20000
# - x: -15000
# y: 64
# z: -5000
# # Use visibilitylimits to restrict which areas of maps on your world to render (zero or more rectangles can be defined)
# visibilitylimits:
# - x0: -1000
# z0: -1000
# x1: 1000
# z1: 1000
# - x0: -2000
# z0: -1000
# x1: -1000
# z1: -500
# # Use hidestyle to control how hidden-but-existing chunks are to be rendered (air=empty air (same as ungenerated), stone=a flat stone plain, ocean=a flat ocean)
# hidestyle: stone
# # Use 'autogenerate-to-visibilitylimits: true' to choose to force the generation of ungenerated chunks while rendering maps on this world, for any chunks within the defined
# # visibilitylimits (limits must be set). The three options here are: none (default - no autogenerate), map-only (temporarily generate chunks for map, but don't save them (no world change),
# # permanent (generate and save chunks - this permanently adds the chunks to the world, as if a player had visited them - BE SURE THIS IS WHAT YOU WANT)
# autogenerate-to-visibilitylimits: map-only
# Use 'template: mycustomtemplate' to use the properties specified in the template 'mycustomtemplate' to this world. Default it is set to the environment-name (normal or nether).
# template: mycustomtemplate
# Rest of comes from template - uncomment to tailor for world specifically
# center:
# x: 0
# y: 64
# z: 0
# # If bigworld set to true, use alternate directory layout better suited to large worlds
# bigworld: true
# # Number of extra zoom-out levels for world (each level is twice as big as the previous one)
# extrazoomout: 3
# maps:
# - class: org.dynmap.flat.FlatMap
# name: flat
# title: "Flat"
# prefix: flat
# colorscheme: default
# # The textured setting makes the flat render toning much more consistent with the other maps: set to 'none' for the original flat texture, 'smooth' for blended tile top colors, 'dither' for dither pattern
# textured: smooth
# # To render a world as a "night view", set shadowstrength and ambientlight
# shadowstrength: 1.0
# ambientlight: 4
# # To render both night and day versions of tiles (when ambientlight is set), set true
# night-and-day: true
# # Option to turn on transparency support (off by default) - slows render
# transparency: true
# # Background color for map during the day
# backgroundday: "#153E7E"
# # Background color for map during the night
# backgroundnight: "#000000"
# # Backgrounc color for map (independent of night/day)
# background: "#000000"
# - class: org.dynmap.kzedmap.KzedMap
# renderers:
# - class: org.dynmap.kzedmap.DefaultTileRenderer
# name: surface
# title: "Surface"
# prefix: t
# maximumheight: 127
# colorscheme: default
# # Add shadows to world (based on top-down shadows from chunk data)
# shadowstrength: 1.0
# # To render a world as a "night view", set shadowstrength and ambientlight
# ambientlight: 4
# # To render both night and day versions of tiles (when ambientlight is set), set true
# night-and-day: true
# # Option to turn off transparency support (on by default) - speeds render
# transparency: false
# # Background color for map during the day
# backgroundday: "#153E7E"
# # Background color for map during the night
# backgroundnight: "#000000"
# # Backgrounc color for map (independent of night/day)
# background: "#000000"
# # Sets the icon to 'images/block_custom.png'
# icon: custom
# - class: org.dynmap.kzedmap.HighlightTileRenderer
# prefix: ht
# maximumheight: 127
# colorscheme: default
# highlight: # For highlighting multiple block-types.
# - 56 # Highlight diamond-ore
# - 66 # Highlight minecart track
# highlight: 56 # For highlighting a single block-type.
# - class: org.dynmap.kzedmap.CaveTileRenderer
# name: cave
# title: "Cave"
# prefix: ct
# maximumheight: 127
#
# To just label world, and inherit rest from template, just provide name and title
#- name: world2
# title: "Second World"
#
#- name: nether
# title: "Nether"
# center:
# x: 0
# y: 64
# z: 0
# # Number of extra zoom-out levels for world (each level is twice as big as the previous one)
# extrazoomout: 3
# maps:
# - class: org.dynmap.flat.FlatMap
# name: flat
# title: "Flat"
# prefix: flat
# colorscheme: default
# # The textured setting makes the flat render toning much more consistent with the other maps: set to 'none' for the original flat texture, 'smooth' for blended tile top colors, 'dither' for dither pattern
# textured: smooth
# - class: org.dynmap.kzedmap.KzedMap
# renderers:
# - class: org.dynmap.kzedmap.DefaultTileRenderer
# name: nether
# title: "Surface"
# prefix: nt
# maximumheight: 127
# colorscheme: default