- Баллы
- 61
- Ник в Minecraft
- mitya12342
Настраивал авто шахту по гайдам из интернета и у меня возник вопрос: В чем отличия rg define от rg claim (команды плагина WorldGuard)
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
А если не грубо говоряЕсли грубо говоря:
define -- для админов (почти не содержит какие либо лимиты для привата)
claim -- для игроков (сдержит всякие лимиты)
@Command(aliases = {"claim"},
usage = "<id> [<owner1> [<owner2> [<owners...>]]]",
desc = "Claim a region",
min = 1)
public void claim(CommandContext args, CommandSender sender) throws CommandException {
warnAboutSaveFailures(sender);
Player player = plugin.checkPlayer(sender);
LocalPlayer localPlayer = plugin.wrapPlayer(player);
RegionPermissionModel permModel = getPermissionModel(sender);
// Check permissions
if (!permModel.mayClaim()) {
throw new CommandPermissionsException();
}
String id = checkRegionId(args.getString(0), false);
RegionManager manager = checkRegionManager(plugin, player.getWorld());
checkRegionDoesNotExist(manager, id, false);
ProtectedRegion region = checkRegionFromSelection(player, id);
WorldConfiguration wcfg = plugin.getGlobalStateManager().get(player.getWorld());
// Check whether the player has created too many regions
if (!permModel.mayClaimRegionsUnbounded()) {
int maxRegionCount = wcfg.getMaxRegionCount(player);
if (maxRegionCount >= 0
&& manager.getRegionCountOfPlayer(localPlayer) >= maxRegionCount) {
throw new CommandException(
"У вас слишком много регионов, удалите один и пробуйте снова.");
}
}
ProtectedRegion existing = manager.getRegion(id);
// Check for an existing region
if (existing != null) {
if (!existing.getOwners().contains(localPlayer)) {
throw new CommandException(
"This region already exists and you don't own it.");
}
}
// We have to check whether this region violates the space of any other reion
ApplicableRegionSet regions = manager.getApplicableRegions(region);
// Check if this region overlaps any other region
if (regions.size() > 0) {
if (!regions.isOwnerOfAll(localPlayer)) {
throw new CommandException("Этот регион пересекается с другим регионом.");
}
} else {
if (wcfg.claimOnlyInsideExistingRegions) {
throw new CommandException("You may only claim regions inside " +
"existing regions that you or your group own.");
}
}
if (wcfg.maxClaimVolume >= Integer.MAX_VALUE) {
throw new CommandException("The maximum claim volume get in the configuration is higher than is supported. " +
"Currently, it must be " + Integer.MAX_VALUE+ " or smaller. Please contact a server administrator.");
}
// Check claim volume
if (!permModel.mayClaimRegionsUnbounded()) {
if (region instanceof ProtectedPolygonalRegion) {
throw new CommandException("Polygons are currently not supported for /rg claim.");
}
if (region.volume() > wcfg.maxClaimVolume) {
player.sendMessage(ChatColor.RED + "Этот регион слишком большой.");
player.sendMessage(ChatColor.RED +
"Макс. размер: " + wcfg.maxClaimVolume + ", ваш размер: " + region.volume());
return;
}
}
region.getOwners().addPlayer(player.getName());
RegionAdder task = new RegionAdder(plugin, manager, region);
ListenableFuture<?> future = plugin.getExecutorService().submit(task);
AsyncCommandHelper.wrap(future, plugin, player)
.formatUsing(id)
.registerWithSupervisor("Claiming the region '%s'...")
.sendMessageAfterDelay("(Please wait... claiming '%s'...)")
.thenRespondWith(
"Новый регион создан под названием '%s'.",
"Не удалось создать регион под названием '%s'");
}
@Command(aliases = {"define", "def", "d", "create"},
usage = "<id> [<owner1> [<owner2> [<owners...>]]]",
flags = "ng",
desc = "Defines a region",
min = 1)
public void define(CommandContext args, CommandSender sender) throws CommandException {
warnAboutSaveFailures(sender);
Player player = plugin.checkPlayer(sender);
// Check permissions
if (!getPermissionModel(sender).mayDefine()) {
throw new CommandPermissionsException();
}
String id = checkRegionId(args.getString(0), false);
RegionManager manager = checkRegionManager(plugin, player.getWorld());
checkRegionDoesNotExist(manager, id, true);
ProtectedRegion region;
if (args.hasFlag('g')) {
region = new GlobalProtectedRegion(id);
} else {
region = checkRegionFromSelection(player, id);
warnAboutDimensions(player, region);
informNewUser(player, manager, region);
}
RegionAdder task = new RegionAdder(plugin, manager, region);
task.addOwnersFromCommand(args, 2);
ListenableFuture<?> future = plugin.getExecutorService().submit(task);
AsyncCommandHelper.wrap(future, plugin, player)
.formatUsing(id)
.registerWithSupervisor("Adding the region '%s'...")
.sendMessageAfterDelay("(Please wait... adding '%s'...)")
.thenRespondWith(
"A new region has been made named '%s'.",
"Failed to add the region '%s'");
}
В исходном коде мало что понимаю, но смысл уловил. Спасибо ☺Сравните исходный код обеих команд:
/rg claim - приват региона.Настраивал авто шахту по гайдам из интернета и у меня возник вопрос: В чем отличия rg define от rg claim (команды плагина WorldGuard)