Starting...

This commit is contained in:
2025-10-27 18:34:31 +01:00
parent e6bbb76a0b
commit a462231bab
65 changed files with 784 additions and 772 deletions
@@ -201,7 +201,7 @@ public interface Chatter {
return new PlayerlessChatter() {
@Override
public SteamwarUser user() {
return SteamwarUser.get(-1);
return SteamwarUser.byId(-1);
}
@Override
@@ -33,7 +33,6 @@ import de.steamwar.messages.PlayerChatter;
import de.steamwar.network.packets.server.BaumemberUpdatePacket;
import de.steamwar.persistent.Bauserver;
import de.steamwar.sql.BauweltMember;
import de.steamwar.sql.SchematicType;
import de.steamwar.sql.SteamwarUser;
import de.steamwar.velocitycore.*;
import de.steamwar.velocitycore.inventory.SWInventory;
@@ -198,7 +197,7 @@ public class BauCommand extends SWCommand {
@Override
public Collection<String> tabCompletes(Chatter sender, PreviousArguments previousArguments, String s) {
return BauweltMember.getMembers(sender.user().getId()).stream()
.map(bauweltMember -> SteamwarUser.get(bauweltMember.getMemberID()).getUserName())
.map(bauweltMember -> SteamwarUser.byId(bauweltMember.getMemberID()).getUserName())
.toList();
}
};
@@ -106,13 +106,13 @@ public class CheckCommand extends SWCommand {
new Message("CHECK_LIST_TO_CHECK_HOVER"),
ClickEvent.runCommand("/check schematic " + schematic.getId()),
getWaitTime(schematic),
schematic.getSchemtype().getKuerzel(), SteamwarUser.get(schematic.getOwner()).getUserName(), schematic.getName());
schematic.getSchemtype().getKuerzel(), SteamwarUser.byId(schematic.getOwner()).getUserName(), schematic.getName());
} else {
sender.prefixless("CHECK_LIST_CHECKING",
new Message("CHECK_LIST_CHECKING_HOVER"),
ClickEvent.runCommand("/join " + current.checker.user().getUserName()),
getWaitTime(schematic),
schematic.getSchemtype().getKuerzel(), SteamwarUser.get(schematic.getOwner()).getUserName(), schematic.getName(), current.checker.user().getUserName());
schematic.getSchemtype().getKuerzel(), SteamwarUser.byId(schematic.getOwner()).getUserName(), schematic.getName(), current.checker.user().getUserName());
}
}
}
@@ -135,7 +135,7 @@ public class CheckCommand extends SWCommand {
int playerTeam = sender.user().hasPerm(UserPerm.MODERATION) ? 0 : sender.user().getTeam();
// Ignore 795 SteamWar Team
if (playerTeam != 0 && playerTeam != 795 && SteamwarUser.get(schem.getOwner()).getTeam() == playerTeam) {
if (playerTeam != 0 && playerTeam != 795 && SteamwarUser.byId(schem.getOwner()).getTeam() == playerTeam) {
sender.system("CHECK_SCHEMATIC_OWN_TEAM");
return;
}
@@ -228,7 +228,7 @@ public class CheckCommand extends SWCommand {
currentSchems.put(schematic.getId(), this);
for(CheckedSchematic previous : CheckedSchematic.previousChecks(schematic))
checker.prefixless("CHECK_SCHEMATIC_PREVIOUS", previous.getEndTime(), SteamwarUser.get(previous.getValidator()).getUserName(), previous.getDeclineReason());
checker.prefixless("CHECK_SCHEMATIC_PREVIOUS", previous.getEndTime(), SteamwarUser.byId(previous.getValidator()).getUserName(), previous.getDeclineReason());
next();
}).start();
}
@@ -277,7 +277,7 @@ public class CheckCommand extends SWCommand {
private void accept(){
concludeCheckSession("freigegeben", fightTypes.get(schematic.getSchemtype()), () -> {
Chatter owner = Chatter.of(SteamwarUser.get(schematic.getOwner()).getUUID());
Chatter owner = Chatter.of(SteamwarUser.byId(schematic.getOwner()).getUUID());
owner.withPlayerOrOffline(
player -> owner.system("CHECK_ACCEPTED", schematic.getSchemtype().name(), schematic.getName()),
() -> DiscordAlert.send(owner, Color.GREEN, new Message("DC_TITLE_SCHEMINFO"), new Message("DC_SCHEM_ACCEPT", schematic.getName()), true)
@@ -290,7 +290,7 @@ public class CheckCommand extends SWCommand {
private void decline(String reason){
concludeCheckSession(reason, SchematicType.Normal, () -> {
Chatter owner = Chatter.of(SteamwarUser.get(schematic.getOwner()).getUUID());
Chatter owner = Chatter.of(SteamwarUser.byId(schematic.getOwner()).getUUID());
owner.withPlayerOrOffline(
player -> owner.system("CHECK_DECLINED", schematic.getSchemtype().name(), schematic.getName(), reason),
() -> DiscordAlert.send(owner, Color.RED, new Message("DC_TITLE_SCHEMINFO"), new Message("DC_SCHEM_DECLINE", schematic.getName(), reason), false)
@@ -92,7 +92,7 @@ public class PunishmentCommand {
String ip = IPSanitizer.getTrueAddress(player).getHostAddress();
Chatter.disconnect(player).system(punishmentMessage(user, Punishment.PunishmentType.Ban));
for (BannedUserIPs banned : BannedUserIPs.get(ip)) {
SteamwarUser bannedUser = SteamwarUser.get(banned.getUserID());
SteamwarUser bannedUser = SteamwarUser.byId(banned.getUserID());
if (bannedUser.isPunished(Punishment.PunishmentType.Ban) && bannedUser.getPunishment(Punishment.PunishmentType.Ban).getEndTime().before(time)) {
bannedUser.punish(Punishment.PunishmentType.Ban, time, banReason, punisher.getId(), perma);
}
@@ -240,7 +240,7 @@ public class TeamCommand extends SWCommand {
@Override
public Collection<String> tabCompletes(Chatter sender, PreviousArguments previousArguments, String s) {
return Team.get(sender.user().getTeam()).getMembers().stream()
.map(SteamwarUser::get)
.map(SteamwarUser::byId)
.map(SteamwarUser::getUserName)
.toList();
}
@@ -296,7 +296,7 @@ public class TeamCommand extends SWCommand {
@Register(value = "info", description = "TEAM_INFO_USAGE")
public void info(Chatter sender, @ErrorMessage("UNKNOWN_TEAM") Team team){
List<SteamwarUser> users = team.getMembers().stream().map(SteamwarUser::get).toList();
List<SteamwarUser> users = team.getMembers().stream().map(SteamwarUser::byId).toList();
sender.system("TEAM_INFO_TEAM", team.getTeamName(), team.getTeamColor(), team.getTeamKuerzel());
sender.prefixless("TEAM_INFO_LEADER", users.stream().filter(SteamwarUser::isLeader).count(), getMemberList(users, true));
@@ -56,7 +56,7 @@ public class WhoisCommand extends SWCommand {
}
// SW ID or Discord ID
whois(sender, id < Integer.MAX_VALUE ? SteamwarUser.get((int) id) : SteamwarUser.get(id), parameters);
whois(sender, id < Integer.MAX_VALUE ? SteamwarUser.byId((int) id) : SteamwarUser.get(id), parameters);
}
@Register(description = "WHOIS_USAGE")
@@ -128,7 +128,7 @@ public class WhoisCommand extends SWCommand {
if (!all && !punishment.isCurrent()) {
continue;
}
sender.prefixless("WHOIS_PUNISHMENT", SteamwarUser.get(punishment.getPunisher()), punishment.getType().name(), duration(sender, punishment.getStartTime(), false), duration(sender, punishment.getEndTime(), punishment.isPerma()), punishment.getReason());
sender.prefixless("WHOIS_PUNISHMENT", SteamwarUser.byId(punishment.getPunisher()), punishment.getType().name(), duration(sender, punishment.getStartTime(), false), duration(sender, punishment.getEndTime(), punishment.isPerma()), punishment.getReason());
isPunished = true;
}
if (!isPunished) {
@@ -23,7 +23,6 @@ import de.steamwar.sql.SchematicNode;
import de.steamwar.sql.SteamwarUser;
import de.steamwar.velocitycore.commands.CheckCommand;
import java.time.Instant;
import java.util.ArrayList;
import java.util.List;
@@ -43,7 +42,7 @@ public class ChecklistChannel extends DiscordChannel {
for(SchematicNode schem : schems) {
String waitTime = "<t:" + (schem.getLastUpdate().getTime() / 1000) + ":R>";
system("CHECK_LIST_TO_CHECK", waitTime, schem.getSchemtype().getKuerzel(), SteamwarUser.get(schem.getOwner()).getUserName(), schem.getName());
system("CHECK_LIST_TO_CHECK", waitTime, schem.getSchemtype().getKuerzel(), SteamwarUser.byId(schem.getOwner()).getUserName(), schem.getName());
lastSchematics.add(schem.getId());
}
}
@@ -47,7 +47,7 @@ public class DiscordChannel extends Chatter.PlayerlessChatter {
public static SteamwarUser userOrPublic(User dcUser) {
SteamwarUser user = SteamwarUser.get(dcUser.getIdLong());
return user != null ? user : SteamwarUser.get(0);
return user != null ? user : SteamwarUser.byId(0);
}
private final Queue<Webhook> webhooks = new ArrayDeque<>();
@@ -67,7 +67,7 @@ public class DiscordChannel extends Chatter.PlayerlessChatter {
}
public DiscordChannel(MessageChannel channel, int maxNumberOfWebhooks) {
this(SteamwarUser.get(-1), channel, maxNumberOfWebhooks);
this(SteamwarUser.byId(-1), channel, maxNumberOfWebhooks);
ChannelListener.getChannels().put(this.channel, this);
if (channel instanceof TextChannel) {
@@ -56,7 +56,7 @@ public class BanListener extends BasicListener {
Timestamp highestBan = ips.get(0).getTimestamp();
boolean perma = false;
for(BannedUserIPs banned : ips) {
SteamwarUser bannedUser = SteamwarUser.get(banned.getUserID());
SteamwarUser bannedUser = SteamwarUser.byId(banned.getUserID());
if (bannedUser.isPunished(Punishment.PunishmentType.Ban)) {
Punishment ban = bannedUser.getPunishment(Punishment.PunishmentType.Ban);
if(ban.isPerma()) {
@@ -77,7 +77,7 @@ public class BanListener extends BasicListener {
clickEvent,
user.getUserName(),
(Function<Chatter, String>) ((Chatter sender) -> ips.stream().map(banned -> {
SteamwarUser bannedUser = SteamwarUser.get(banned.getUserID());
SteamwarUser bannedUser = SteamwarUser.byId(banned.getUserID());
return sender.parseToLegacy("BAN_AVOIDING_LIST", bannedUser.getUserName(),
banned.getTimestamp().toLocalDateTime().format(DateTimeFormatter.ofPattern(sender.parseToPlain("TIMEFORMAT"))));
}).collect(Collectors.joining(" ")))
@@ -90,7 +90,7 @@ public class ChatListener extends BasicListener {
user = SteamwarUser.get(player.getUniqueId());
name = player.getUsername();
} else if (source instanceof ConsoleCommandSource) {
user = SteamwarUser.get(-1);
user = SteamwarUser.byId(-1);
name = "«CONSOLE»";
} else {
name = source.toString();
@@ -128,7 +128,7 @@ public class ChatListener extends BasicListener {
SteamwarUser user = SteamwarUser.get(player.getUniqueId());
if (message.contains("jndi:ldap")) {
PunishmentCommand.ban(user, Punishment.PERMA_TIME, "Versuchte Exploit-Ausnutzung", SteamwarUser.get(-1), true);
PunishmentCommand.ban(user, Punishment.PERMA_TIME, "Versuchte Exploit-Ausnutzung", SteamwarUser.byId(-1), true);
VelocityCore.getLogger().log(Level.SEVERE, "%s %s wurde automatisch wegen jndi:ldap gebannt.".formatted(user.getUserName(), user.getId()));
return;
}
@@ -83,7 +83,7 @@ public class ModUtils {
if(max == ModType.RED) {
user.punish(Punishment.PunishmentType.Ban, Timestamp.from(Instant.now().plus(7, ChronoUnit.DAYS)), message, -1, false);
PunishmentCommand.ban(user, Timestamp.from(Instant.now().plus(7, ChronoUnit.DAYS)), message, SteamwarUser.get(-1), false);
PunishmentCommand.ban(user, Timestamp.from(Instant.now().plus(7, ChronoUnit.DAYS)), message, SteamwarUser.byId(-1), false);
VelocityCore.getLogger().log(Level.SEVERE, "%s %s wurde automatisch wegen der Mods %s gebannt.".formatted(user.getUserName(), user.getId(), modList));
}
@@ -70,9 +70,9 @@ public class EloPlayerHandler extends PacketHandler {
// Die nächsten Zeilen filtern ein Fight innerhalb eines Teams nicht gewertet wird, bzw auch wenn nur Teile beider Teams im
// gleichen Team sind dieser ungewertet ist.
Set<Integer> teamsIds = fightEndsPacket.getBluePlayers().stream().map(SteamwarUser::get).map(SteamwarUser::getTeam).collect(Collectors.toSet());
Set<Integer> teamsIds = fightEndsPacket.getBluePlayers().stream().map(SteamwarUser::byId).map(SteamwarUser::getTeam).collect(Collectors.toSet());
for (int redPlayer : fightEndsPacket.getRedPlayers()) {
int team = SteamwarUser.get(redPlayer).getTeam();
int team = SteamwarUser.byId(redPlayer).getTeam();
if (team != 0 && teamsIds.contains(team)) {
return;
}
@@ -214,7 +214,7 @@ public class EloPlayerHandler extends PacketHandler {
}
private Player player(int userId) {
return VelocityCore.getProxy().getPlayer(SteamwarUser.get(userId).getUUID()).orElse(null);
return VelocityCore.getProxy().getPlayer(SteamwarUser.byId(userId).getUUID()).orElse(null);
}
private double getTimeFactor(int duration) {
@@ -30,7 +30,7 @@ public class ExecuteCommandHandler extends PacketHandler {
@Handler
public void handle(ExecuteCommandPacket packet) {
SteamwarUser target = SteamwarUser.get(packet.getPlayerId());
SteamwarUser target = SteamwarUser.byId(packet.getPlayerId());
String command = packet.getCommand();
VelocityCore.getProxy().getCommandManager().executeAsync(VelocityCore.getProxy().getPlayer(target.getUUID()).orElse(null), command);
@@ -41,7 +41,7 @@ public class InventoryCallbackHandler extends PacketHandler {
@Handler
public void handle(InventoryCallbackPacket packet) {
SteamwarUser owner = SteamwarUser.get(packet.getOwner());
SteamwarUser owner = SteamwarUser.byId(packet.getOwner());
InventoryCallbackPacket.CallbackType type = packet.getType();
if(!inventoryHashMap.containsKey(owner.getId())) {
Chatter.of(owner).system("UPDATE_INTERRUPTION");
@@ -35,7 +35,7 @@ public class PrepareSchemHandler extends PacketHandler {
@Handler
public void handle(PrepareSchemPacket packet) {
Player player = VelocityCore.getProxy().getPlayer(SteamwarUser.get(packet.getPlayer()).getUUID()).orElse(null);
Player player = VelocityCore.getProxy().getPlayer(SteamwarUser.byId(packet.getPlayer()).getUUID()).orElse(null);
int schematicID = packet.getSchem();
GameModeConfig<String, String> mode = ArenaMode.getBySchemType(SchematicType.fromDB(packet.getSchemType()));
@@ -80,7 +80,7 @@ public class TablistServer implements TablistPart {
}
private void addPlayers(String prefix, List<Integer> teamPlayers, Collection<Player> onlinePlayers) {
teamPlayers.stream().map(SteamwarUser::get).map(
teamPlayers.stream().map(SteamwarUser::byId).map(
user -> onlinePlayers.stream().filter(player -> player.getUniqueId().equals(user.getUUID())).findAny()
).filter(Optional::isPresent).map(Optional::get).sorted(
(p1, p2) -> p1.getUsername().compareToIgnoreCase(p2.getUsername())