Start structuring for shaders and perspectives

This commit is contained in:
Mike Primm 2011-07-08 01:34:22 -05:00
parent ae190b3c57
commit 52f23f5e2d
8 changed files with 82 additions and 6 deletions

View file

@ -38,7 +38,7 @@ public class DefaultHDShader implements HDShader {
public DefaultHDShader(ConfigurationNode configuration) {
this.configuration = configuration;
name = (String) configuration.get("prefix");
name = (String) configuration.get("name");
double shadowweight = configuration.getDouble("shadowstrength", 0.0);
if(shadowweight > 0.0) {
shadowscale = new int[16];
@ -61,7 +61,7 @@ public class DefaultHDShader implements HDShader {
lightscale[i] = i - (15-v);
}
}
colorScheme = ColorScheme.getScheme((String)configuration.get("colorscheme"));
colorScheme = ColorScheme.getScheme(configuration.getString("colorscheme", "default"));
night_and_day = configuration.getBoolean("night-and-day", false);
transparency = configuration.getBoolean("transparency", true); /* Default on */
String biomeopt = configuration.getString("biomecolored", "none");

View file

@ -0,0 +1,33 @@
package org.dynmap.hdmap;
import java.util.HashMap;
import org.dynmap.ConfigurationNode;
import org.dynmap.Log;
public class HDMapManager {
public HashMap<String, HDShader> shaders = new HashMap<String, HDShader>();
public HashMap<String, HDPerspective> perspectives = new HashMap<String, HDPerspective>();
public void loadHDShaders(ConfigurationNode shadercfg) {
Log.verboseinfo("Loading shaders...");
for(HDShader shader : shadercfg.<HDShader>createInstances("shaders", new Class<?>[0], new Object[0])) {
if(shaders.containsKey(shader.getName())) {
Log.severe("Duplicate shader name '" + shader.getName() + "' - shader ignored");
}
shaders.put(shader.getName(), shader);
}
Log.info("Loaded " + shaders.size() + " shaders.");
}
public void loadHDPerspectives(ConfigurationNode perspectivecfg) {
Log.verboseinfo("Loading perspectives...");
for(HDPerspective perspective : perspectivecfg.<HDPerspective>createInstances("perspectives", new Class<?>[0], new Object[0])) {
if(perspectives.containsKey(perspective.getName())) {
Log.severe("Duplicate perspective name '" + perspective.getName() + "' - perspective ignored");
}
perspectives.put(perspective.getName(), perspective);
}
Log.info("Loaded " + perspectives.size() + " perspectives.");
}
}

View file

@ -0,0 +1,6 @@
package org.dynmap.hdmap;
public interface HDPerspective {
/* Get name of perspective */
String getName();
}