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
3 geänderte Dateien mit 7 neuen und 27 gelöschten Zeilen
Nur Änderungen aus Commit b12e1ee1fa werden angezeigt - Alle Commits anzeigen

Datei anzeigen

@ -68,7 +68,8 @@ public class WhoisCommand extends SWCommand {
if (user == null) {
Message.send("UNKNOWN_PLAYER", player);
} else {
sendUserinfo(player, user, Arrays.asList(parameters));
EnumSet<WhoisParameterTypes> set = parameters.length == 0 ? EnumSet.noneOf(WhoisParameterTypes.class) : EnumSet.copyOf(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?
sendUserinfo(player, user, set);
}
}
@ -77,7 +78,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

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

Hier ein EnumSet nutzen oder es wieder alles auf boolean parameters machen.
private static void sendUserinfo(ProxiedPlayer player, SteamwarUser user, List<WhoisParameterTypes> parameterTypes) {
private static void sendUserinfo(ProxiedPlayer player, SteamwarUser user, EnumSet<WhoisParameterTypes> parameterTypes) {
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());
@ -167,17 +168,17 @@ public class WhoisCommand extends SWCommand {
}
private enum WhoisParameterTypes {
zOnlyKroks markierte diese Unterhaltung als gelöst
Review

Formatierung etwas unschön (Leerzeichen nach dem Komma)

Formatierung etwas unschön (Leerzeichen nach dem Komma)
ALL(Arrays.asList("-a","-all"),UserGroup.Admin,UserGroup.Moderator,UserGroup.Developer,UserGroup.Supporter,UserGroup.Builder),
MOD(Arrays.asList("-m","-mod","-mods"),UserGroup.Admin,UserGroup.Moderator,UserGroup.Developer);
ALL(Arrays.asList("-a","-all"), UserGroup.Admin, UserGroup.Moderator, UserGroup.Developer, UserGroup.Supporter, UserGroup.Builder),
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Für die Unterscheidung diese Nutzer Gruppen gibt es ne Funktion (group.isAdminGroup() und group.isTeamGroup())
Admin ist dann nurnoch Admin, Mod und Dev

Für die Unterscheidung diese Nutzer Gruppen gibt es ne Funktion (group.isAdminGroup() und group.isTeamGroup()) Admin ist dann nurnoch Admin, Mod und Dev
Veraltet
Review

finde es so übersichtlicher, vorallem können so einfacher sachen verändert werden bei bedarf

finde es so übersichtlicher, vorallem können so einfacher sachen verändert werden bei bedarf
MOD(Arrays.asList("-m","-mod","-mods"), UserGroup.Admin, UserGroup.Moderator, UserGroup.Developer);
private final Set<UserGroup> userGroupSet;
private final EnumSet<UserGroup> userGroupSet;
@Getter
private List<String> tabCompletes;
WhoisParameterTypes(List<String> tabCompletes,UserGroup... userGroups) {
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

UserGroup ist wieder ein Enum, also EnumSet.

UserGroup ist wieder ein Enum, also EnumSet.
this.userGroupSet = new HashSet<>(Arrays.asList(userGroups));
this.userGroupSet = EnumSet.copyOf(Arrays.asList(userGroups));
this.tabCompletes = tabCompletes;
}
}

Datei anzeigen

@ -122,15 +122,6 @@ public class Fabric extends BasicListener {
mods.add(Mod.get(mod.getAsString(), Mod.Platform.FABRIC));
}
/*
boolean isSorted = isSortedAlphabetically(mods);
if(!isSorted) {
banPlayer(user, player, "Mods are not sorted alphabetically: " + mods.stream().map(Mod::getModName).collect(Collectors.joining(", ")));
return;
}
*/
if(!neededModsContained(mods)) {
logMessage(user, "Needed mods are not contained", dataString);
return;
@ -159,17 +150,6 @@ public class Fabric extends BasicListener {
}
}
/*private boolean isSortedAlphabetically(List<Mod> mods) {
boolean isSorted = true;
for(int i = 0; i < mods.size() - 1; i++) {
if(mods.get(i).getModName().compareToIgnoreCase(mods.get(i + 1).getModName()) > 0) {
isSorted = false;
break;
}
}
return isSorted;
}*/
private boolean neededModsContained(List<Mod> mods) {
return mods.stream()
.map(Mod::getModName)

Datei anzeigen

@ -39,7 +39,6 @@ import java.sql.ResultSet;
import java.sql.SQLException;
zOnlyKroks markierte diese Unterhaltung als gelöst
Review

Falsche Datei, du kannst das nicht im SWUser speichern (kommt irgendwann in den CommonCore und wird stündlich gelöscht). Mache das eher im Modsystem mit einer static final Map<ProxiedPlayer, List>. (Wobei du bei einem disconnect dann natürlich den entsprechenden Eintrag entfernen musst) Theoretisch müsste das dann auch in den PersistentBungeeCore, aber da es sich nur um eine Debug-Sache handelt, müsste es in Ordnung sein, wenn das Wissen bei einem Softreload verloren geht.

Falsche Datei, du kannst das nicht im SWUser speichern (kommt irgendwann in den CommonCore und wird stündlich gelöscht). Mache das eher im Modsystem mit einer static final Map<ProxiedPlayer, List>. (Wobei du bei einem disconnect dann natürlich den entsprechenden Eintrag entfernen musst) Theoretisch müsste das dann auch in den PersistentBungeeCore, aber da es sich nur um eine Debug-Sache handelt, müsste es in Ordnung sein, wenn das Wissen bei einem Softreload verloren geht.
import java.sql.Timestamp;
import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.logging.Level;
zOnlyKroks markierte diese Unterhaltung als gelöst Veraltet
Veraltet
Review

Unused import

Unused import
import java.util.stream.Collectors;