Add poly2d region support back to WorldGuard

This commit is contained in:
Mike Primm 2011-08-10 20:47:14 -05:00
parent 09d1814c5c
commit 3aabe7b282
2 changed files with 61 additions and 0 deletions

View file

@ -19,6 +19,27 @@ regionConstructors['WorldGuard'] = function(dynmap, configuration) {
region.min.y = region.max.y - 1;
return boxCreator(region.max.x, region.min.x, region.max.y, region.min.y, region.max.z, region.min.z);
}
function createOutlineFromRegion(region, outCreator) {
var xarray = [];
var zarray = [];
if(region.points) {
var i;
for(i = 0; i < region.points.length; i++) {
xarray[i] = region.points[i].x;
zarray[i] = region.points[i].z;
}
}
var ymin = 64;
var ymax = 64;
if(region['max-y'])
ymax = region['max-y'];
if(region['min-y'])
ymin = region['min-y'];
if(ymax < ymin) ymax = ymin;
return outCreator(xarray, ymax, ymin, zarray);
}
var regionFile = configuration.filename.substr(0, configuration.filename.lastIndexOf('.'));
regionFile += '_'+configuration.worldName+'.json';
@ -35,6 +56,13 @@ regionConstructors['WorldGuard'] = function(dynmap, configuration) {
boxLayers.push(boxLayer);
}
}
else if(region.type === 'poly2d') {
var outLayer = createOutlineFromRegion(region, configuration.createOutlineLayer);
if (outLayer) {
outLayer.bindPopup(configuration.createPopupContent(name, region));
boxLayers.push(outLayer);
}
}
});
configuration.result(new L.LayerGroup(boxLayers));