Whois Fabric Mod Info #444
@ -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
|
||||
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
Chaoscaot
hat
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
Chaoscaot
hat
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
Chaoscaot
hat
Für die Unterscheidung diese Nutzer Gruppen gibt es ne Funktion (group.isAdminGroup() und group.isTeamGroup()) Für die Unterscheidung diese Nutzer Gruppen gibt es ne Funktion (group.isAdminGroup() und group.isTeamGroup())
Admin ist dann nurnoch Admin, Mod und Dev
zOnlyKroks
hat
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
Chaoscaot
hat
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;
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -39,7 +39,6 @@ import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
zOnlyKroks markierte diese Unterhaltung als gelöst
Lixfel
hat
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
Chaoscaot
hat
Unused import Unused import
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
Muss der Sonderfall für parameters.length == 0 sein? Und würde nicht auch einfach EnumSet.of(array) gehen?