diff --git a/src/main/java/org/dynmap/regions/RegionHandler.java b/src/main/java/org/dynmap/regions/RegionHandler.java index 43711d40..00d830f5 100644 --- a/src/main/java/org/dynmap/regions/RegionHandler.java +++ b/src/main/java/org/dynmap/regions/RegionHandler.java @@ -55,6 +55,25 @@ public class RegionHandler extends FileHandler { else if(regiontype.equals("Factions")) { regionData = factions.getRegionData(worldname); } + else if(regiontype.equals("Residence")) { + File f = new File("plugins/Residence/Save/Worlds", "res_" + worldname + ".yml"); + if(f.exists()) { + regionConfig = new org.bukkit.util.config.Configuration(f); + } + else { + f = new File("plugins/Residence", "res.yml"); + if(f.exists()) { + regionConfig = new org.bukkit.util.config.Configuration(f); + } + } + if(regionConfig == null) return null; + regionConfig.load(); + regionData = (Map) regionConfig.getProperty("Residences"); + if(regionData == null) { + Log.severe("Region data from " + f.getPath() + " does not include basenode 'Residences'"); + return null; + } + } else { /* If using worldpath, format is either plugins/// OR * plugins//worlds// diff --git a/src/main/java/org/dynmap/regions/RegionsComponent.java b/src/main/java/org/dynmap/regions/RegionsComponent.java index 9e73c25b..c4951a91 100644 --- a/src/main/java/org/dynmap/regions/RegionsComponent.java +++ b/src/main/java/org/dynmap/regions/RegionsComponent.java @@ -73,7 +73,7 @@ public class RegionsComponent extends ClientComponent { { File outputFile; org.bukkit.util.config.Configuration regionConfig = null; - Map regionData; + Map regionData = null; File webWorldPath; if(regiontype.equals("Towny")) { @@ -86,10 +86,27 @@ public class RegionsComponent extends ClientComponent { outputFileName = "factions_" + wname + ".json"; webWorldPath = new File(plugin.getWebPath()+"/standalone/", outputFileName); } + else if(regiontype.equals("Residence")) { + File f = new File("plugins/Residence/Save/Worlds", "res_" + wname + ".yml"); + if(f.exists()) { + regionConfig = new org.bukkit.util.config.Configuration(f); + } + else { + f = new File("plugins/Residence", "res.yml"); + if(f.exists()) { + regionConfig = new org.bukkit.util.config.Configuration(f); + } + } + if(regionConfig == null) return; + outputFileName = "res_" + wname + ".json"; + webWorldPath = new File(plugin.getWebPath()+"/standalone/", outputFileName); + regionConfig.load(); + regionData = (Map) regionConfig.getProperty("Residences"); + } else { if(configuration.getBoolean("useworldpath", false)) { - if(new File("plugins/"+configuration.getString("name", "WorldGuard"), regionFile).exists()) + if(new File("plugins/"+regiontype, regionFile).exists()) regionConfig = new org.bukkit.util.config.Configuration(new File("plugins/"+regiontype, regionFile)); else if(new File("plugins/"+regiontype+"/worlds", regionFile).exists()) regionConfig = new org.bukkit.util.config.Configuration(new File("plugins/"+regiontype+"/worlds", regionFile));