diff options
Diffstat (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java')
-rw-r--r-- | EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java | 45 |
1 files changed, 40 insertions, 5 deletions
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java index adec183cd..61efdc3de 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/data/User.java @@ -51,7 +51,7 @@ public class User extends DataUnit implements Cloneable { @Override public User clone() { - User clone = new User(getDataSource(), this.getName()); + User clone = new User(getDataSource(), this.getLastName()); clone.group = this.group; for (String perm : this.getPermissionList()) { clone.addPermission(perm); @@ -69,10 +69,10 @@ public class User extends DataUnit implements Cloneable { */ public User clone(WorldDataHolder dataSource) { - if (dataSource.isUserDeclared(this.getName())) { + if (dataSource.isUserDeclared(this.getLastName())) { return null; } - User clone = dataSource.createUser(this.getName()); + User clone = dataSource.createUser(this.getLastName()); if (dataSource.getGroup(group) == null) { clone.setGroup(dataSource.getDefaultGroup()); } else { @@ -85,6 +85,28 @@ public class User extends DataUnit implements Cloneable { clone.flagAsChanged(); return clone; } + + public User clone(String uUID) { + + User clone = this.getDataSource().createUser(uUID); + + if (this.getDataSource().getGroup(group) == null) { + clone.setGroup(this.getDataSource().getDefaultGroup()); + } else { + clone.setGroup(this.getDataSource().getGroup(this.getGroupName())); + } + + clone.setLastName(this.getLastName()); + + for (String perm : this.getPermissionList()) { + clone.addPermission(perm); + } + + clone.variables = this.variables.clone(this); + clone.flagAsChanged(); + + return clone; + } public Group getGroup() { @@ -107,6 +129,19 @@ public class User extends DataUnit implements Cloneable { } return group; } + + /** + * Place holder to let people know to stop using this method. + * + * @deprecated use {@link getLastName()} and {@link getUUID()}. + * @return a string containing the players last known name. + */ + @Deprecated + public String getName() { + + return this.getLastName(); + + } /** @@ -144,7 +179,7 @@ public class User extends DataUnit implements Cloneable { boolean notify = (!oldGroup.equalsIgnoreCase(defaultGroupName)) || ((oldGroup.equalsIgnoreCase(defaultGroupName)) && (!this.group.equalsIgnoreCase(defaultGroupName))); if (notify) - GroupManager.notify(this.getName(), String.format(" moved to the group %s in %s.", group.getName(), this.getDataSource().getName())); + GroupManager.notify(this.getLastName(), String.format(" moved to the group %s in %s.", group.getName(), this.getDataSource().getName())); GroupManager.getGMEventHandler().callEvent(this, Action.USER_GROUP_CHANGED); } @@ -269,7 +304,7 @@ public class User extends DataUnit implements Cloneable { public Player getBukkitPlayer() { if (bukkitPlayer == null) { - bukkitPlayer = Bukkit.getPlayer(this.getName()); + bukkitPlayer = Bukkit.getPlayer(this.getLastName()); } return bukkitPlayer; } |