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; }
.formatUsing(minutes) .registerWithSupervisor("Running CPU profiler for %d minute(s)...") .sendMessageAfterDelay("(Please wait... profiling for %d minute(s)...)")
.formatUsing(region.getId(), world.getName()) .registerWithSupervisor("Removing owners from the region '%s' on '%s'") .sendMessageAfterDelay("(Please wait... querying player names...)")
.formatUsing(region.getId(), world.getName()) .registerWithSupervisor("Removing members from the region '%s' on '%s'") .sendMessageAfterDelay("(Please wait... querying player names...)")
@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"); }
.formatUsing(existing.getId()) .registerWithSupervisor("Removing the region '%s'...") .sendMessageAfterDelay("(Please wait... removing '%s'...)")
.formatUsing(id) .registerWithSupervisor("Updating the region '%s'...") .sendMessageAfterDelay("(Please wait... updating '%s'...)")
.formatUsing(id) .registerWithSupervisor("Adding the region '%s'...") .sendMessageAfterDelay("(Please wait... adding '%s'...)")
.formatUsing(region.getId(), world.getName()) .registerWithSupervisor("Adding owners to the region '%s' on '%s'") .sendMessageAfterDelay("(Please wait... querying player names...)")
.formatUsing(id) .registerWithSupervisor("Claiming the region '%s'...") .sendMessageAfterDelay("(Please wait... claiming '%s'...)")