public AsyncCommandHelper forRegionDataLoad(World world, boolean silent) { checkNotNull(world); formatUsing(world.getName()); registerWithSupervisor("Loading region data for '%s'"); if (silent) { thenTellErrorsOnly("Failed to load regions '%s'"); } else { sendMessageAfterDelay("(Please wait... loading the region data for '%s')"); thenRespondWith( "Loaded region data for '%s'", "Failed to load regions '%s'"); } return this; }
public AsyncCommandHelper forRegionDataSave(World world, boolean silent) { checkNotNull(world); formatUsing(world.getName()); registerWithSupervisor("Saving region data for '%s'"); if (silent) { thenTellErrorsOnly("Failed to save regions '%s'"); } else { sendMessageAfterDelay("(Please wait... saving the region data for '%s')"); thenRespondWith( "Saved region data for '%s'", "Failed to load regions '%s'"); } return this; }
.registerWithSupervisor("Saving regions for all worlds") .sendMessageAfterDelay("(Please wait... saving region data for all worlds...)") .thenRespondWith( "Successfully saved the region data for all worlds.", "Failed to save regions for all worlds");
.registerWithSupervisor("Loading regions for all worlds") .sendMessageAfterDelay("(Please wait... loading region data for all worlds...)") .thenRespondWith( "Successfully load the region data for all worlds.", "Failed to load regions for all worlds");
.registerWithSupervisor("Removing owners from the region '%s' on '%s'") .sendMessageAfterDelay("(Please wait... querying player names...)") .thenRespondWith("Region '%s' updated with owners removed.", "Failed to remove owners");
.registerWithSupervisor("Removing members from the region '%s' on '%s'") .sendMessageAfterDelay("(Please wait... querying player names...)") .thenRespondWith("Region '%s' updated with members removed.", "Failed to remove members");
@Command(aliases = {"addmember", "addmember", "addmem", "am"}, usage = "<id> <members...>", flags = "nw:", desc = "Add a member to a region", min = 2) public void addMember(CommandContext args, Actor sender) throws CommandException { warnAboutSaveFailures(sender); World world = checkWorld(args, sender, 'w'); // Get the world String id = args.getString(0); RegionManager manager = checkRegionManager(world); ProtectedRegion region = checkExistingRegion(manager, id, true); id = region.getId(); // Check permissions if (!getPermissionModel(sender).mayAddMembers(region)) { throw new CommandPermissionsException(); } // Resolve members asynchronously DomainInputResolver resolver = new DomainInputResolver( WorldGuard.getInstance().getProfileService(), args.getParsedPaddedSlice(1, 0)); resolver.setLocatorPolicy(args.hasFlag('n') ? UserLocatorPolicy.NAME_ONLY : UserLocatorPolicy.UUID_ONLY); // Then add it to the members ListenableFuture<DefaultDomain> future = Futures.transform( WorldGuard.getInstance().getExecutorService().submit(resolver), resolver.createAddAllFunction(region.getMembers())); AsyncCommandHelper.wrap(future, worldGuard.getSupervisor(), sender, worldGuard.getExceptionConverter()) .formatUsing(region.getId(), world.getName()) .registerWithSupervisor("Adding members to the region '%s' on '%s'") .sendMessageAfterDelay("(Please wait... querying player names...)") .thenRespondWith("Region '%s' updated with new members.", "Failed to add new members"); }
.registerWithSupervisor("Removing the region '%s'...") .sendMessageAfterDelay("(Please wait... removing '%s'...)") .thenRespondWith( "The region named '%s' has been removed.", "Failed to remove the region '%s'");
.registerWithSupervisor("Updating the region '%s'...") .sendMessageAfterDelay("(Please wait... updating '%s'...)") .thenRespondWith( "Region '%s' has been updated with a new area.", "Failed to update the region '%s'");
.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'");
.registerWithSupervisor("Adding owners to the region '%s' on '%s'") .sendMessageAfterDelay("(Please wait... querying player names...)") .thenRespondWith("Region '%s' updated with new owners.", "Failed to add new owners");
.registerWithSupervisor("Claiming the region '%s'...") .sendMessageAfterDelay("(Please wait... claiming '%s'...)") .thenRespondWith( "A new region has been claimed named '%s'.", "Failed to claim the region '%s'");