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); } } }
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. * <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 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; }
/** * 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; } } }
@Override public Permission getPermission(String s) { return instance.getPermission(s); }
private Permission getPermission(PluginManager pm, String name) { Permission permission = pm.getPermission(name); if (permission == null) { permission = new Permission(name); } return permission; }
public String getHelp() { String ret = "do that"; Permission permission = Bukkit.getPluginManager().getPermission(perm); if (permission != null) { String desc = permission.getDescription(); if (desc != null && desc.trim().length() > 0) { ret = desc.trim(); } } return ret; }
@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; } }
private void updateAndAdd(PluginManager pm, Permission permission) { Permission oldPerm = pm.getPermission(permission.getName()); if (oldPerm == null) { pm.addPermission(permission); } permission.recalculatePermissibles(); } }
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; }
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); } } }
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); } }
/** * Adds a permission. * @param string The permission as {@link String}. * @param defaultValue The default-value. * @return The permission as {@link Permission}. */ public Permission addPermission(String string, PermissionDefault defaultValue) { if (this.plugin.getServer().getPluginManager().getPermission(string) == null) { Permission permission = new Permission(string, defaultValue); this.plugin.getServer().getPluginManager().addPermission(permission); this.addToParentPerms(string); } return this.plugin.getServer().getPluginManager().getPermission(string); }
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()); } } }
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); } }
public static org.bukkit.permissions.Permission getPermission(Permission permission) { org.bukkit.permissions.Permission bukkitPerm = Bukkit.getServer().getPluginManager().getPermission(permission.permission); if (bukkitPerm == null) { bukkitPerm = permission.getPermission(); try { Bukkit.getServer().getPluginManager().addPermission(bukkitPerm); } catch (IllegalArgumentException ignored) {} // this should never happen } return bukkitPerm; }
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 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); }
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; }