WIP: Add slim tablist back #440
Keine Reviewer
Label
Kein Label
Bug
Codeverbesserung
Einsteiger Freundlich
Idee
In Arbeit
Neues Feature
Prio A
Security Breach
Überprüfung notwendig
Verbesserung
Zu Beobachten
Kein Meilenstein
Niemand zuständig
2 Beteiligte
Fällig am
Kein Fälligkeitsdatum gesetzt.
Abhängigkeiten
Keine Abhängigkeiten gesetzt.
Referenz: SteamWar/BungeeCore#440
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren
Keine Beschreibung angegeben.
Branch "SlimTablist" löschen
Das Löschen eines Branches ist permanent. Obwohl der Branch für eine kurze Zeit weiter existieren könnte, kann diese Aktion in den meisten Fällen NICHT rückgängig gemacht werden. Fortfahren?
Eine Sache fehlt noch und zwar das die Fighter aus Event Fights angezeigt werden.
Habe noch nicht ganz alles 100% durchgeschaut.
@ -0,0 +1,45 @@
/*
* This file is a part of the SteamWar software.
*
* Copyright (C) 2020 SteamWar.de-Serverteam
Kannst mal deinen Header updaten.
@ -0,0 +28,4 @@
public class SlimTablistToggleCommand extends SWCommand {
public SlimTablistToggleCommand() {
super("toggleslimtablist", null, "toggleslim", "toggletablist", "toggleslimtab", "toggletab");
Das man die slim tablist per Command toggeln kann, finde ich unnötige Komplexität. Es mag den ein oder anderen Nutzer geben, der die evtl. permanent möchte, aber die Slim Tabliste ist ja eher Notlösung als alles andere. Daher möchte ich nicht, dass das User frei wählen können.
@ -78,2 +79,3 @@
List<TablistPart.Item> direct = new ArrayList<>();
global.print(viewer, player, tablist, direct);
boolean alwaysSlim = Boolean.parseBoolean(UserConfig.getConfig(viewer.user().getId(), "slimTablist"));
if (alwaysSlim || global.size(viewer, player) > 80) {
Tust du in der .size-Funktion die Direct-Spieler korrekt mitwerten? (Die direct-ArrayList gibt nicht die tatsächliche Anzahl der direct-TabItems wieder, sondern lediglich die Anzahl der direct-TabItems, welche über diesen Bungee verbunden sind). Daher ist das mit DevBungees und Teamservern falsch.
DevBungee dürfte aber nicht angezeigt werden und Teamservern zeigt auch die Spieler im Moment nur unten an, wenn Leute auf dem server direkt sind.
Werden halt wie NPCs behandelt...
Ok und wo kriege ich die her um das auszurechnen?
directTabItems. Prinzipiell möchte ich aber erstmal, dass du die Komplexität hier absolut gering hälst, weil wir das mit dem NPC-Feature der 1.19.3 und für die Bedrock-Edition eh noch mal umbauen müssen.
Wie genau soll ich die komplexität gering halten?
@ -70,0 +88,4 @@
int all = toPrint.size();
toPrint = TablistServer.slimmify(viewer, toPrint);
if (tablist.isEmpty() || tablist.get(tablist.size() - 1).getDisplayName().equals("")) {
Das hier scheint falsch. Printe doch einfach immer die Leerzeile (bzw. so wie print)
Naja aber dann haben wir zwischen servern wo keiner angezeigt wird immer unnütze leerzeilen, welche auch vorher nicht drin waren. Und die Abfrage ist fertig.
@ -70,0 +94,4 @@
if (toPrint.size() == all) {
tablist.add(new Item(null, viewer.parseToLegacy("TABLIST_BAU"), TablistServer.LIGHT_GRAY));
} else if (toPrint.isEmpty()) {
tablist.add(new Item(null, viewer.parseToLegacy("TABLIST_BAU") + " (" + all + ")", TablistServer.LIGHT_GRAY));
Hier nicht die Klammern so anfügen, sondern bitte mit neuen Messages.
@ -39,0 +39,4 @@
@Override
public int size(ChatSender viewer, ProxiedPlayer player) {
int size = 0;
for (TablistPart part : sublists) {
stream.sum()?
@ -69,1 +68,4 @@
@Override
public int size(ChatSender viewer, ProxiedPlayer player) {
return (player.getServer().getInfo() == server ? 2 : 0) + players.size();
Bedingung falsch herum?
@ -100,2 +128,4 @@
});
}
public static List<Item> slimmify(ChatSender viewer, List<Item> items) {
Ein m
Ist beides erlaubt
Add slim tablist backzu WIP: Add slim tablist back