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(); })); }
private boolean isBanned(GameProfile profile) { Optional<ProviderRegistration<BanService>> banService = Sponge.getServiceManager().getRegistration(BanService.class); boolean banned = false; if (banService.isPresent()) { banned = banService.get().getProvider().isBanned(profile); } return banned; }
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 ""; }
public PlaceholderAPIDataAccess(Logger logger) { super(logger); addProvider(BTLPDataKeys.PAPIPlaceholder, (player, key) -> { try { return Sponge.getServiceManager().getRegistration(PlaceholderService.class).map(registration -> { PlaceholderService service = registration.getProvider(); Text text = service.replaceSourcePlaceholders(key.getParameter(), player); return TextSerializers.FORMATTING_CODE.serialize(text); }).orElse(null); } catch (Throwable th) { logger.warn("Failed to query value for placeholder \"" + key.getParameter() + "\" from PlaceholderAPI", th); return null; } }); } }
@Override public void register() { ProviderRegistration<PermissionService> provider = Sponge.getServiceManager().getRegistration(PermissionService.class).orElse(null); if(provider == null) { CraftBookPlugin.spongeInst().getLogger().warn("Missing Permissions Provider. Permissions will not work as expected!"); return; } PermissionDescription.Builder permissionBuilder = provider.getProvider().newDescriptionBuilder(CraftBookPlugin.inst()); permissionDescription = permissionBuilder.id(getNode()).description(Text.of(getDescription())).assign(getDefaultRole(), true).register(); }