Part 1 of upstream merge and format

This commit is contained in:
MattBDev
2020-07-13 22:50:59 -04:00
parent 79771e83e0
commit 3bc692ff11
576 changed files with 3979 additions and 3421 deletions

View File

@ -31,10 +31,10 @@ import java.util.Map;
import java.util.Set;
public class ConfigurationPermissionsResolver implements PermissionsResolver {
private YAMLProcessor config;
private Map<String, Set<String>> userPermissionsCache;
private Set<String> defaultPermissionsCache;
private Map<String, Set<String>> userGroups;
private final YAMLProcessor config;
private final Map<String, Set<String>> userPermissionsCache = new HashMap<>();
private final Set<String> defaultPermissionsCache = new HashSet<>();
private final Map<String, Set<String>> userGroups = new HashMap<>();
public ConfigurationPermissionsResolver(YAMLProcessor config) {
this.config = config;
@ -42,9 +42,10 @@ public class ConfigurationPermissionsResolver implements PermissionsResolver {
public static YAMLNode generateDefaultPerms(YAMLNode section) {
section.setProperty("groups.default.permissions", new String[] {
"worldedit.reload",
"worldedit.selection",
"worlds.creative.worldedit.region"});
"worldedit.reload",
"worldedit.selection",
"worlds.creative.worldedit.region"
});
section.setProperty("groups.admins.permissions", new String[] { "*" });
section.setProperty("users.sk89q.permissions", new String[] { "worldedit" });
section.setProperty("users.sk89q.groups", new String[] { "admins" });
@ -53,9 +54,9 @@ public class ConfigurationPermissionsResolver implements PermissionsResolver {
@Override
public void load() {
userGroups = new HashMap<>();
userPermissionsCache = new HashMap<>();
defaultPermissionsCache = new HashSet<>();
userGroups.clear();
userPermissionsCache.clear();
defaultPermissionsCache.clear();
Map<String, Set<String>> userGroupPermissions = new HashMap<>();

View File

@ -78,6 +78,8 @@ public class DinnerPermsResolver implements PermissionsResolver {
return false;
case 1:
return true;
default:
break;
}
int dotPos = permission.lastIndexOf(".");
while (dotPos > -1) {
@ -86,6 +88,8 @@ public class DinnerPermsResolver implements PermissionsResolver {
return false;
case 1:
return true;
default:
break;
}
dotPos = permission.lastIndexOf(".", dotPos - 1);
}
@ -126,19 +130,23 @@ public class DinnerPermsResolver implements PermissionsResolver {
}
public Permissible getPermissible(OfflinePlayer offline) {
if (offline == null) return null;
if (offline == null) {
return null;
}
Permissible perm = null;
if (offline instanceof Permissible) {
perm = (Permissible) offline;
} else {
Player player = offline.getPlayer();
if (player != null) perm = player;
if (player != null) {
perm = player;
}
}
return perm;
}
/**
* Checks the permission from dinnerperms
* Checks the permission from dinnerperms.
*
* @param perms Permissible to check for
* @param permission The permission to check

View File

@ -35,8 +35,8 @@ public class NijiPermissionsResolver implements PermissionsResolver {
private static final Logger log = LoggerFactory.getLogger(NijiPermissionsResolver.class);
private Server server;
private Permissions api;
private final Server server;
private final Permissions api;
public static PermissionsResolver factory(Server server, YAMLProcessor config) {
PluginManager pluginManager = server.getPluginManager();
@ -76,7 +76,9 @@ public class NijiPermissionsResolver implements PermissionsResolver {
public boolean hasPermission(String name, String permission) {
try {
Player player = server.getPlayerExact(name);
if (player == null) return false;
if (player == null) {
return false;
}
try {
return api.getHandler().has(player, permission);
} catch (Throwable t) {
@ -107,7 +109,9 @@ public class NijiPermissionsResolver implements PermissionsResolver {
public boolean inGroup(String name, String group) {
try {
Player player = server.getPlayerExact(name);
if (player == null) return false;
if (player == null) {
return false;
}
try {
return api.getHandler().inGroup(player.getWorld().getName(), name, group);
} catch (Throwable t) {
@ -124,13 +128,17 @@ public class NijiPermissionsResolver implements PermissionsResolver {
public String[] getGroups(String name) {
try {
Player player = server.getPlayerExact(name);
if (player == null) return new String[0];
if (player == null) {
return new String[0];
}
String[] groups = null;
try {
groups = api.getHandler().getGroups(player.getWorld().getName(), player.getName());
} catch (Throwable t) {
String group = api.Security.getGroup(player.getWorld().getName(), player.getName());
if (group != null) groups = new String[] { group };
if (group != null) {
groups = new String[] { group };
}
}
if (groups == null) {
return new String[0];

View File

@ -40,24 +40,24 @@ import java.util.List;
public class PermissionsResolverManager implements PermissionsResolver {
private static final String CONFIG_HEADER = "#\r\n" +
"# WEPIF Configuration File\r\n" +
"#\r\n" +
"# This file handles permissions configuration for every plugin using WEPIF\r\n" +
"#\r\n" +
"# About editing this file:\r\n" +
"# - DO NOT USE TABS. You MUST use spaces or Bukkit will complain. If\r\n" +
"# you use an editor like Notepad++ (recommended for Windows users), you\r\n" +
"# must configure it to \"replace tabs with spaces.\" In Notepad++, this can\r\n" +
"# be changed in Settings > Preferences > Language Menu.\r\n" +
"# - Don't get rid of the indents. They are indented so some entries are\r\n" +
"# in categories (like \"enforce-single-session\" is in the \"protection\"\r\n" +
"# category.\r\n" +
"# - If you want to check the format of this file before putting it\r\n" +
"# into WEPIF, paste it into http://yaml-online-parser.appspot.com/\r\n" +
"# and see if it gives \"ERROR:\".\r\n" +
"# - Lines starting with # are comments and so they are ignored.\r\n" +
"\r\n";
private static final String CONFIG_HEADER = "#\r\n"
+ "# WEPIF Configuration File\r\n"
+ "#\r\n"
+ "# This file handles permissions configuration for every plugin using WEPIF\r\n"
+ "#\r\n"
+ "# About editing this file:\r\n"
+ "# - DO NOT USE TABS. You MUST use spaces or Bukkit will complain. If\r\n"
+ "# you use an editor like Notepad++ (recommended for Windows users), you\r\n"
+ "# must configure it to \"replace tabs with spaces.\" In Notepad++, this can\r\n"
+ "# be changed in Settings > Preferences > Language Menu.\r\n"
+ "# - Don't get rid of the indents. They are indented so some entries are\r\n"
+ "# in categories (like \"enforce-single-session\" is in the \"protection\"\r\n"
+ "# category.\r\n"
+ "# - If you want to check the format of this file before putting it\r\n"
+ "# into WEPIF, paste it into https://yaml-online-parser.appspot.com/\r\n"
+ "# and see if it gives \"ERROR:\".\r\n"
+ "# - Lines starting with # are comments and so they are ignored.\r\n"
+ "\r\n";
private static PermissionsResolverManager instance;
@ -78,22 +78,22 @@ public class PermissionsResolverManager implements PermissionsResolver {
return instance;
}
private Server server;
private final Server server;
private PermissionsResolver permissionResolver;
private YAMLProcessor config;
private Logger logger = LoggerFactory.getLogger(getClass());
private List<Class<? extends PermissionsResolver>> enabledResolvers = new ArrayList<>();
private final Logger logger = LoggerFactory.getLogger(getClass());
private final List<Class<? extends PermissionsResolver>> enabledResolvers = new ArrayList<>();
@SuppressWarnings("unchecked")
protected Class<? extends PermissionsResolver>[] availableResolvers = new Class[] {
PluginPermissionsResolver.class,
PermissionsExResolver.class,
bPermissionsResolver.class,
GroupManagerResolver.class,
NijiPermissionsResolver.class,
VaultResolver.class,
DinnerPermsResolver.class,
FlatFilePermissionsResolver.class
PluginPermissionsResolver.class,
PermissionsExResolver.class,
bPermissionsResolver.class,
GroupManagerResolver.class,
NijiPermissionsResolver.class,
VaultResolver.class,
DinnerPermsResolver.class,
FlatFilePermissionsResolver.class
};
protected PermissionsResolverManager(Plugin plugin) {
@ -225,7 +225,8 @@ public class PermissionsResolverManager implements PermissionsResolver {
Class<?> next = null;
try {
next = Class.forName(getClass().getPackage().getName() + "." + nextName);
} catch (ClassNotFoundException e) {}
} catch (ClassNotFoundException ignored) {
}
if (next == null || !PermissionsResolver.class.isAssignableFrom(next)) {
logger.warn("WEPIF: Invalid or unknown class found in enabled resolvers: "
@ -239,12 +240,12 @@ public class PermissionsResolverManager implements PermissionsResolver {
}
for (Class<?> clazz : availableResolvers) {
if (!stagedEnabled.contains(clazz.getSimpleName()) &&
!disabledResolvers.contains(clazz.getSimpleName())) {
if (!stagedEnabled.contains(clazz.getSimpleName())
&& !disabledResolvers.contains(clazz.getSimpleName())) {
disabledResolvers.add(clazz.getSimpleName());
logger.info("New permissions resolver: "
+ clazz.getSimpleName() + " detected. " +
"Added to disabled resolvers list.");
+ clazz.getSimpleName() + " detected. "
+ "Added to disabled resolvers list.");
isUpdated = true;
}
}

View File

@ -37,7 +37,7 @@ public class bPermissionsResolver implements PermissionsResolver {
return new bPermissionsResolver(server);
}
private final Server server;
public bPermissionsResolver(Server server) {