summaryrefslogtreecommitdiffstats
path: root/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
diff options
context:
space:
mode:
Diffstat (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java')
-rw-r--r--EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
index bcfa8e01b..6c4cdbcf2 100644
--- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
+++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java
@@ -67,7 +67,7 @@ public class User extends DataUnit implements Cloneable {
if (dataSource.getGroup(group) == null) {
clone.setGroup(dataSource.getDefaultGroup());
} else {
- clone.setGroup(this.getGroupName());
+ clone.setGroup(dataSource.getGroup(this.getGroupName()));
}
for (String perm : this.getPermissionList()) {
clone.addPermission(perm);
@@ -117,13 +117,20 @@ public class User extends DataUnit implements Cloneable {
getDataSource().addGroup(group);
}
group = getDataSource().getGroup(group.getName());
+ String oldGroup = this.group;
this.group = group.getName();
flagAsChanged();
if (GroupManager.isLoaded()) {
if (GroupManager.BukkitPermissions.player_join = false)
GroupManager.BukkitPermissions.updateAllPlayers();
+
+ // Do we notify of the group change?
+ String defaultGroupName = getDataSource().getDefaultGroup().getName();
+ // if we were not in the default group
+ // or we were in the default group and the move is to a different group.
+ boolean notify = (!oldGroup.equalsIgnoreCase(defaultGroupName)) || ((oldGroup.equalsIgnoreCase(defaultGroupName)) && (!this.group.equalsIgnoreCase(defaultGroupName))) ;
- GroupManager.notify(this.getName(), String.format(" moved to the group %s.", group.getName()));
+ if (notify) GroupManager.notify(this.getName(), String.format(" moved to the group %s.", group.getName()));
}
}