Use afk player-list name in User#setDisplayName().

This commit is contained in:
Ali Moghnieh 2016-08-06 17:45:54 +01:00
parent 34979c8e84
commit 611429b6f6
No known key found for this signature in database
GPG Key ID: F09D3A1BAF2E6D70
1 changed files with 9 additions and 3 deletions

View File

@ -314,7 +314,9 @@ public class User extends UserData implements Comparable<User>, IMessageRecipien
public void setDisplayNick() {
if (base.isOnline() && ess.getSettings().changeDisplayName()) {
this.getBase().setDisplayName(getNick(true));
if (ess.getSettings().changePlayerListName()) {
if (isAfk()) {
updateAfkListName();
} else if (ess.getSettings().changePlayerListName()) {
// 1.8 enabled player list-names longer than 16 characters.
// If the server is on 1.8 or higher, provide that functionality. Otherwise, keep prior functionality.
boolean higherOrEqualTo1_8 = ReflUtil.getNmsVersionObject().isHigherThanOrEqualTo(ReflUtil.V1_8_R1);
@ -438,15 +440,19 @@ public class User extends UserData implements Comparable<User>, IMessageRecipien
this.afkMessage = null;
this.afkSince = 0;
}
_setAfk(set);
updateAfkListName();
}
private void updateAfkListName() {
if (ess.getSettings().isAfkListName()) {
if(set) {
if(isAfk()) {
String afkName = ess.getSettings().getAfkListName().replace("{PLAYER}", getDisplayName()).replace("{USERNAME}", getName());
getBase().setPlayerListName(afkName);
} else {
getBase().setPlayerListName(null);
}
}
_setAfk(set);
}
public boolean toggleAfk() {