Truncate excessively long online/offline player messages in /f show/who. Resolves #154.

This commit is contained in:
korikisulda 2014-12-07 01:32:35 +00:00 committed by eueln
parent 9395cece54
commit 6107e9502e

View File

@ -104,7 +104,7 @@ public class CmdShow extends FCommand {
} }
firstAlly = false; firstAlly = false;
if (currentAllies.toJSONString().length() >= 32700) { // Client gets kicked at 32767, some leniency if (currentAllies.toJSONString().length() > Short.MAX_VALUE) {
allies.add(currentAllies); allies.add(currentAllies);
currentAllies = new FancyMessage(); currentAllies = new FancyMessage();
} }
@ -116,7 +116,7 @@ public class CmdShow extends FCommand {
} }
firstEnemy = false; firstEnemy = false;
if (currentEnemies.toJSONString().length() >= 32700) { // Client gets kicked at 32767, some leniency if (currentEnemies.toJSONString().length() > Short.MAX_VALUE) {
enemies.add(currentEnemies); enemies.add(currentEnemies);
currentEnemies = new FancyMessage(); currentEnemies = new FancyMessage();
} }
@ -138,6 +138,9 @@ public class CmdShow extends FCommand {
online.then(", " + name).tooltip(getToolTips(p)); online.then(", " + name).tooltip(getToolTips(p));
} }
firstOnline = false; firstOnline = false;
if (online.toJSONString().length() > Short.MAX_VALUE) {
online = new FancyMessage();
}
} else { } else {
if (firstOffline) { if (firstOffline) {
offline.then(name).tooltip(getToolTips(p)); offline.then(name).tooltip(getToolTips(p));
@ -145,6 +148,9 @@ public class CmdShow extends FCommand {
offline.then(", " + name).tooltip(getToolTips(p)); offline.then(", " + name).tooltip(getToolTips(p));
} }
firstOffline = false; firstOffline = false;
if (offline.toJSONString().length() > Short.MAX_VALUE) {
offline = new FancyMessage();
}
} }
} }