Refine search
/** * Adds this permission to the specified parent permission. * <p> * If the parent permission does not exist, it will be created and * registered. * * @param name Name of the parent permission * @param value The value to set this permission to * @return Parent permission it created or loaded */ public Permission addParent(String name, boolean value) { PluginManager pm = Bukkit.getServer().getPluginManager(); String lname = name.toLowerCase(); Permission perm = pm.getPermission(lname); if (perm == null) { perm = new Permission(lname); pm.addPermission(perm); } addParent(perm, value); return perm; }
public void recalculatePermissions() { clearPermissions(); Set<Permission> defaults = Bukkit.getServer().getPluginManager().getDefaultPermissions(isOp()); Bukkit.getServer().getPluginManager().subscribeToDefaultPerms(isOp(), parent); for (Permission perm : defaults) { String name = perm.getName().toLowerCase(); permissions.put(name, new PermissionAttachmentInfo(parent, name, null, true)); Bukkit.getServer().getPluginManager().subscribeToPermission(name, parent); calculateChildPermissions(perm.getChildren(), false, null); } for (PermissionAttachment attachment : attachments) { calculateChildPermissions(attachment.getPermissions(), false, attachment); } }
public boolean hasPermission(String inName) { if (inName == null) { throw new IllegalArgumentException("Permission name cannot be null"); } String name = inName.toLowerCase(); if (isPermissionSet(name)) { return permissions.get(name).getValue(); } else { Permission perm = Bukkit.getServer().getPluginManager().getPermission(name); if (perm != null) { return perm.getDefault().getValue(isOp()); } else { return Permission.DEFAULT_PERMISSION.getValue(isOp()); } } }
/** * Adds this permission to the specified parent permission. * * @param perm Parent permission to register with * @param value The value to set this permission to */ public void addParent(Permission perm, boolean value) { perm.getChildren().put(getName(), value); perm.recalculatePermissibles(); }
public static Permission registerPermission(Permission perm, boolean withLegacy) { Permission result = perm; try { Bukkit.getPluginManager().addPermission(perm); } catch (IllegalArgumentException ex) { result = Bukkit.getPluginManager().getPermission(perm.getName()); } if (withLegacy) { Permission legacy = new Permission(LEGACY_PREFIX + result.getName(), result.getDescription(), PermissionDefault.FALSE); legacy.getChildren().put(result.getName(), true); registerPermission(perm, false); } return result; }
public static Permission registerPermission(String name, String desc, Permission parent) { Permission perm = registerPermission(name, desc); parent.getChildren().put(perm.getName(), true); return perm; }
private void addToRootPermission(String rootPerm, String permStringChopped) { Permission rootPermission = this.plugin.getServer().getPluginManager().getPermission(rootPerm); if (rootPermission == null) { rootPermission = new Permission(rootPerm); this.plugin.getServer().getPluginManager().addPermission(rootPermission); } rootPermission.getChildren().put(permStringChopped + ".*", true); this.plugin.getServer().getPluginManager().recalculatePermissionDefaults(rootPermission); }
private void calculateChildPermissions(Map<String, Boolean> children, boolean invert, PermissionAttachment attachment) { Set<String> keys = children.keySet(); for (String name : keys) { Permission perm = Bukkit.getServer().getPluginManager().getPermission(name); boolean value = children.get(name) ^ invert; String lname = name.toLowerCase(); permissions.put(lname, new PermissionAttachmentInfo(parent, lname, attachment, value)); Bukkit.getServer().getPluginManager().subscribeToPermission(name, parent); if (perm != null) { calculateChildPermissions(perm.getChildren(), !value, attachment); } } }
private Permission fetchBukkitPermission() { // Create with lower case string representation anyway. final PluginManager pm = Bukkit.getPluginManager(); Permission permission = pm.getPermission(lowerCaseStringRepresentation); if (permission == null) { // Assume this one doesn't have children etc. permission = new Permission(lowerCaseStringRepresentation, PermissionUtil.AUTO_GENERATED, PermissionDefault.FALSE // Cautious, perhaps. ); pm.addPermission(permission); } return permission; }
/** * Economy (soft-dependency on Vault) * - If a Vault-based economy was not found, disable the bounty system */ private static void setupEconomy() { if (Bukkit.getPluginManager().getPlugin("Vault") != null) { RegisteredServiceProvider<Economy> economyProvider = Bukkit.getServicesManager().getRegistration(Economy.class); if (economyProvider != null) { economy = economyProvider.getProvider(); } } if (economy == null) { instance.getLogger().warning("Bounty-system [disabled], Vault economy not found"); for (Permission permission : Bukkit.getPluginManager().getDefaultPermissions(false)) { if (permission.getName().startsWith("globalwarming.bounty")) { Bukkit.getPluginManager().getPermission(permission.getName()) .setDefault(PermissionDefault.FALSE); } } } else { instance.getLogger().info("Bounty-system [enabled], Vault economy found"); } }
private void ensureSecondNamespaceIsPrepared() { Permission special = this.plugin.getServer().getPluginManager().getPermission("mv.bypass.gamemode.*"); if (special == null) { special = new Permission("mv.bypass.gamemode.*", PermissionDefault.FALSE); this.plugin.getServer().getPluginManager().addPermission(special); } }
String bukkitver = getServer().getVersion(); String mcver = "1.0.0"; int idx = bukkitver.indexOf("(MC: "); List<Permission> pd = plugin.getDescription().getPermissions(); for(Permission p : pd) { perdefs.put(p.getName(), p.getDefault() == PermissionDefault.TRUE); pm.registerEvents(pl, this); perTickLimit = core.getMaxTickUseMS() * 1000000; getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() { public void run() { processTick();
final RegisteredPermission registeredChild, final PermissionDefault permissionDefault) { final String childPermissionName = registeredChild.getStringRepresentation(); final PluginManager pm = Bukkit.getPluginManager(); Permission childPermission = pm.getPermission(childPermissionName); if (childPermission == null) { childPermission = new Permission(childPermissionName, AUTO_GENERATED, permissionDefault); pm.addPermission(childPermission); Permission permission = pm.getPermission(permissionName); if (permission == null) { permission = new Permission(permissionName, AUTO_GENERATED, permissionDefault); pm.addPermission(permission); if (!permission.getChildren().containsKey(childPermissionName)) { childPermission.addParent(permission, true);
@Override public void run() { org.bukkit.permissions.Permission perm = getServer().getPluginManager().getPermission("vault.update"); if (perm == null) perm = new org.bukkit.permissions.Permission("vault.update"); perm.setDefault(PermissionDefault.OP); plugin.getServer().getPluginManager().addPermission(perm); perm.setDescription("Allows a user or the console to check for vault updates"); getServer().getScheduler().runTaskTimerAsynchronously(plugin, new Runnable() {
checked.add(CommandUtil.getCommandLabel(label, false)); final PluginManager pm = Bukkit.getPluginManager(); Permission rootPerm = pm.getPermission(permissionBase); if (rootPerm == null) { rootPerm = new Permission(permissionBase); pm.addPermission(rootPerm); Permission cmdPerm = pm.getPermission(cmdPermName); final boolean permRegistered = cmdPerm != null; if (!permRegistered) { cmdPerm = new Permission(cmdPermName); if (!cmdHadPerm) { cmdPerm.addParent(rootPerm, true); pm.addPermission(cmdPerm); changed.add(new CommandProtectionEntry(command, lcLabel, cmdPermName, cmdPerm.getDefault(), command.getPermissionMessage())); cmdPerm.setDefault(ops ? PermissionDefault.OP : PermissionDefault.FALSE); command.setPermissionMessage(permissionMessage);
/** * Checks the permission from dinnerperms * * @param perms Permissible to check for * @param permission The permission to check * @return -1 if the permission is explicitly denied, 1 if the permission is allowed, * 0 if the permission is denied by a default. */ public int internalHasPermission(Permissible perms, String permission) { if (perms.isPermissionSet(permission)) { return perms.hasPermission(permission) ? 1 : -1; } else { Permission perm = server.getPluginManager().getPermission(permission); if (perm != null) { return perm.getDefault().getValue(perms.isOp()) ? 1 : 0; } else { return 0; } } }
/** * Registers the permissions. */ public static void register() { for (DPermission permission : values()) { Bukkit.getPluginManager().addPermission(new Permission(permission.getNode(), permission.isDefault())); } }
public void restore() { // (Don't skip resetting, as there could be fall-back aliases.) // Command registered = CommandUtil.getCommand(label); // if (registered == null || registered != command) return; if (!label.equalsIgnoreCase(command.getLabel().trim().toLowerCase())) { command.setLabel(label); } command.setPermission(permission); if (permission != null && permissionDefault != null) { Permission perm = Bukkit.getPluginManager().getPermission(permission); if (perm != null && perm.getDefault() != permissionDefault) { perm.setDefault(permissionDefault); } } command.setPermissionMessage(permissionMessage); } }
@Override public boolean handlePermission(CommandSender sender, String permission) { org.bukkit.permissions.Permission perm = Bukkit.getPluginManager().getPermission(permission); if (perm == null) { return false; } switch (perm.getDefault()) { case TRUE : this.hasTRUE = true; break; case OP : this.hasOP = true; break; case NOT_OP : this.hasNOTOP = true; break; default: break; } if (hasOP && hasNOTOP) { hasTRUE = true; } // Quit checking if we found out it's TRUE return hasTRUE; } }
/** * Initializes permissions. */ private void initPerms() { this.permission = new Permission("multiverse.access." + this.getName(), "Allows access to " + this.getName(), PermissionDefault.OP); // This guy is special. He shouldn't be added to any parent perms. this.ignoreperm = new Permission("mv.bypass.gamemode." + this.getName(), "Allows players with this permission to ignore gamemode changes.", PermissionDefault.FALSE); this.exempt = new Permission("multiverse.exempt." + this.getName(), "A player who has this does not pay to enter this world, or use any MV portals in it " + this.getName(), PermissionDefault.OP); this.limitbypassperm = new Permission("mv.bypass.playerlimit." + this.getName(), "A player who can enter this world regardless of wether its full", PermissionDefault.OP); try { this.plugin.getServer().getPluginManager().addPermission(this.permission); this.plugin.getServer().getPluginManager().addPermission(this.exempt); this.plugin.getServer().getPluginManager().addPermission(this.ignoreperm); this.plugin.getServer().getPluginManager().addPermission(this.limitbypassperm); // Add the permission and exempt to parents. this.addToUpperLists(this.permission); // Add ignore to it's parent: this.ignoreperm.addParent("mv.bypass.gamemode.*", true); // Add limit bypass to it's parent this.limitbypassperm.addParent("mv.bypass.playerlimit.*", true); } catch (IllegalArgumentException e) { this.plugin.log(Level.FINER, "Permissions nodes were already added for " + this.name); } }