public static Permission registerPermission(Permission perm, Permission parent) { parent.getChildren().put(perm.getName(), true); return registerPermission(perm); }
public static Permission registerPermission(String name, String desc, PermissionDefault def, Permission parent) { Permission perm = registerPermission(name, desc, def); parent.getChildren().put(perm.getName(), true); return perm; }
public static Permission registerPermission(String name, String desc, PermissionDefault def, Map<String, Boolean> children, Permission parent) { Permission perm = registerPermission(name, desc, def, children); parent.getChildren().put(perm.getName(), true); return perm; }
/** * 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(String name, String desc, Permission parent) { Permission perm = registerPermission(name, desc); parent.getChildren().put(perm.getName(), true); return perm; }
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 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 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 NotifyingChildrenMap(Permission perm) { super(perm.getChildren()); this.perm = perm; }
public static Permission registerPermission(String name, String desc, PermissionDefault def, Map<String, Boolean> children, Permission parent) { Permission perm = registerPermission(name, desc, def, children); parent.getChildren().put(perm.getName(), true); return perm; }
public static Permission registerPermission(Permission perm, Permission parent) { parent.getChildren().put(perm.getName(), true); return registerPermission(perm); }
public static Permission registerPermission(String name, String desc, Permission parent) { Permission perm = registerPermission(name, desc); parent.getChildren().put(perm.getName(), true); return perm; }
public static Permission registerPermission(String name, String desc, PermissionDefault def, Permission parent) { Permission perm = registerPermission(name, desc, def); parent.getChildren().put(perm.getName(), true); return perm; }
/** * 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(); }
private void addOpOnlyPermissions(PluginManager pm, String... permissions) { for (String perm : permissions) { String name = permissionBase + perm; Permission permission = getPermission(pm, permissionBase + perm); permission.setDefault(PermissionDefault.OP); basePermission.getChildren().put(name, Boolean.TRUE); updateAndAdd(pm, permission); } }
private void addEveryonePermissions(PluginManager pm, String... permissions) { for (String perm : permissions) { String name = permissionBase + "." + perm; Permission permission = getPermission(pm, name); permission.setDefault(PermissionDefault.TRUE); basePermission.getChildren().put(name, Boolean.TRUE); updateAndAdd(pm, 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); } } }
@Override public Permission remove(Object k) { final Permission ret = super.remove(k); if (ret != null) { removeAllChildren(k.toString()); getFieldReplacer(ret).set(ret, new LinkedHashMap<>(ret.getChildren())); if (ret.getDefault() == PermissionDefault.TRUE || ret.getDefault() == PermissionDefault.FALSE) { plugin.getManager().getSubjects(PermissionsEx.SUBJECTS_DEFAULTS) .transientData() .update(PermissionsEx.SUBJECTS_USER, input -> input.setPermission(PermissionsEx.GLOBAL_CONTEXT, ret.getName(), 0)); } } return ret; }
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); }