diff --git a/src/main/resources/configuration.txt b/src/main/resources/configuration.txt
index 015b205c..938367df 100644
--- a/src/main/resources/configuration.txt
+++ b/src/main/resources/configuration.txt
@@ -79,6 +79,24 @@ components:
# visibleregions:
# - homebase
# - miningsite
+ #- class: org.dynmap.regions.RegionsComponent
+ # type: regions
+ # name: Residence
+ # useworldpath: false
+ # filename: res.yml
+ # basenode: Residences
+ # use3dregions: false
+ # infowindow: '
%regionname%
Owner %playerowners%
Flags
%flags%
'
+ # 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"
diff --git a/web/js/regions_Residence.js b/web/js/regions_Residence.js
index 282f9db9..bf7e2105 100644
--- a/web/js/regions_Residence.js
+++ b/web/js/regions_Residence.js
@@ -1,122 +1,115 @@
-regionConstructors['polygon'] = function(map, name, region)
+regionConstructors['polygon'] = function(map, resname, region)
{
- if(regionCfg.regiontype == 'worldguard')
- {
- region.x1 = region.min.x;
- region.y1 = region.min.y;
- region.z1 = region.min.z;
- region.x2 = region.max.x;
- region.y2 = region.max.y;
- region.z2 = region.max.z;
- }
+ $.each(region.Areas, function(aname, area) {
+ var name = resname + '_' + aname;
if(regionCfg.use3dregions)
{
regionPolygons[name+'_bottom'] = new google.maps.Polygon($.extend(regionCfg.regionstyle, {
paths: [
- map.getProjection().fromWorldToLatLng(region.x1,region.y1,region.z1),
- map.getProjection().fromWorldToLatLng(region.x2,region.y1,region.z1),
- map.getProjection().fromWorldToLatLng(region.x2,region.y1,region.z2),
- map.getProjection().fromWorldToLatLng(region.x1,region.y1,region.z2)
+ map.getProjection().fromWorldToLatLng(area.X1,area.Y1,area.Z1),
+ map.getProjection().fromWorldToLatLng(area.X2,area.Y1,area.Z1),
+ map.getProjection().fromWorldToLatLng(area.X2,area.Y1,area.Z2),
+ map.getProjection().fromWorldToLatLng(area.X1,area.Y1,area.Z2)
],
map: map
}));
google.maps.event.addListener(regionPolygons[name+'_bottom'] , 'click', function(event) {
- regionInfo(event, name, region);
+ regionInfo(event, resname, region);
});
regionPolygons[name+'_top'] = new google.maps.Polygon($.extend(regionCfg.regionstyle, {
paths: [
- map.getProjection().fromWorldToLatLng(region.x1,region.y2,region.z1),
- map.getProjection().fromWorldToLatLng(region.x2,region.y2,region.z1),
- map.getProjection().fromWorldToLatLng(region.x2,region.y2,region.z2),
- map.getProjection().fromWorldToLatLng(region.x1,region.y2,region.z2)
+ map.getProjection().fromWorldToLatLng(area.X1,area.Y2,area.Z1),
+ map.getProjection().fromWorldToLatLng(area.X2,area.Y2,area.Z1),
+ map.getProjection().fromWorldToLatLng(area.X2,area.Y2,area.Z2),
+ map.getProjection().fromWorldToLatLng(area.X1,area.Y2,area.Z2)
],
map: map
}));
google.maps.event.addListener(regionPolygons[name+'_top'] , 'click', function(event) {
- regionInfo(event, name, region);
+ regionInfo(event, resname, region);
});
regionPolygons[name+'_east'] = new google.maps.Polygon($.extend(regionCfg.regionstyle, {
paths: [
- map.getProjection().fromWorldToLatLng(region.x1,region.y1,region.z1),
- map.getProjection().fromWorldToLatLng(region.x1,region.y2,region.z1),
- map.getProjection().fromWorldToLatLng(region.x2,region.y2,region.z1),
- map.getProjection().fromWorldToLatLng(region.x2,region.y1,region.z1)
+ map.getProjection().fromWorldToLatLng(area.X1,area.Y1,area.Z1),
+ map.getProjection().fromWorldToLatLng(area.X1,area.Y2,area.Z1),
+ map.getProjection().fromWorldToLatLng(area.X2,area.Y2,area.Z1),
+ map.getProjection().fromWorldToLatLng(area.X2,area.Y1,area.Z1)
],
map: map
}));
google.maps.event.addListener(regionPolygons[name+'_east'] , 'click', function(event) {
- regionInfo(event, name, region);
+ regionInfo(event, resname, region);
});
regionPolygons[name+'_south'] = new google.maps.Polygon($.extend(regionCfg.regionstyle, {
paths: [
- map.getProjection().fromWorldToLatLng(region.x2,region.y1,region.z1),
- map.getProjection().fromWorldToLatLng(region.x2,region.y2,region.z1),
- map.getProjection().fromWorldToLatLng(region.x2,region.y2,region.z2),
- map.getProjection().fromWorldToLatLng(region.x2,region.y1,region.z2)
+ map.getProjection().fromWorldToLatLng(area.X2,area.Y1,area.Z1),
+ map.getProjection().fromWorldToLatLng(area.X2,area.Y2,area.Z1),
+ map.getProjection().fromWorldToLatLng(area.X2,area.Y2,area.Z2),
+ map.getProjection().fromWorldToLatLng(area.X2,area.Y1,area.Z2)
],
map: map
}));
google.maps.event.addListener(regionPolygons[name+'_south'] , 'click', function(event) {
- regionInfo(event, name, region);
+ regionInfo(event, resname, region);
});
regionPolygons[name+'_west'] = new google.maps.Polygon($.extend(regionCfg.regionstyle, {
paths: [
- map.getProjection().fromWorldToLatLng(region.x1,region.y1,region.z2),
- map.getProjection().fromWorldToLatLng(region.x1,region.y2,region.z2),
- map.getProjection().fromWorldToLatLng(region.x2,region.y2,region.z2),
- map.getProjection().fromWorldToLatLng(region.x2,region.y1,region.z2)
+ map.getProjection().fromWorldToLatLng(area.X1,area.Y1,area.Z2),
+ map.getProjection().fromWorldToLatLng(area.X1,area.Y2,area.Z2),
+ map.getProjection().fromWorldToLatLng(area.X2,area.Y2,area.Z2),
+ map.getProjection().fromWorldToLatLng(area.X2,area.Y1,area.Z2)
],
map: map
}));
google.maps.event.addListener(regionPolygons[name+'_west'] , 'click', function(event) {
- regionInfo(event, name, region);
+ regionInfo(event, resname, region);
});
regionPolygons[name+'_north'] = new google.maps.Polygon($.extend(regionCfg.regionstyle, {
paths: [
- map.getProjection().fromWorldToLatLng(region.x1,region.y1,region.z1),
- map.getProjection().fromWorldToLatLng(region.x1,region.y2,region.z1),
- map.getProjection().fromWorldToLatLng(region.x1,region.y2,region.z2),
- map.getProjection().fromWorldToLatLng(region.x1,region.y1,region.z2)
+ map.getProjection().fromWorldToLatLng(area.X1,area.Y1,area.Z1),
+ map.getProjection().fromWorldToLatLng(area.X1,area.Y2,area.Z1),
+ map.getProjection().fromWorldToLatLng(area.X1,area.Y2,area.Z2),
+ map.getProjection().fromWorldToLatLng(area.X1,area.Y1,area.Z2)
],
map: map
}));
google.maps.event.addListener(regionPolygons[name+'_west'] , 'click', function(event) {
- regionInfo(event, name, region);
+ regionInfo(event, resname, region);
});
}
else
{
- middleY = region.y2;
+ middleY = area.Y2;
regionPolygons[name+'_bottom'] = new google.maps.Polygon($.extend(regionCfg.regionstyle, {
paths: [
- map.getProjection().fromWorldToLatLng(region.x1,middleY,region.z1),
- map.getProjection().fromWorldToLatLng(region.x2,middleY,region.z1),
- map.getProjection().fromWorldToLatLng(region.x2,middleY,region.z2),
- map.getProjection().fromWorldToLatLng(region.x1,middleY,region.z2)
+ map.getProjection().fromWorldToLatLng(area.X1,middleY,area.Z1),
+ map.getProjection().fromWorldToLatLng(area.X2,middleY,area.Z1),
+ map.getProjection().fromWorldToLatLng(area.X2,middleY,area.Z2),
+ map.getProjection().fromWorldToLatLng(area.X1,middleY,area.Z2)
],
map: map
}));
google.maps.event.addListener(regionPolygons[name+'_bottom'] , 'click', function(event) {
- regionInfo(event, name, region);
+ regionInfo(event, resname, region);
});
}
+ });
}
regionConstructors['info'] = function(event, name, region)
{
- if(regionCfg.regiontype == 'residence')
+ var flags = "";
+ $.each(region.Permissions.AreaFlags, function(flag, status)
{
- $.each(region.areaflags, function(flag, status)
- {
-
- });
- var replace = ['%regionname%','%owners%'];
- var by = [name,region.permissions.owner];
- }
+ flags += flag+': '+status+'
';
+ });
+ var replace = ['%regionname%','%playerowners%','%flags%','%groupowners%', '%playermembers%', '%groupmembers%','%parent%', '%priority%'];
+ var by = [name,region.Permissions.Owner, flags, '', '', '', '', ''];
+
var contentString = arrayReplace(replace, by, regionCfg.infowindow)
regionInfoWindow.setContent(contentString);
@@ -133,11 +126,11 @@ regionConstructors['update'] = function(map)
region.setMap(null);
});
regionPolygons = {};
- $.getJSON("standalone/res.json", function(data)
+ $.getJSON("standalone/res_" + map + ".json", function(data)
{
$.each(data, function(name, residence)
{
- if(map == residence.world)
+ if(map == residence.Permissions.World)
makeRegionPolygonCube(dynmap.map, name, residence);
});
});