From c3c0f82809400aa350c5775f4197172a18d3169d Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Sat, 3 Mar 2012 20:48:04 -0800 Subject: [PATCH] Made config allow material names --- Metropolis/.gitignore | 1 + Metropolis/pom.xml | 20 ++-- .../metropolis/MetropolisPlugin.java | 96 ++++++++++++------- .../bukkitplugins/metropolis/PlayerHome.java | 2 - 4 files changed, 71 insertions(+), 48 deletions(-) diff --git a/Metropolis/.gitignore b/Metropolis/.gitignore index 9477b6b..395375d 100644 --- a/Metropolis/.gitignore +++ b/Metropolis/.gitignore @@ -2,3 +2,4 @@ /Plugin.jardesc /Plugin-Release.jardesc /lib +/target diff --git a/Metropolis/pom.xml b/Metropolis/pom.xml index d7c2fdb..91e16f7 100644 --- a/Metropolis/pom.xml +++ b/Metropolis/pom.xml @@ -21,19 +21,20 @@ - - sk89q-mvn2 - http://mvn2.sk89q.com/repo - - bukkit-repo http://repo.bukkit.org/content/groups/public - + + + org.bukkit + bukkit + 1.2.3-R0.1-SNAPSHOT + + com.sk89q @@ -41,13 +42,6 @@ 5.3-SNAPSHOT - - - org.bukkit - bukkit - 1.1-R4-SNAPSHOT - - com.sk89q diff --git a/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/MetropolisPlugin.java b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/MetropolisPlugin.java index 8231b40..e317fad 100644 --- a/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/MetropolisPlugin.java +++ b/Metropolis/src/main/java/com/majinnaibu/bukkitplugins/metropolis/MetropolisPlugin.java @@ -60,21 +60,21 @@ public class MetropolisPlugin extends JavaPlugin { private int roadWidth = 4; private int roadLevel = 62; private int spaceAboveRoad = 2; - private int roadMaterial = 4; + private Material roadMaterial = Material.COBBLESTONE; private boolean generateRoadSupports = true; - private int roadSupportMaterial = 2; + private Material roadSupportMaterial = Material.STONE; private String worldName = "world"; private boolean generateFloor = false; - private int floorMaterial = 2; + private Material floorMaterial = Material.GRASS; private int spaceAboveFloor = 2; private boolean generateSign = false; private boolean generateSpawn = true; private boolean setWorldSpawn = true; - private int spawnFloorMaterial = 4; + private Material spawnFloorMaterial = Material.COBBLESTONE; private boolean generateFloorSupports = false; - private int floorSupportMaterial = 1; + private Material floorSupportMaterial = Material.STONE; private boolean generateWall = false; - private int wallMaterial = 20; + private Material wallMaterial = Material.GLASS; private int wallHeight = 128; private Cuboid _spawnCuboid = null; @@ -121,22 +121,22 @@ public class MetropolisPlugin extends JavaPlugin { plotSizeX = safeGetIntFromConfig(config, "plot.sizeX"); plotSizeZ = safeGetIntFromConfig(config, "plot.sizeZ"); generateFloor = safeGetBooleanFromConfig(config, "plot.floor.generate"); - floorMaterial = safeGetIntFromConfig(config, "plot.floor.material"); + floorMaterial = safeGetMaterialFromConfig(config, "plot.floor.material"); spaceAboveFloor = safeGetIntFromConfig(config, "plot.floor.clearSpaceAbove"); generateFloorSupports = safeGetBooleanFromConfig(config, "plot.floor.supports.generate"); - floorSupportMaterial = safeGetIntFromConfig(config, "plot.floor.supports.material"); + floorSupportMaterial = safeGetMaterialFromConfig(config, "plot.floor.supports.material"); generateSign = safeGetBooleanFromConfig(config, "plot.sign.generate"); roadWidth = safeGetIntFromConfig(config, "road.width"); spaceAboveRoad = safeGetIntFromConfig(config, "road.clearSpaceAbove"); roadLevel = safeGetIntFromConfig(config, "road.level"); - roadMaterial = safeGetIntFromConfig(config, "road.material"); + roadMaterial = safeGetMaterialFromConfig(config, "road.material"); generateRoadSupports = safeGetBooleanFromConfig(config, "road.supports.generate"); - roadSupportMaterial = safeGetIntFromConfig(config, "road.supports.material"); + roadSupportMaterial = safeGetMaterialFromConfig(config, "road.supports.material"); generateSpawn = safeGetBooleanFromConfig(config, "spawn.generate"); setWorldSpawn = safeGetBooleanFromConfig(config, "spawn.setAsWorldSpawn"); - spawnFloorMaterial = safeGetIntFromConfig(config, "spawn.material"); + spawnFloorMaterial = safeGetMaterialFromConfig(config, "spawn.material"); generateWall = safeGetBooleanFromConfig(config, "wall.generate"); - wallMaterial = safeGetIntFromConfig(config, "wall.material"); + wallMaterial = safeGetMaterialFromConfig(config, "wall.material"); wallHeight = safeGetIntFromConfig(config, "wall.material"); worldName = safeGetStringFromConfig(config, "worldname"); saveConfig(); @@ -250,6 +250,20 @@ public class MetropolisPlugin extends JavaPlugin { return 0; } } + + private Material safeGetMaterialFromConfig(Configuration config, String name){ + Material material = null; + if(config.isInt(name)){ + material = Material.getMaterial(config.getInt(name)); + }else if(config.isString(name)){ + material = Material.getMaterial(config.getString(name)); + if(material== null){ + material = Material.matchMaterial(config.getString(name)); + } + } + + return material; + } private void throwInvalidConfigException() { log.info("Metropolis: ERROR config file is invalid. Please correct Metropolis/config.yml and restart the server."); @@ -269,12 +283,12 @@ public class MetropolisPlugin extends JavaPlugin { for(z=min.getBlockZ(); z<= max.getBlockZ(); z++){ for(y=roadLevel+1; y