SteamWar/BungeeCore
Archiviert
13
2

Whois Fabric Mod Info #444

Zusammengeführt
Lixfel hat 20 Commits von whois_fabric_mods nach master 2023-01-15 16:42:18 +01:00 zusammengeführt
5 geänderte Dateien mit 14 neuen und 23 gelöschten Zeilen
Nur Änderungen aus Commit 798009176c werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -19,7 +19,6 @@
package de.steamwar.bungeecore.commands;
import com.google.common.reflect.TypeParameter;
import de.steamwar.bungeecore.Message;
import de.steamwar.bungeecore.Storage;
import de.steamwar.bungeecore.listeners.mods.Utils;
@ -27,22 +26,17 @@ import de.steamwar.bungeecore.sql.*;
import de.steamwar.command.SWCommand;
import de.steamwar.command.SWCommandUtils;
import de.steamwar.command.TypeMapper;
import lombok.AllArgsConstructor;
import lombok.Getter;
import net.md_5.bungee.BungeeCord;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.command.ConsoleCommandSender;
import java.net.InetSocketAddress;
import java.sql.Array;
import java.sql.Timestamp;
import java.text.DecimalFormat;
import java.time.Instant;
import java.util.*;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@ -74,7 +68,7 @@ public class WhoisCommand extends SWCommand {
if (user == null) {
Message.send("UNKNOWN_PLAYER", player);
} else {
sendUserinfo(player, user, new HashSet<>(Arrays.asList(parameters)));
sendUserinfo(player, user, Arrays.asList(parameters));
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Muss der Sonderfall für parameters.length == 0 sein? Und würde nicht auch einfach EnumSet.of(array) gehen?

Muss der Sonderfall für parameters.length == 0 sein? Und würde nicht auch einfach EnumSet.of(array) gehen?
}
}
@ -83,7 +77,7 @@ public class WhoisCommand extends SWCommand {
return SWCommandUtils.createMapper(s -> s, s -> BungeeCord.getInstance().getPlayers().stream().map(ProxiedPlayer::getName).collect(Collectors.toList()));
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

WTF. Sehr irritierende Konversation.

WTF. Sehr irritierende Konversation.
}
private static void sendUserinfo(ProxiedPlayer player, SteamwarUser user, Set<WhoisParameterTypes> parameterTypes) {
private static void sendUserinfo(ProxiedPlayer player, SteamwarUser user, List<WhoisParameterTypes> parameterTypes) {
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Hier ein EnumSet nutzen oder es wieder alles auf boolean parameters machen.

Hier ein EnumSet nutzen oder es wieder alles auf boolean parameters machen.
Message.send("WHOIS_USERNAME", player, user.getUserName());
Message.send("WHOIS_UUID", player, Message.parse("WHOIS_UUID_HOVER", player), new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, user.getUuid().toString()), user.getUuid().toString());
Message.send("WHOIS_ID", player, user.getId());
@ -109,17 +103,17 @@ public class WhoisCommand extends SWCommand {
Team team = Team.get(user.getTeam());
Message.send("WHOIS_TEAM", player, Message.parse("WHOIS_TEAM_HOVER", player, team.getTeamName()), new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/team info " + team.getTeamKuerzel()), team.getTeamColor(), team.getTeamKuerzel(), team.getTeamName());
if(Utils.synchronizedPlayerModMap.containsKey(user.getUuid())) {
Mod.Platform modPlatform = Utils.synchronizedPlayerModMap.get(user.getUuid()).get(0).getPlatform();
if(Utils.playerModMap.containsKey(user.getUuid())) {
Mod.Platform modPlatform = Utils.playerModMap.get(user.getUuid()).get(0).getPlatform();
Message.send("WHOIS_PLATFORM",player,modPlatform.toString());
}
if(parameterTypes.contains(WhoisParameterTypes.MOD)) {
List<Mod> activeMods = Utils.synchronizedPlayerModMap.get(user.getUuid());
List<Mod> activeMods = Utils.playerModMap.get(user.getUuid());
if(!activeMods.isEmpty()) {
Message.send("WHOIS_ACTIVE_MODS",player);
String result = activeMods.stream().map(mod -> mod.getModType().getColorCode() + mod.getModName()).collect(Collectors.joining("§8, "));
String result = activeMods.stream().map(mod -> "§" + mod.getModType().getColorCode() + mod.getModName()).collect(Collectors.joining("§8, "));
Message.send("WHOIS_ACTIVE_MOD", player,result);
}else {
Message.send("WHOIS_NO_ACTIVE_MODS",player);

Datei anzeigen

@ -31,7 +31,6 @@ import de.steamwar.bungeecore.commands.MsgCommand;
import de.steamwar.bungeecore.listeners.mods.Utils;
import de.steamwar.bungeecore.sql.SteamwarUser;
import de.steamwar.bungeecore.sql.UserGroup;
import net.md_5.bungee.Util;
import net.md_5.bungee.api.AbstractReconnectHandler;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.chat.ClickEvent;
@ -137,7 +136,7 @@ public class ConnectionListener extends BasicListener {
public void onDisconnect(PlayerDisconnectEvent e){
ChallengeCommand.remove(e.getPlayer());
MsgCommand.remove(e.getPlayer());
Utils.synchronizedPlayerModMap.remove(e.getPlayer().getUniqueId());
Utils.playerModMap.remove(e.getPlayer().getUniqueId());
}
@EventHandler

Datei anzeigen

@ -40,7 +40,7 @@ import java.util.stream.Collectors;
public class Utils {
public static final Map<UUID,List<Mod>> synchronizedPlayerModMap = new HashMap<>();
public static final Map<UUID,List<Mod>> playerModMap = new HashMap<>();
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Warum nennst du sie synchronizedPlayerModMap, wenn sie nicht mal synchronized ist?

Warum nennst du sie synchronizedPlayerModMap, wenn sie nicht mal synchronized ist?
Review

Sollte in den PersistentBungeeCore verschoben werden, sonst ist das nach nem Softreload alles weg. (https://steamwar.de/devlabs/SteamWar/PersistentBungeeCore/src/branch/master/src/de/steamwar/bungeecore/Storage.java)

Sollte in den PersistentBungeeCore verschoben werden, sonst ist das nach nem Softreload alles weg. (https://steamwar.de/devlabs/SteamWar/PersistentBungeeCore/src/branch/master/src/de/steamwar/bungeecore/Storage.java)
Review

diese infos sind nicht so wichtig, dass sie nach einem softreload benötigt werden.

diese infos sind nicht so wichtig, dass sie nach einem softreload benötigt werden.
Review

spätestens wenn der user rejoined sind sie wieder da. Diese infos sind auch nicht essenziell zu haben.

spätestens wenn der user rejoined sind sie wieder da. Diese infos sind auch nicht essenziell zu haben.
zOnlyKroks markierte diese Unterhaltung als gelöst
Review

evtl. Nur den Modname Speichern und den ModTypen dann aus der DB laden, besonders wenn die Liste in den PersistentBungeeCore kommt.

evtl. Nur den Modname Speichern und den ModTypen dann aus der DB laden, besonders wenn die Liste in den PersistentBungeeCore kommt.
Review

da kommen dann relativ viele datenbank zugriffe zusammen. finde es so vorallem im moment wie es ist einfacher

da kommen dann relativ viele datenbank zugriffe zusammen. finde es so vorallem im moment wie es ist einfacher
private Utils(){}
@ -69,7 +69,7 @@ public class Utils {
static boolean handleMods(UUID uuid, Locale locale, Consumer<BaseComponent[]> disconnect, List<Mod> mods){
SteamwarUser user = SteamwarUser.get(uuid);
boolean privileged = user.getUserGroup().privilegedMods();
synchronizedPlayerModMap.put(uuid,new ArrayList<>(mods));
playerModMap.put(uuid,new ArrayList<>(mods));
ModType max = ModType.YELLOW;
Iterator<Mod> it = mods.iterator();

Datei anzeigen

@ -74,11 +74,11 @@ public class Mod {
}
public enum ModType {
UNKLASSIFIED(0,"§7 "),
GREEN(1,"§a "),
YELLOW(2,"§e "),
RED(3,"§c "),
YOUTUBER_ONLY(4,"§6 ");
UNKLASSIFIED(0,"7"),
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Da das ganze hier in den CommonCore kommt, würde ich mich freuen, wenn da nur der Colorcode (ohne leerzeichen, ohne §) drinbleibt.

Da das ganze hier in den CommonCore kommt, würde ich mich freuen, wenn da nur der Colorcode (ohne leerzeichen, ohne §) drinbleibt.
GREEN(1,"a"),
YELLOW(2,"e"),
RED(3,"c"),
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Yellow und Red werden nie sichtbar sein (damit ist niemand online)

Yellow und Red werden nie sichtbar sein (damit ist niemand online)
YOUTUBER_ONLY(4,"6");
static ModType valueOf(int value){
for(ModType mt : values()){

Datei anzeigen

@ -577,8 +577,6 @@ WHOIS_NO_PUNISHMENT=§a✓ §7Der Spieler hat keine aktiven Strafen.
WHOIS_NO_ALL_PUNISHMENT=§a✓ §7Der Spieler hat noch nichts getan.
WHOIS_ACTIVE_MODS=§7Aktive Mods:
WHOIS_NO_ACTIVE_MODS=§7Der Spieler hat keine aktiven Mods.
WHOIS_ACTIVE_MOD={0}
WHOIS_PLATFORM=§7Modloader:§e{0}
#VerifyCommand
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Wenn deutsch und englisch 1 zu 1 das gleiche sind, brauchst du den im deutschen nicht zu kopieren sondern kannst ihn einfach weglassen.

Wenn deutsch und englisch 1 zu 1 das gleiche sind, brauchst du den im deutschen nicht zu kopieren sondern kannst ihn einfach weglassen.
VERIFY_USAGE=§c/verify [Code]