summaryrefslogtreecommitdiffstats
path: root/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java
diff options
context:
space:
mode:
authorElgarL <ElgarL@palmergames.com>2011-10-31 08:34:07 +0000
committerElgarL <ElgarL@palmergames.com>2011-10-31 08:34:07 +0000
commit45e19d724d803caf503b1a159b50c9abde6f9d2c (patch)
tree5aff49f248c838c94be618990e39fc89f6115280 /EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java
parente85e721b4b572383739fb19daf5630ed737c542b (diff)
downloadEssentials-45e19d724d803caf503b1a159b50c9abde6f9d2c.tar
Essentials-45e19d724d803caf503b1a159b50c9abde6f9d2c.tar.gz
Essentials-45e19d724d803caf503b1a159b50c9abde6f9d2c.tar.lz
Essentials-45e19d724d803caf503b1a159b50c9abde6f9d2c.tar.xz
Essentials-45e19d724d803caf503b1a159b50c9abde6f9d2c.zip
Added Global Groups
Defined in groupmanager/globalgroups.yml. Create groups in the yml with a g: prefix, then inherit in the worlds groups files.
Diffstat (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java')
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java24
1 files changed, 20 insertions, 4 deletions
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java
index c8dc8cbd1..c8aa15cec 100644
--- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java
+++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/WorldDataHolder.java
@@ -183,7 +183,10 @@ public class WorldDataHolder {
* @return a group if it is found. null if not found.
*/
public Group getGroup(String groupName) {
- return groups.get(groupName.toLowerCase());
+ if (groupName.startsWith("g:"))
+ return GroupManager.getGlobalGroups().getGroup(groupName);
+ else
+ return groups.get(groupName.toLowerCase());
}
/**
@@ -193,7 +196,10 @@ public class WorldDataHolder {
* @return true if exists. false if not.
*/
public boolean groupExists(String groupName) {
- return groups.containsKey(groupName.toLowerCase());
+ if (groupName.startsWith("g:"))
+ return GroupManager.getGlobalGroups().hasGroup(groupName);
+ else
+ return groups.containsKey(groupName.toLowerCase());
}
/**
@@ -215,6 +221,10 @@ public class WorldDataHolder {
* @return true if had something to remove. false the group was default or non-existant
*/
public boolean removeGroup(String groupName) {
+ if (groupName.startsWith("g:")) {
+ return GroupManager.getGlobalGroups().removeGroup(groupName);
+ }
+
if (defaultGroup != null && groupName.equalsIgnoreCase(defaultGroup.getName())) {
return false;
}
@@ -251,10 +261,16 @@ public class WorldDataHolder {
* @return null if group already exists. or new Group
*/
public Group createGroup(String groupName) {
- if (this.groups.containsKey(groupName.toLowerCase())) {
+ if (groupName.startsWith("g:")) {
+ Group newGroup = new Group(groupName);
+ return GroupManager.getGlobalGroups().addGroup(newGroup);
+ }
+
+ if (this.groups.containsKey(groupName.toLowerCase())) {
return null;
}
- Group newGroup = new Group(this, groupName);
+
+ Group newGroup = new Group(this, groupName);
this.addGroup(newGroup);
haveGroupsChanged = true;
return newGroup;