Merge pull request #113 from Moo0/limitoverride

Region limit override permission.
This commit is contained in:
2011-06-26 19:35:40 -07:00
commit e843ff372e

View File

@ -237,10 +237,12 @@ public static void claim(CommandContext args, WorldGuardPlugin plugin,
WorldConfiguration wcfg = plugin.getGlobalStateManager().get(player.getWorld());
RegionManager mgr = plugin.getGlobalRegionManager().get(sel.getWorld());
// Check whether the player has created too many regions
if (wcfg.maxRegionCountPerPlayer >= 0
&& mgr.getRegionCountOfPlayer(localPlayer) >= wcfg.maxRegionCountPerPlayer) {
throw new CommandException("You own too many regions, delete one first to claim a new one.");
if (!plugin.hasPermission(sender, "worldguard.region.unlimited")) {
// Check whether the player has created too many regions
if (wcfg.maxRegionCountPerPlayer >= 0
&& mgr.getRegionCountOfPlayer(localPlayer) >= wcfg.maxRegionCountPerPlayer) {
throw new CommandException("You own too many regions, delete one first to claim a new one.");
}
}
ProtectedRegion existing = mgr.getRegion(id);
@ -289,11 +291,13 @@ public static void claim(CommandContext args, WorldGuardPlugin plugin,
}
}*/
if (region.volume() > wcfg.maxClaimVolume) {
player.sendMessage(ChatColor.RED + "This region is to large to claim.");
player.sendMessage(ChatColor.RED +
"Max. volume: " + wcfg.maxClaimVolume + ", your volume: " + region.volume());
return;
if (!plugin.hasPermission(sender, "worldguard.region.unlimited")) {
if (region.volume() > wcfg.maxClaimVolume) {
player.sendMessage(ChatColor.RED + "This region is too large to claim.");
player.sendMessage(ChatColor.RED +
"Max. volume: " + wcfg.maxClaimVolume + ", your volume: " + region.volume());
return;
}
}
region.getOwners().addPlayer(player.getName());