From 759892078ad99db2bb548f32b5588b51a5433ee3 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Tue, 13 Dec 2011 17:13:53 +0000 Subject: Added custom events so plugins can now be notified of changes within GroupManager. --- .../src/org/anjocaido/groupmanager/data/Group.java | 16 ++++++++++++---- .../src/org/anjocaido/groupmanager/data/User.java | 17 +++++++++++++---- 2 files changed, 25 insertions(+), 8 deletions(-) (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/data') 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; } - } -- cgit v1.2.3