1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-12 01:25:26 +02:00

Change Util.registerPermission to PermissionFactory, remove registerPermissions from Util

This commit is contained in:
ementalo
2012-08-30 13:35:22 +01:00
parent bbcf3ee352
commit bfc4b9b2a3
2 changed files with 2 additions and 39 deletions

View File

@@ -292,44 +292,6 @@ public final class Util
basePerm.recalculatePermissibles();
}
private static transient final Pattern DOT_PATTERN = Pattern.compile("\\.");
public static Permission registerPermission(String permission, PermissionDefault defaultPerm)
{
final PluginManager pluginManager = Bukkit.getServer().getPluginManager();
final String[] parts = DOT_PATTERN.split(permission);
final StringBuilder builder = new StringBuilder(permission.length());
Permission parent = null;
for (int i = 0; i < parts.length - 1; i++)
{
builder.append(parts[i]).append(".*");
String permString = builder.toString();
Permission perm = pluginManager.getPermission(permString);
if (perm == null)
{
perm = new Permission(permString, PermissionDefault.FALSE);
pluginManager.addPermission(perm);
if (parent != null)
{
parent.getChildren().put(perm.getName(), Boolean.TRUE);
}
parent = perm;
}
builder.deleteCharAt(builder.length() - 1);
}
Permission perm = pluginManager.getPermission(permission);
if (perm == null)
{
perm = new Permission(permission, defaultPerm);
pluginManager.addPermission(perm);
if (parent != null)
{
parent.getChildren().put(perm.getName(), Boolean.TRUE);
}
parent = perm;
}
perm.recalculatePermissibles();
return perm;
}
private static transient final Pattern URL_PATTERN = Pattern.compile("((?:(?:https?)://)?[\\w-_\\.]{2,})\\.([a-z]{2,3}(?:/\\S+)?)");
private static transient final Pattern VANILLA_PATTERN = Pattern.compile("\u00A7+[0-9A-FK-ORa-fk-or]");
private static transient final Pattern REPLACE_PATTERN = Pattern.compile("&([0-9a-fk-or])");

View File

@@ -2,6 +2,7 @@ package net.ess3.protect;
import java.util.Locale;
import net.ess3.api.IPermission;
import net.ess3.bukkit.PermissionFactory;
import net.ess3.utils.Util;
import org.bukkit.command.CommandSender;
import org.bukkit.permissions.Permission;
@@ -63,7 +64,7 @@ public enum Permissions implements IPermission
}
else
{
return Util.registerPermission(getPermissionName(), getPermissionDefault());
return PermissionFactory.registerPermission(getPermissionName(), getPermissionDefault());
}
}