summaryrefslogtreecommitdiffstats
path: root/EssentialsGroupManager/src/org/anjocaido/groupmanager/data
diff options
context:
space:
mode:
authorElgarL <ElgarL@palmergames.com>2011-12-13 17:13:53 +0000
committerElgarL <ElgarL@palmergames.com>2011-12-13 17:13:53 +0000
commit6f77addc71c1c0901d10c23a5d31c349df9abdf3 (patch)
tree19fb9c11c720d529fd7345ad97e3c4470c3af2eb /EssentialsGroupManager/src/org/anjocaido/groupmanager/data
parent016c181b70a92d9e8ea3f4315bec1cd5b179ff01 (diff)
downloadEssentials-6f77addc71c1c0901d10c23a5d31c349df9abdf3.tar
Essentials-6f77addc71c1c0901d10c23a5d31c349df9abdf3.tar.gz
Essentials-6f77addc71c1c0901d10c23a5d31c349df9abdf3.tar.lz
Essentials-6f77addc71c1c0901d10c23a5d31c349df9abdf3.tar.xz
Essentials-6f77addc71c1c0901d10c23a5d31c349df9abdf3.zip
Added custom events so plugins can now be notified of changes within
GroupManager.
Diffstat (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/data')
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Group.java16
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java17
2 files changed, 25 insertions, 8 deletions
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Group.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Group.java
index ba8915a18..a0b50bf5b 100644
--- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Group.java
+++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/Group.java
@@ -6,6 +6,9 @@ package org.anjocaido.groupmanager.data;
import org.anjocaido.groupmanager.GroupManager;
import org.anjocaido.groupmanager.dataholder.WorldDataHolder;
+import org.anjocaido.groupmanager.events.GMGroupEvent.Action;
+import org.anjocaido.groupmanager.events.GroupManagerEventHandler;
+
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -13,7 +16,7 @@ import java.util.Map;
/**
*
- * @author gabrielcouto
+ * @author gabrielcouto/ElgarL
*/
public class Group extends DataUnit implements Cloneable {
@@ -45,7 +48,7 @@ public class Group extends DataUnit implements Cloneable {
public Group(String name) {
super(name);
}
-
+
/**
* Clone this group
* @return a clone of this group
@@ -114,14 +117,17 @@ public class Group extends DataUnit implements Cloneable {
inherits.add(inherit.getName().toLowerCase());
}
flagAsChanged();
- if (GroupManager.isLoaded())
+ if (GroupManager.isLoaded()) {
GroupManager.BukkitPermissions.updateAllPlayers();
+ GroupManagerEventHandler.callEvent(this, Action.INHERITANCE_CHANGED);
+ }
}
public boolean removeInherits(String inherit) {
if (this.inherits.contains(inherit.toLowerCase())) {
this.inherits.remove(inherit.toLowerCase());
flagAsChanged();
+ GroupManagerEventHandler.callEvent(this, Action.INHERITANCE_CHANGED);
return true;
}
return false;
@@ -145,7 +151,9 @@ public class Group extends DataUnit implements Cloneable {
variables.addVar(key, temp.getVarObject(key));
}
flagAsChanged();
- if (GroupManager.isLoaded())
+ if (GroupManager.isLoaded()) {
GroupManager.BukkitPermissions.updateAllPlayers();
+ GroupManagerEventHandler.callEvent(this, Action.INFO_CHANGED);
+ }
}
}
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
index 10757475d..81d188c80 100644
--- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
+++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
@@ -9,6 +9,9 @@ import java.util.ArrayList;
import org.anjocaido.groupmanager.GroupManager;
import org.anjocaido.groupmanager.dataholder.WorldDataHolder;
+import org.anjocaido.groupmanager.events.GMUserEvent.Action;
+import org.anjocaido.groupmanager.events.GroupManagerEventHandler;
+
import java.util.Map;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
@@ -16,7 +19,7 @@ import org.bukkit.entity.Player;
/**
*
- * @author gabrielcouto
+ * @author gabrielcouto/ElgarL
*/
public class User extends DataUnit implements Cloneable {
@@ -139,6 +142,8 @@ public class User extends DataUnit implements Cloneable {
if (notify)
GroupManager.notify(this.getName(), String.format(" moved to the group %s.", group.getName()));
+
+ GroupManagerEventHandler.callEvent(this, Action.GROUP_CHANGED);
}
}
@@ -153,9 +158,11 @@ public class User extends DataUnit implements Cloneable {
removeSubGroup(subGroup);
subGroups.add(subGroup.getName());
flagAsChanged();
- if (GroupManager.isLoaded())
+ if (GroupManager.isLoaded()) {
if (GroupManager.BukkitPermissions.player_join = false)
GroupManager.BukkitPermissions.updateAllPlayers();
+ GroupManagerEventHandler.callEvent(this, Action.SUBGROUP_CHANGED);
+ }
}
public int subGroupsSize() {
@@ -177,6 +184,7 @@ public class User extends DataUnit implements Cloneable {
if (GroupManager.isLoaded())
if (GroupManager.BukkitPermissions.player_join = false)
GroupManager.BukkitPermissions.updateAllPlayers();
+ GroupManagerEventHandler.callEvent(this, Action.SUBGROUP_CHANGED);
return true;
}
} catch (Exception e) {
@@ -220,9 +228,11 @@ public class User extends DataUnit implements Cloneable {
variables.addVar(key, varList.get(key));
}
flagAsChanged();
- if (GroupManager.isLoaded())
+ if (GroupManager.isLoaded()) {
if (GroupManager.BukkitPermissions.player_join = false)
GroupManager.BukkitPermissions.updateAllPlayers();
+ GroupManagerEventHandler.callEvent(this, Action.INFO_CHANGED);
+ }
}
public User updatePlayer(Player player) {
@@ -238,5 +248,4 @@ public class User extends DataUnit implements Cloneable {
}
return bukkitPlayer;
}
-
}