mirror of
https://github.com/essentials/Essentials.git
synced 2025-01-18 05:48:33 +01:00
Fixed GM loading world data files twice at startup.
Improved error reporting for invalid groups.yml
This commit is contained in:
parent
01a9d4adfe
commit
e85e721b4b
@ -53,4 +53,6 @@ v 1.5:
|
||||
- Fixed opOverrides and bukkit_perms_override to read the correct entries.
|
||||
- Better commenting in config.yml
|
||||
- Fixed GM to recognize Superperm child nodes.
|
||||
If you add a node like Towny.admin GM will now correctly report on all child nodes.
|
||||
If you add a node like Towny.admin GM will now correctly report on all child nodes.
|
||||
- Fixed GM loading world data files twice at startup.
|
||||
- Improved error reporting for invalid groups.yml
|
@ -483,7 +483,7 @@ public class WorldDataHolder {
|
||||
|
||||
//PROCESS GROUPS FILE
|
||||
Map<String, List<String>> inheritance = new HashMap<String, List<String>>();
|
||||
try {
|
||||
//try {
|
||||
Map<String, Object> allGroupsNode = (Map<String, Object>) groupsRootDataNode.get("groups");
|
||||
for (String groupKey : allGroupsNode.keySet()) {
|
||||
Map<String, Object> thisGroupNode = (Map<String, Object>) allGroupsNode.get(groupKey);
|
||||
@ -513,36 +513,43 @@ public class WorldDataHolder {
|
||||
} else if (thisGroupNode.get("permissions") instanceof String) {
|
||||
thisGrp.addPermission((String) thisGroupNode.get("permissions"));
|
||||
} else {
|
||||
throw new IllegalArgumentException("Unknown type of permissions node(Should be String or List<String>): " + thisGroupNode.get("permissions").getClass().getName());
|
||||
throw new IllegalArgumentException("Unknown type of permissions node(Should be String or List<String>) for group: " + thisGrp.getName());
|
||||
}
|
||||
|
||||
//INFO NODE
|
||||
Map<String, Object> infoNode = (Map<String, Object>) thisGroupNode.get("info");
|
||||
if (infoNode != null) {
|
||||
thisGrp.setVariables(infoNode);
|
||||
}
|
||||
if (thisGroupNode.get("info") instanceof Map) {
|
||||
Map<String, Object> infoNode = (Map<String, Object>) thisGroupNode.get("info");
|
||||
if (infoNode != null) {
|
||||
thisGrp.setVariables(infoNode);
|
||||
}
|
||||
} else
|
||||
throw new IllegalArgumentException("Unknown entry found in Info section for group: " + thisGrp.getName());
|
||||
|
||||
|
||||
//END INFO NODE
|
||||
|
||||
Object inheritNode = thisGroupNode.get("inheritance");
|
||||
if (inheritNode == null) {
|
||||
thisGroupNode.put("inheritance", new ArrayList<String>());
|
||||
} else if (inheritNode instanceof List) {
|
||||
List<String> groupsInh = (List<String>) inheritNode;
|
||||
for (String grp : groupsInh) {
|
||||
if (inheritance.get(groupKey) == null) {
|
||||
List<String> thisInherits = new ArrayList<String>();
|
||||
inheritance.put(groupKey, thisInherits);
|
||||
}
|
||||
inheritance.get(groupKey).add(grp);
|
||||
|
||||
}
|
||||
}
|
||||
if (thisGroupNode.get("inheritance") == null || thisGroupNode.get("inheritance") instanceof List) {
|
||||
Object inheritNode = thisGroupNode.get("inheritance");
|
||||
if (inheritNode == null) {
|
||||
thisGroupNode.put("inheritance", new ArrayList<String>());
|
||||
} else if (inheritNode instanceof List) {
|
||||
List<String> groupsInh = (List<String>) inheritNode;
|
||||
for (String grp : groupsInh) {
|
||||
if (inheritance.get(groupKey) == null) {
|
||||
List<String> thisInherits = new ArrayList<String>();
|
||||
inheritance.put(groupKey, thisInherits);
|
||||
}
|
||||
inheritance.get(groupKey).add(grp);
|
||||
|
||||
}
|
||||
}
|
||||
}else
|
||||
throw new IllegalArgumentException("Unknown entry found in inheritance section for group: " + thisGrp.getName());
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
throw new IllegalArgumentException("Your Permissions config file is invalid. See console for details.");
|
||||
}
|
||||
//} catch (Exception ex) {
|
||||
// ex.printStackTrace();
|
||||
// throw new IllegalArgumentException("Your Permissions config file is invalid. See console for details.");
|
||||
//}
|
||||
if (ph.defaultGroup == null) {
|
||||
throw new IllegalArgumentException("There was no Default Group declared.");
|
||||
}
|
||||
|
@ -100,7 +100,7 @@ public class WorldsHolder {
|
||||
* or mirrored worlds that don't need data.
|
||||
*/
|
||||
if (!worldsData.containsKey(folder.getName().toLowerCase())
|
||||
|| !mirrors.containsKey(folder.getName().toLowerCase())) {
|
||||
&& !mirrors.containsKey(folder.getName().toLowerCase())) {
|
||||
loadWorld(folder.getName());
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user