@Override protected Object getValue(String choice) throws IllegalArgumentException { return Sponge.getGame().getServiceManager().provideUnchecked(UserStorageService.class).get(choice) .orElseThrow(() -> new IllegalArgumentException("Input value '" + choice + "' was not a user!")); }
@Override public Collection<MessageReceiver> getMembers() { PermissionService service = Sponge.getGame().getServiceManager().provideUnchecked(PermissionService.class); return service.getLoadedCollections().values().stream() .flatMap(input -> input.getLoadedWithPermission(this.permission).entrySet().stream() .filter(Map.Entry::getValue) .map(entry -> entry.getKey().getCommandSource().orElse(null)) .filter(source -> source != null)) .collect(ImmutableSet.toImmutableSet()); }
@Override protected Iterable<String> getChoices(CommandSource source) { return Sponge.getGame().getServiceManager().provideUnchecked(UserStorageService.class).getAll().stream() .map(GameProfile::getName) .filter(Optional::isPresent) .map(Optional::get) .collect(ImmutableList.toImmutableList()); }
public void registerPermission(CommandCallable command, String permission) { Sponge.getGame().getServiceManager().getRegistration(PermissionService.class).ifPresent((permissionService -> { PermissionDescription.Builder permissionBuilder = permissionService.getProvider().newDescriptionBuilder(SpongeWorldEdit.inst()); permissionBuilder.id(permission).register(); })); }
public static ServiceManager getServiceManager() { return getGame().getServiceManager(); }
@Override public Collection<MessageReceiver> getMembers() { PermissionService service = Sponge.getGame().getServiceManager().provideUnchecked(PermissionService.class); return service.getKnownSubjects().values().stream() .flatMap(input -> input.getAllWithPermission(this.permission).entrySet().stream() .filter(Map.Entry::getValue) .map(entry -> entry.getKey().getCommandSource().orElse(null)) .filter(source -> source != null)) .collect(GuavaCollectors.toImmutableSet()); }
@Override protected Iterable<String> getChoices(CommandSource source) { return Sponge.getGame().getServiceManager().provideUnchecked(UserStorageService.class).getAll().stream() .map(GameProfile::getName) .filter(Optional::isPresent) .map(Optional::get) .collect(GuavaCollectors.toImmutableList()); }
@Override protected Object getValue(String choice) throws IllegalArgumentException { return Sponge.getGame().getServiceManager().provideUnchecked(UserStorageService.class).get(choice).get(); } }
public static String getHighestGroup(Player player) { try { if (!Sponge.getGame().getServiceManager().getRegistration(PermissionService.class).isPresent()) return ""; PermissionService ps = Sponge.getGame().getServiceManager().getRegistration(PermissionService.class).get().getProvider(); HashMap<Integer, Subject> subs = new HashMap<Integer, Subject>(); for (SubjectReference sub : player.getParents()) { if (sub.getCollectionIdentifier().equals(ps.getGroupSubjects().getIdentifier()) && (sub.getSubjectIdentifier() != null)) { Subject subj = sub.resolve().get(); subs.put(subj.getParents().size(), subj); } } return subs.isEmpty() ? "" : subs.get(Collections.max(subs.keySet())).getFriendlyIdentifier().isPresent() ? subs.get(Collections.max(subs.keySet())).getFriendlyIdentifier().get() : ""; } catch (InterruptedException | ExecutionException e) { } return ""; }
@Override public boolean checkPermission(String playerName, String perm) { if (playerName.equals("console")) { return true; } UUID uuid = getUUID(playerName); return loader.getGame().getServiceManager().provide(PermissionService.class).get().getUserSubjects().get(uuid.toString()).hasPermission(perm); }
@Override public void msgPaginated(Translatable title, @Nullable Translatable header, final Iterable<Text.Builder> text) { PaginationList.Builder build = pex.getGame().getServiceManager().provide(PaginationService.class).get().builder(); build.title(fmt().hl(fmt().header(fmt().tr(title))).build()); if (header != null) { build.header(fmt().tr(header).color(TextColors.GRAY).build()); } build.contents(Iterables.transform(text, input -> input.color(TextColors.DARK_AQUA).build())) .sendTo(commandSource); } }