SteamWar/BungeeCore
Archiviert
13
2

Playtime Command #285

Zusammengeführt
Lixfel hat 24 Commits von Playtime_Command nach master 2022-01-01 21:04:49 +01:00 zusammengeführt
Nur Änderungen aus Commit 803b591ff4 werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -25,6 +25,9 @@ import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import java.text.DecimalFormat;
import java.text.Format;
import java.text.NumberFormat;
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Über Spaces könnte man sich hier streiten, aber das tuen Lixfel und ich uns glaube überall und immer.

Über Spaces könnte man sich hier streiten, aber das tuen Lixfel und ich uns glaube überall und immer.
import java.util.Locale;
public class PlaytimeCommand extends BasicCommand{
@ -37,6 +40,10 @@ public class PlaytimeCommand extends BasicCommand{
if(!(sender instanceof ProxiedPlayer))
Veraltet
Review

Ich würde mir noch wünschen, dass dieses DecimalFormat vllt auch im deutschen dann mit ',' ist. Ich wüsste aber nicht wie der DecimalFormat genaut funktioniert.

Ich würde mir noch wünschen, dass dieses DecimalFormat vllt auch im deutschen dann mit ',' ist. Ich wüsste aber nicht wie der DecimalFormat genaut funktioniert.
Veraltet
Review
format = NumberFormat.getNumberInstance(locale);
format.setMaximumFractionDigits(2);
``` format = NumberFormat.getNumberInstance(locale); format.setMaximumFractionDigits(2); ```
Veraltet
Review

Ein TIME_FORMAT gibt es nicht, dass hast du umbenannt in DECIMAL_FORMAT.

Ein `TIME_FORMAT` gibt es nicht, dass hast du umbenannt in `DECIMAL_FORMAT`.
return;
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Vllt sollte hier eine neue Nachricht gewählt werden, damit der User besser versteht was für ein Wert er erhält.

Vllt sollte hier eine neue Nachricht gewählt werden, damit der User besser versteht was für ein Wert er erhält.
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Diese Variable könnte man inlinen, da diese nur einmal verwendet wird.

Diese Variable könnte man inlinen, da diese nur einmal verwendet wird.
Message.send("HOURS_PLAYED", sender, new DecimalFormat("###.##").format((SteamwarUser.get((ProxiedPlayer) sender).getOnlinetime() / (double) 3600)));
NumberFormat format = NumberFormat.getNumberInstance(Locale.GERMAN);
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Vllt sollte man auch eine Zeile mehr hier hinter schmeißen.

Vllt sollte man auch eine Zeile mehr hier hinter schmeißen.
Veraltet
Review

Hier bitte die Locale des Spielers nutzen. Du könntest es auch mit:

String s = Message.parse("TIME_FORMAT", sender);
new DecimalFormat(s).format(...)

lösen. Und dann müsste in der .properties datei ein key für 'TIME_FORMAT'.

Hier bitte die Locale des Spielers nutzen. Du könntest es auch mit: ```java String s = Message.parse("TIME_FORMAT", sender); new DecimalFormat(s).format(...) ``` lösen. Und dann müsste in der `.properties` datei ein key für 'TIME_FORMAT'.
Veraltet
Review

Hier wtf?

Hier wtf?
Veraltet
Review

HOURS_PLAYED:

Message.send("HOURS_PLAYED", sender, format);
`HOURS_PLAYED`: ```java Message.send("HOURS_PLAYED", sender, format); ```
Veraltet
Review

YoyoNow, sr, aber dein Lösungsanschlag hier ist schlicht falsch. Das mit NumberFormat ist der korrekte Weg (wenn auch mit player.getLocale()).

YoyoNow, sr, aber dein Lösungsanschlag hier ist schlicht falsch. Das mit NumberFormat ist der korrekte Weg (wenn auch mit player.getLocale()).
Veraltet
Review

Sr, das kann so nicht funktionieren und ist im allgemeinen nicht ganz so schön. Bitte zurück zu NumberFormat.
YoyoNow hat da einen ganz schlechten Tipp/Empfehlung gegeben, sr.

Sr, das kann so nicht funktionieren und ist im allgemeinen nicht ganz so schön. Bitte zurück zu NumberFormat. YoyoNow hat da einen ganz schlechten Tipp/Empfehlung gegeben, sr.
Veraltet
Review

Ich habe nur auch eine alternative gesagt, nicht welche man verwenden soll.

Ich habe nur auch eine alternative gesagt, nicht welche man verwenden soll.
Veraltet
Review

Was zum Henker machst du denn da schon wieder? Vergiss LocalUtils und DECIMAL_FORMAT. Nimm NumberFormat.getNumberInstance(((ProxiedPlayer)sender).getLocale()).

Dein Code kann nicht funktionieren, denn wie sollen die LocaleUtils denn aus deinem String "###,##" die korrekte Sprache herausfinden, um diese dann dem NumberFormat zu übergeben? NumberFormat weiß selbst, wie die Zahlen in einer Sprache korrekt formatiert werden.

Was zum Henker machst du denn da schon wieder? Vergiss LocalUtils und DECIMAL_FORMAT. Nimm `NumberFormat.getNumberInstance(((ProxiedPlayer)sender).getLocale())`. Dein Code kann nicht funktionieren, denn wie sollen die LocaleUtils denn aus deinem String "###,##" die korrekte Sprache herausfinden, um diese dann dem NumberFormat zu übergeben? NumberFormat weiß selbst, wie die Zahlen in einer Sprache korrekt formatiert werden.
format.setMaximumFractionDigits(2);
format.format((SteamwarUser.get((ProxiedPlayer) sender).getOnlinetime() / (double) 3600));
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Hier keine Leerzeile.

Hier keine Leerzeile.
YoyoNow markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Was machst du hier?

Was machst du hier?
Message.send("HOURS_PLAYED", sender, format);
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Sr, dass es mir erst jetzt aufgefallen ist: Das Message-System funktioniert da etwas anders. Parameter werden einfach hinten als Argumente drangehängt. In dem Fall also einfach: Message.send("HOURS_PLAYED", sender, formattedText).

Sr, dass es mir erst jetzt aufgefallen ist: Das Message-System funktioniert da etwas anders. Parameter werden einfach hinten als Argumente drangehängt. In dem Fall also einfach: `Message.send("HOURS_PLAYED", sender, formattedText)`.
}
}