Format code

This commit is contained in:
2026-05-17 10:08:06 +02:00
parent d110df924e
commit 5125453406
152 changed files with 752 additions and 814 deletions
@@ -195,26 +195,28 @@ public class Persistent {
CommandManager commandManager = proxy.getCommandManager();
for (String alias : commandManager.getAliases()) {
CommandMeta meta = commandManager.getCommandMeta(alias);
if (meta != null && meta.getPlugin() == plugin)
if (meta != null && meta.getPlugin() == plugin) {
commandManager.unregister(meta);
}
}
proxy.getEventManager().unregisterListeners(plugin);
proxy.getScheduler().tasksByPlugin(plugin).forEach(ScheduledTask::cancel);
container.getExecutorService().shutdown();
if (!container.getExecutorService().awaitTermination(100, TimeUnit.MILLISECONDS))
if (!container.getExecutorService().awaitTermination(100, TimeUnit.MILLISECONDS)) {
logger.log(Level.WARNING, "ExecutorService termination took longer than 100ms, continuing.");
}
for (Thread thread : Thread.getAllStackTraces().keySet()) {
if (thread.getClass().getClassLoader() != classLoader)
continue;
if (thread.getClass().getClassLoader() != classLoader) continue;
thread.interrupt();
thread.join(100);
if (thread.isAlive())
if (thread.isAlive()) {
logger.log(Level.WARNING, "Could not stop thread %s of plugin %s. Still running".formatted(thread.getName(), container.getDescription().getId()));
}
}
//TODO close all log handlers
@@ -65,8 +65,7 @@ public class Subserver {
public static Subserver getSubserver(Player p) {
synchronized (serverList) {
for (int i = serverList.size() - 1; i >= 0; i--) {
if (serverList.get(i).onServer(p))
return serverList.get(i);
if (serverList.get(i).onServer(p)) return serverList.get(i);
}
}
return null;
@@ -142,8 +141,9 @@ public class Subserver {
public void stop() {
try {
long pid = process.pid();
if (checkpoint)
if (checkpoint) {
pid = process.children().findAny().map(ProcessHandle::pid).orElse(pid);
}
Runtime.getRuntime().exec(new String[]{"kill", "-SIGUSR1", Long.toString(pid)});
} catch (IOException e) {
@@ -156,8 +156,7 @@ public class Subserver {
process.destroyForcibly();
}
if (thread.isAlive())
thread.join();
if (thread.isAlive()) thread.join();
} catch (InterruptedException e) {
logger.log(Level.SEVERE, "Subserver stop interrupted!", e);
Thread.currentThread().interrupt();
@@ -186,8 +185,9 @@ public class Subserver {
started = test.test(line);
}
if (line == null)
if (line == null) {
throw new IOException(serverName + " did not start correctly!");
}
}
}
@@ -225,18 +225,18 @@ public class Subserver {
} else {
sendProgress(0);
start(process.getInputStream(), line -> {
if (line.contains("Loading libraries, please wait"))
if (line.contains("Loading libraries, please wait")) {
sendProgress(2);
else if (line.contains("Starting Minecraft server on"))
} else if (line.contains("Starting Minecraft server on")) {
sendProgress(5);
else if (line.contains("Preparing start region"))
} else if (line.contains("Preparing start region")) {
sendProgress(8);
}
return line.contains("Done (");
});
}
if (!started)
return;
if (!started) return;
sendProgress(10);
for (Player cachedPlayer : cachedPlayers) {
@@ -253,8 +253,7 @@ public class Subserver {
} finally {
unregister();
shutdownCallback.run();
if (ex != null)
failureCallback.accept(ex);
if (ex != null) failureCallback.accept(ex);
}
}
@@ -84,8 +84,7 @@ public class SWCommand extends AbstractSWCommand<Chatter> {
@Override
public List<String> suggest(Invocation invocation) {
String[] args = invocation.arguments();
if (args.length == 0)
args = new String[]{""};
if (args.length == 0) args = new String[]{""};
return SWCommand.this.tabComplete(Chatter.of(invocation.source()), invocation.alias(), args);
}
@@ -99,8 +98,7 @@ public class SWCommand extends AbstractSWCommand<Chatter> {
@Override
public void unregister() {
if (command == null)
return;
if (command == null) return;
VelocityCore.getProxy().getCommandManager().unregister(name);
DiscordBot.getCommands().remove(name);
@@ -108,8 +106,7 @@ public class SWCommand extends AbstractSWCommand<Chatter> {
@Override
public void register() {
if (command == null)
return;
if (command == null) return;
VelocityCore.getProxy().getCommandManager().register(VelocityCore.getProxy().getCommandManager().metaBuilder(name).aliases(aliases).plugin(VelocityCore.get()).build(), command);
DiscordBot.getCommands().put(name, this);
@@ -86,10 +86,11 @@ public interface Chatter {
default <T> T withPlayerOrOffline(Function<Player, T> withPlayer, Supplier<T> withOffline) {
Player player = getPlayer();
if (player == null)
if (player == null) {
return withOffline.get();
else
} else {
return withPlayer.apply(player);
}
}
default void withPlayerOrOffline(Consumer<Player> withPlayer, Runnable withOffline) {
@@ -128,10 +129,12 @@ public interface Chatter {
default void send(boolean prefixed, Message onHover, ClickEvent onClick, Message message) {
Component msg = parse(prefixed, message);
if (onHover != null)
if (onHover != null) {
msg = msg.hoverEvent(HoverEvent.showText(parse(false, onHover)));
if (onClick != null)
}
if (onClick != null) {
msg = msg.clickEvent(onClick);
}
sendMessage(msg);
}
@@ -167,8 +170,9 @@ public interface Chatter {
Locale locale = getLocale();
ResourceBundle resourceBundle = SteamwarResourceBundle.getResourceBundle(locale);
String pattern = "";
if (prefixed)
if (prefixed) {
pattern = resourceBundle.getObject("PREFIX") + " ";
}
pattern += (String) resourceBundle.getObject(message.format());
MessageFormat format = new MessageFormat(pattern, locale);
@@ -200,8 +204,7 @@ public interface Chatter {
}
static Chatter of(CommandSource sender) {
if (sender instanceof Player player)
return of(player);
if (sender instanceof Player player) return of(player);
//Console
return new PlayerlessChatter() {
@@ -232,8 +235,7 @@ public interface Chatter {
static Chatter of(UUID uuid, boolean playerlessChatShown) {
Player player = VelocityCore.getProxy().getPlayer(uuid).orElse(null);
if (player != null)
return Chatter.of(player);
if (player != null) return Chatter.of(player);
return new PlayerlessChatter() {
@Override
@@ -46,8 +46,7 @@ public class PlayerChatter implements Chatter {
@Override
public boolean chatShown() {
if (!player.hasSentPlayerSettings())
return false;
if (!player.hasSentPlayerSettings()) return false;
return player.getPlayerSettings().getChatMode() == PlayerSettings.ChatMode.SHOWN;
}
@@ -36,8 +36,7 @@ public class SteamwarResourceBundle extends PropertyResourceBundle {
private static synchronized ResourceBundle getResourceBundle(String locale, ResourceBundle parent) {
return bundles.computeIfAbsent(locale, locale1 -> {
InputStream inputStream = Message.class.getResourceAsStream(BASE_PATH + ("".equals(locale) ? "" : "_" + locale) + ".properties");
if (inputStream == null)
return parent;
if (inputStream == null) return parent;
try {
return new SteamwarResourceBundle(inputStream, parent);
} catch (IOException e) {
@@ -50,8 +50,7 @@ public class ArenaMode {
allModes.clear();
File folder = new File(VelocityCore.get().getDataDirectory().getParent().toFile(), "FightSystem");
if (!folder.exists())
return;
if (!folder.exists()) return;
GameModeConfig.init();
SchematicType.init();
@@ -82,8 +81,9 @@ public class ArenaMode {
public static List<String> getAllChatNames(boolean historic) {
List<String> chatNames = new LinkedList<>();
for (GameModeConfig<String, String> mode : byInternal.values()) {
if (mode.isActive() && historic == mode.Server.Historic)
if (mode.isActive() && historic == mode.Server.Historic) {
chatNames.addAll(mode.Server.ChatNames);
}
}
return chatNames;
}
@@ -34,15 +34,16 @@ public class Broadcaster {
private int lastBroadCast = 0;
public Broadcaster() {
if (!broadcasts.isEmpty())
if (!broadcasts.isEmpty()) {
VelocityCore.schedule(this::broadcast).repeat(10, TimeUnit.MINUTES).schedule();
}
}
private void broadcast() {
if (!VelocityCore.getProxy().getAllPlayers().isEmpty())
if (!VelocityCore.getProxy().getAllPlayers().isEmpty()) {
Chatter.broadcast().system("PLAIN_STRING", broadcasts.get(lastBroadCast++));
}
if (lastBroadCast == broadcasts.size())
lastBroadCast = 0;
if (lastBroadCast == broadcasts.size()) lastBroadCast = 0;
}
}
@@ -53,21 +53,20 @@ public class ErrorLogger extends AbstractAppender {
@Override
public void append(LogEvent event) {
if (event.getLevel().intLevel() > Level.WARN.intLevel())
return;
if (event.getLevel().intLevel() > Level.WARN.intLevel()) return;
String message = event.getMessage().getFormattedMessage();
for (String reason : filteredMessages)
if (message.contains(reason))
return;
for (String reason : filteredMessages) {
if (message.contains(reason)) return;
}
ByteArrayOutputStream stacktraceOutput = new ByteArrayOutputStream();
if (event.getThrown() != null)
event.getThrown().printStackTrace(new PrintStream(stacktraceOutput));
String stacktrace = stacktraceOutput.toString();
for (String reason : filteredStacktraces)
if (stacktrace.contains(reason))
return;
for (String reason : filteredStacktraces) {
if (stacktrace.contains(reason)) return;
}
SWException.log(message, stacktrace);
}
@@ -97,11 +97,9 @@ public class EventStarter {
private EventFight nextFight(Queue<EventFight> fights) {
EventFight next = fights.peek();
if (next == null)
return null;
if (next == null) return null;
if (!next.getStartTime().before(new Timestamp(System.currentTimeMillis())))
return null;
if (!next.getStartTime().before(new Timestamp(System.currentTimeMillis()))) return null;
return fights.poll();
}
@@ -54,8 +54,7 @@ public abstract class Node {
public static Node getNode() {
for (Node node : nodes) {
if (node.belowLoadLimit)
return node;
if (node.belowLoadLimit) return node;
}
return null;
}
@@ -99,10 +98,11 @@ public abstract class Node {
}
protected void constructServerstart(File directory, List<String> cmd, String serverJar, String worldDir, String levelName, int port, String... dParams) {
if (JAVA_8.contains(serverJar))
if (JAVA_8.contains(serverJar)) {
cmd.add("/usr/lib/jvm/openj9-8/bin/java");
else
} else {
cmd.add("/usr/lib/jvm/openj9-21/bin/java");
}
for (String param : dParams) {
cmd.add("-D" + param);
@@ -203,14 +203,16 @@ public abstract class Node {
protected void calcLoadLimit() {
try {
Process process = prepareExecution("cat /proc/meminfo").start();
if (!process.waitFor(1, TimeUnit.SECONDS))
if (!process.waitFor(1, TimeUnit.SECONDS)) {
throw new IOException(hostname + " timeout");
}
try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
calcLoadLimit(reader);
}
} catch (IOException e) {
if (belowLoadLimit)
if (belowLoadLimit) {
VelocityCore.getLogger().log(Level.SEVERE, "Could read remote load", e);
}
belowLoadLimit = false;
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
@@ -166,10 +166,11 @@ public class ServerStarter {
if (!world.exists()) {
File storage = new File(version.getWorldFolder(WORLDS_STORAGE_BASE_PATH), worldName);
if (storage.exists())
if (storage.exists()) {
node.execute("mv", storage.getPath(), world.getPath());
else
} else {
copyWorld(node, new File(directory, "Bauwelt").getPath(), world.getPath());
}
}
};
@@ -208,12 +209,10 @@ public class ServerStarter {
// Stop existing build server
startCondition = () -> {
if (startingBau(owner))
return false;
if (startingBau(owner)) return false;
Bauserver subserver = Bauserver.get(owner.getUniqueId());
if (subserver != null && subserver.isStarted())
subserver.stop();
if (subserver != null && subserver.isStarted()) subserver.stop();
return !startingBau(owner);
};
@@ -261,8 +260,9 @@ public class ServerStarter {
public ServerStarter send(Player player) {
playersToSend.add(player);
if (!(responsible instanceof Player))
if (!(responsible instanceof Player)) {
responsible = player;
}
return this;
}
@@ -275,8 +275,7 @@ public class ServerStarter {
public void start() {
VelocityCore.schedule(() -> {
synchronized (responsible) {
if (!startCondition.getAsBoolean())
return;
if (!startCondition.getAsBoolean()) return;
int port = portrange.freePort();
String serverName = serverNameProvider.apply(port);
@@ -285,21 +284,24 @@ public class ServerStarter {
if (node == null) {
node = Node.getNode();
if (node == null) {
for (Player p : playersToSend)
for (Player p : playersToSend) {
Chatter.of(p).system("SERVER_START_OVERLOAD");
}
return;
}
}
if (worldName == null)
if (worldName == null) {
worldName = serverToWorldName(serverName);
}
worldSetup.run();
arguments.put("logPath", worldName);
File checkpointDir = new File("/tmp/" + System.getProperty("user.name") + ".checkpoints/" + directory.getName() + "/" + worldName);
if (checkpoint)
if (checkpoint) {
arguments.put("checkpoint", checkpointDir.getPath());
}
((VelocityViaConfig) Via.getConfig()).getVelocityServerProtocols().put(serverName, version.getProtocolVersion().getProtocol());
if (checkpoint && checkpointDir.exists()) {
@@ -371,9 +373,7 @@ public class ServerStarter {
private void increment() {
current++;
if (current == end)
current = start;
if (current == end) current = start;
}
private synchronized int freePort() {
@@ -53,7 +53,8 @@ public class SubserverSystem {
public static void sendPlayer(Subserver subserver, Player player) {
subserver.sendPlayer(player);
if (!subserver.isStarted() && FightInfoHandler.onLobby(player))
if (!subserver.isStarted() && FightInfoHandler.onLobby(player)) {
NetworkSender.send(player, new StartingServerPacket(SteamwarUser.get(player.getUniqueId()).getId()));
}
}
}
@@ -206,8 +206,9 @@ public class VelocityCore implements ReloadablePlugin {
bot.getJda().getHttpClient().connectionPool().evictAll();
bot.getJda().getHttpClient().dispatcher().executorService().shutdown();
try {
if (!bot.getJda().awaitShutdown(1, TimeUnit.SECONDS))
if (!bot.getJda().awaitShutdown(1, TimeUnit.SECONDS)) {
logger.log(Level.SEVERE, "Could not await discord bot shutdown");
}
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
@@ -233,8 +234,9 @@ public class VelocityCore implements ReloadablePlugin {
List<String> cmds = server.getCommands();
String cmd = cmds.remove(0);
if (server.getSpectatePort() != 0)
if (server.getSpectatePort() != 0) {
EventStarter.addSpectateServer(server.getSpectatePort(), cmd);
}
new ServerSwitchCommand(cmd, entry.getKey(), server.getSpectatePort() != 0, cmds.toArray(new String[0]));
}
@@ -42,7 +42,8 @@ public class AlertCommand extends SWCommand {
String s = String.join(" ", message);
Chatter.broadcast().system("ALERT", s.replace('&', '§'));
if ("-discord".equals(sendToDiscord))
if ("-discord".equals(sendToDiscord)) {
DiscordBot.withBot(bot -> bot.getAnnouncementChannel().send(s));
}
}
}
@@ -161,8 +161,9 @@ public class BauCommand extends SWCommand {
setter.accept(target);
Bauserver bauserver = Bauserver.get(owner.user().getUUID());
if (bauserver != null)
if (bauserver != null) {
bauserver.getRegisteredServer().getPlayersConnected().stream().findAny().ifPresent(player -> NetworkSender.send(player, new BaumemberUpdatePacket()));
}
Chatter.of(user.getUUID()).system("BAU_MEMBER_SET_TARGET", owner, new Message(permName));
owner.system("BAU_MEMBER_SET", new Message(permName));
@@ -177,12 +178,14 @@ public class BauCommand extends SWCommand {
Bauserver bauserver = Bauserver.get(owner.user().getUUID());
Chatter member = Chatter.of(user.getUUID());
member.withPlayer(player -> {
if (bauserver != null && bauserver.getRegisteredServer().getPlayersConnected().contains(player))
if (bauserver != null && bauserver.getRegisteredServer().getPlayersConnected().contains(player)) {
player.createConnectionRequest(VelocityCore.get().getConfig().lobbyserver()).fireAndForget();
}
});
if (bauserver != null)
if (bauserver != null) {
bauserver.getRegisteredServer().getPlayersConnected().stream().findAny().ifPresent(player -> NetworkSender.send(player, new BaumemberUpdatePacket()));
}
member.system("BAU_DELMEMBER_DELETED_TARGET", owner);
owner.system("BAU_DELMEMBER_DELETED");
@@ -211,8 +214,9 @@ public class BauCommand extends SWCommand {
VelocityCore.schedule(() -> {
sender.system("BAU_STOPPING");
Bauserver subserver = Bauserver.get(sender.user().getUUID());
if (subserver != null)
if (subserver != null) {
subserver.stop();
}
sender.system("BAU_STOPPED");
}).schedule();
@@ -227,8 +231,9 @@ public class BauCommand extends SWCommand {
VelocityCore.schedule(() -> {
Bauserver subserver = Bauserver.get(sender.user().getUUID());
if (subserver != null)
if (subserver != null) {
subserver.stop();
}
SubserverSystem.deleteFolder(VelocityCore.local, world);
sender.system("BAU_DELETE_DELETED");
@@ -114,8 +114,9 @@ public class BuilderCloudCommand extends SWCommand {
File folder = getWorldFolder(previousArguments, 1);
String[] files;
if (folder == null || (files = folder.list()) == null)
if (folder == null || (files = folder.list()) == null) {
return Collections.emptyList();
}
return Arrays.stream(files).filter(file -> new File(folder, file).isDirectory()).filter(file -> s.startsWith(".") || !file.startsWith(".")).toList();
}
@@ -129,17 +130,16 @@ public class BuilderCloudCommand extends SWCommand {
return new TypeMapper<File>() {
@Override
public File map(Chatter sender, PreviousArguments previousArguments, String s) {
if (s.isEmpty())
return null;
if (s.isEmpty()) return null;
File folder = getWorldFolder(previousArguments, 2);
if (folder == null)
throw new SecurityException();
if (folder == null) throw new SecurityException();
File generator = new File(folder, s + ".dat");
if (!generator.exists() || !generator.isFile())
if (!generator.exists() || !generator.isFile()) {
throw new SecurityException();
}
return generator;
}
@@ -149,8 +149,9 @@ public class BuilderCloudCommand extends SWCommand {
File folder = getWorldFolder(previousArguments, 2);
String[] files;
if (folder == null || (files = folder.list()) == null)
if (folder == null || (files = folder.list()) == null) {
return Collections.emptyList();
}
return Arrays.stream(files).filter(file -> new File(folder, file).isFile()).filter(file -> file.endsWith(".dat")).map(file -> file.substring(0, file.length() - 4)).toList();
}
@@ -163,8 +164,7 @@ public class BuilderCloudCommand extends SWCommand {
private File getWorldFolder(PreviousArguments previousArguments, int offset) {
ServerVersion v = ServerVersion.get(previousArguments.userArgs[previousArguments.userArgs.length - offset]);
if (v == null)
return null;
if (v == null) return null;
return new File(v.getWorldFolder(ServerStarter.BUILDER_BASE_PATH));
}
}
@@ -77,8 +77,7 @@ public class CheckCommand extends SWCommand {
public static void sendReminder(Chatter chatter) {
List<SchematicNode> schematics = getSchemsToCheck();
if (schematics.size() == currentCheckers.size())
return;
if (schematics.size() == currentCheckers.size()) return;
chatter.system("CHECK_REMINDER", new Message("CHECK_REMINDER_HOVER"), ClickEvent.runCommand("/check list"), schematics.size() - currentCheckers.size());
}
@@ -167,8 +166,7 @@ public class CheckCommand extends SWCommand {
}
public static void abort(Player player) {
if (notChecking(player))
return;
if (notChecking(player)) return;
Chatter.of(player).system("CHECK_ABORT");
currentCheckers.get(player.getUniqueId()).abort();
@@ -176,8 +174,7 @@ public class CheckCommand extends SWCommand {
@Register(value = "next", description = "CHECK_HELP_NEXT")
public void next(PlayerChatter sender) {
if (notChecking(sender.getPlayer()))
return;
if (notChecking(sender.getPlayer())) return;
currentCheckers.get(sender.getPlayer().getUniqueId()).next();
}
@@ -189,16 +186,14 @@ public class CheckCommand extends SWCommand {
@Register(value = "decline", description = "CHECK_HELP_DECLINE")
public void decline(PlayerChatter sender) {
if (notChecking(sender.getPlayer()))
return;
if (notChecking(sender.getPlayer())) return;
currentCheckers.get(sender.getPlayer().getUniqueId()).markDeclined();
}
@Register(value = "decline", description = "CHECK_HELP_DECLINE")
public void decline(PlayerChatter sender, String... message) {
if (notChecking(sender.getPlayer()))
return;
if (notChecking(sender.getPlayer())) return;
currentCheckers.get(sender.getPlayer().getUniqueId()).decline(String.join(" ", message));
}
@@ -207,8 +202,9 @@ public class CheckCommand extends SWCommand {
List<SchematicNode> schematicList = new ArrayList<>();
for (SchematicType type : SchematicType.values()) {
if (type.check())
if (type.check()) {
schematicList.addAll(SchematicNode.getAllSchematicsOfType(type));
}
}
return schematicList;
}
@@ -395,8 +391,7 @@ public class CheckCommand extends SWCommand {
remove();
VelocityCore.schedule(() -> {
Bauserver subserver = Bauserver.get(checker.user().getUUID());
if (subserver != null)
subserver.stop();
if (subserver != null) subserver.stop();
}).schedule();
}
@@ -77,8 +77,7 @@ public class DevCommand extends SWCommand {
@Register(value = "reloadmodes")
public void reloadModes(Chatter sender) {
if (!sender.user().hasPerm(UserPerm.ADMINISTRATION))
return;
if (!sender.user().hasPerm(UserPerm.ADMINISTRATION)) return;
try {
ArenaMode.init();
@@ -148,8 +147,7 @@ public class DevCommand extends SWCommand {
String name = "Dev " + user.getUserName();
((VelocityViaConfig) Via.getConfig()).getVelocityServerProtocols().put(name, ServerVersion.get(devServerVersions.get(username)).getProtocolVersion().getProtocol());
if (devServers.containsKey(username))
return;
if (devServers.containsKey(username)) return;
devServers.put(user.getUserName().toLowerCase(), VelocityCore.getProxy().registerServer(new ServerInfo(name, new InetSocketAddress("127.0.0.1", value))));
});
}
@@ -55,8 +55,7 @@ public class EventCommand extends SWCommand {
sender.system("EVENT_NO_CURRENT");
List<Event> coming = Event.getComing();
if (coming.isEmpty())
return;
if (coming.isEmpty()) return;
sender.system("EVENT_COMING");
@@ -65,16 +64,19 @@ public class EventCommand extends SWCommand {
for (Event e : coming) {
sender.prefixless("EVENT_COMING_EVENT", e.getStart().toLocalDateTime().format(format), e.getEnd().toLocalDateTime().format(format), e.getEventName());
if (now.isBefore(e.getDeadline().toInstant()))
if (now.isBefore(e.getDeadline().toInstant())) {
sender.prefixless("EVENT_COMING_DEADLINE", e.getDeadline());
}
SchematicType schemType = e.getSchematicType();
if (schemType != null && schemType.getDeadline() != null && now.isBefore(schemType.getDeadline().toInstant()))
if (schemType != null && schemType.getDeadline() != null && now.isBefore(schemType.getDeadline().toInstant())) {
sender.prefixless("EVENT_COMING_SCHEM_DEADLINE", schemType.getDeadline());
}
Set<Team> teams = TeamTeilnahme.getTeams(e.getEventID());
if (!teams.isEmpty())
if (!teams.isEmpty()) {
sender.prefixless("EVENT_COMING_TEAMS", teams.stream().map(team -> sender.parseToLegacy("EVENT_COMING_TEAM", team.getTeamColor(), team.getTeamKuerzel())).collect(Collectors.joining(" ")));
}
}
}
@@ -150,8 +152,9 @@ public class EventCommand extends SWCommand {
@ClassMapper(value = Team.class, local = true)
public TypeMapper<Team> eventTeams() {
return eventTeam(eventFight -> {
if (eventFight.getStartTime().after(new Timestamp(System.currentTimeMillis())))
if (eventFight.getStartTime().after(new Timestamp(System.currentTimeMillis()))) {
return Collections.emptyList();
}
return List.of(eventFight.getTeamBlue(), eventFight.getTeamRed());
});
}
@@ -53,8 +53,7 @@ public class EventRescheduleCommand extends SWCommand {
Timestamp now = Timestamp.from(new Date().toInstant());
while (it.hasPrevious()) {
EventFight fight = it.previous();
if (fight.getStartTime().after(now))
continue;
if (fight.getStartTime().after(now)) continue;
if (fight.getTeamBlue() == teamBlue.getTeamId() && fight.getTeamRed() == teamRed.getTeamId()) {
sender.system("EVENTRESCHEDULE_STARTING");
@@ -50,8 +50,7 @@ public class FightCommand extends SWCommand {
private static void getModes(Chatter sender, String precommand, boolean historic) {
Component start = Component.empty();
for (GameModeConfig<String, String> mode : ArenaMode.getAllModes()) {
if (!mode.isActive() || mode.Server.Historic != historic)
continue;
if (!mode.isActive() || mode.Server.Historic != historic) continue;
String command = precommand + mode.getChatName();
start = start.append(Component
@@ -71,8 +70,9 @@ public class FightCommand extends SWCommand {
return;
}
if (map == null)
if (map == null) {
map = arenaMode.getRandomMap();
}
if (!allowMerging) {
callback.run(sender, arenaMode, map);
@@ -208,8 +208,7 @@ public class GDPRQuery extends SWCommand {
private void copyBauwelt(SteamwarUser user, ZipOutputStream out, String inDir, String outDir) throws IOException {
File world = new File(inDir);
if (!world.exists())
return;
if (!world.exists()) return;
copy(new File(world, "level.dat"), out, outDir + "/level.dat");
@@ -226,8 +225,9 @@ public class GDPRQuery extends SWCommand {
}
File playerdata = new File(world, "playerdata/" + user.getUUID().toString() + ".dat");
if (playerdata.exists())
if (playerdata.exists()) {
copy(playerdata, out, outDir + "/playerdata/" + user.getUUID().toString() + ".dat");
}
}
private void copyPlayerdata(SteamwarUser user, ZipOutputStream out, String inDir, String outDir) throws IOException {
@@ -237,8 +237,7 @@ public class GDPRQuery extends SWCommand {
int i = 0;
for (File world : worlds.listFiles()) {
File playerdata = new File(world, path);
if (!playerdata.exists())
continue;
if (!playerdata.exists()) continue;
copy(playerdata, out, outDir + "/" + (i++) + "/" + user.getUUID().toString() + ".dat");
}
@@ -44,8 +44,7 @@ public class ListCommand extends SWCommand {
SortedMap<String, List<Player>> playerMap = new TreeMap<>();
for (Player player : VelocityCore.getProxy().getAllPlayers()) {
ServerConnection pserver = player.getCurrentServer().orElse(null);
if (pserver == null)
continue;
if (pserver == null) continue;
if (Subserver.isBuild(Subserver.getSubserver(pserver.getServerInfo()))) {
playerMap.computeIfAbsent("Bau", s -> new ArrayList<>()).add(player);
@@ -115,8 +115,7 @@ public class PunishmentCommand {
public PunishmentCommand(String command, Punishment.PunishmentType punishmentType) {
new PunishCommand(command, punishmentType);
if (punishmentType.getUnpunishmentMessage() == null)
return;
if (punishmentType.getUnpunishmentMessage() == null) return;
new UnpunishCommand("un" + command, punishmentType);
}
@@ -188,24 +187,20 @@ public class PunishmentCommand {
private SteamwarUser unsafeUser(Chatter sender, String arg) {
SteamwarUser target = getOrCreateOfflinePlayer(arg);
if (target == null)
sender.system("UNKNOWN_PLAYER");
if (target == null) sender.system("UNKNOWN_PLAYER");
return target;
}
@Register
public void genericCommand(Chatter sender, @Mapper("toPunish") String toPunish, String date, @ErrorMessage(allowEAs = false, value = "PUNISHMENT_USAGE_REASON") String... message) {
SteamwarUser punisher = sender.user();
if (!punisher.hasPerm(punishmentType.getUserPerm()))
return;
if (!punisher.hasPerm(punishmentType.getUserPerm())) return;
SteamwarUser target = unsafeUser(sender, toPunish);
if (target == null)
return;
if (target == null) return;
Timestamp banTime = parseTime(sender, date);
if (banTime == null)
return;
if (banTime == null) return;
boolean isPerma = date.equalsIgnoreCase("perma");
String msg = String.join(" ", message);
@@ -254,8 +249,7 @@ public class PunishmentCommand {
@Register
public void genericCommand(Chatter sender, @ErrorMessage("UNKNOWN_PLAYER") SteamwarUser target) {
SteamwarUser punisher = sender.user();
if (!punisher.hasPerm(punishmentType.getUserPerm()))
return;
if (!punisher.hasPerm(punishmentType.getUserPerm())) return;
if (!target.isPunished(punishmentType)) {
sender.system(punishmentType.getUsageNotPunished());
@@ -263,8 +257,9 @@ public class PunishmentCommand {
}
target.punish(punishmentType, Timestamp.from(new Date().toInstant()), command, sender.user().getId(), false);
if (punishmentType == Punishment.PunishmentType.Ban)
if (punishmentType == Punishment.PunishmentType.Ban) {
BannedUserIPs.unbanIPs(target.getId());
}
sender.system(punishmentType.getUnpunishmentMessage(), target.getUserName());
}
@@ -56,8 +56,7 @@ public class ReplayCommand extends SWCommand {
@Register
public void genericCommand(PlayerChatter sender, @OptionalValue("") String optionalMap) {
if (PunishmentCommand.isPunishedWithMessage(sender, Punishment.PunishmentType.NoFightServer))
return;
if (PunishmentCommand.isPunishedWithMessage(sender, Punishment.PunishmentType.NoFightServer)) return;
new SWStreamInv<>(sender, new Message("REPLAY_TITLE"), (click, fight) -> {
startReplay(sender, click.isShiftClick(), optionalMap, fight);
@@ -65,8 +64,7 @@ public class ReplayCommand extends SWCommand {
}
private void startReplay(PlayerChatter sender, boolean isAdmin, String optionalMap, Fight fight) {
if (PunishmentCommand.isPunishedWithMessage(sender, Punishment.PunishmentType.NoFightServer))
return;
if (PunishmentCommand.isPunishedWithMessage(sender, Punishment.PunishmentType.NoFightServer)) return;
GameModeConfig<String, String> mode = ArenaMode.getBySchemType(fight.getSchemType());
ServerStarter starter = new ServerStarter().replay(fight.getFightID()).blueLeader(sender.getPlayer());
@@ -96,12 +94,14 @@ public class ReplayCommand extends SWCommand {
lore.add(new Message("REPLAY_TIME", fight.getStartTime()));
lore.add(new Message("SPACER"));
lore.add(new Message("REPLAY_SERVER", fight.getServer(), Integer.toString(fight.getFightID())));
if (!fight.replayAllowed())
if (!fight.replayAllowed()) {
lore.add(new Message("REPLAY_UNAVAILABLE"));
}
item.setLore(lore);
if (fight.replayAllowed())
if (fight.replayAllowed()) {
item.setEnchanted(true);
}
return item;
}
@@ -43,8 +43,7 @@ public class StatCommand extends SWCommand {
try {
Process process = new ProcessBuilder("ps", "x").start();
new BufferedReader(new InputStreamReader(process.getInputStream())).lines().forEach(s -> {
if (!s.contains("--port"))
return;
if (!s.contains("--port")) return;
serverCount.compute(
s.contains("ssh -L") ? s.substring(s.indexOf("ssh -L") + 6).split(" ")[2] : "sw",
(server, count) -> (count != null ? count : 0) + 1
@@ -65,8 +65,9 @@ public class TeamCommand extends SWCommand {
} else {
helpMessages(sender, "TEAM_HELP_CHAT", "TEAM_HELP_EVENT", "TEAM_HELP_LEAVE");
if (user.isLeader())
if (user.isLeader()) {
helpMessages(sender, "TEAM_HELP_INVITE", "TEAM_HELP_REMOVE", "TEAM_HELP_KUERZEL", "TEAM_HELP_NAME", "TEAM_HELP_COLOR", "TEAM_HELP_LEADER", "TEAM_HELP_STEP_BACK", "TEAM_HELP_SERVER");
}
}
}
@@ -80,8 +81,9 @@ public class TeamCommand extends SWCommand {
SteamwarUser user = sender.user();
Team team = Team.byId(user.getTeam());
if (checkTeamKuerzel(sender, team, kuerzel) || checkTeamName(sender, team, name))
if (checkTeamKuerzel(sender, team, kuerzel) || checkTeamName(sender, team, name)) {
return;
}
Team.create(kuerzel, name);
user.setTeam(Team.get(kuerzel).getTeamId());
@@ -93,8 +95,7 @@ public class TeamCommand extends SWCommand {
public void join(@Validator("isNotInTeam") Chatter sender, String... args) {
SteamwarUser user = sender.user();
if (notDuringEvent(sender))
return;
if (notDuringEvent(sender)) return;
if (!teamInvitations.containsKey(user.getId())) {
sender.system("TEAM_JOIN_NO_INVITE");
@@ -164,8 +165,7 @@ public class TeamCommand extends SWCommand {
user.setTeam(0);
if (teamSize == 1)
team.disband(user);
if (teamSize == 1) team.disband(user);
sender.system("TEAM_LEAVE_LEFT");
}
@@ -179,8 +179,7 @@ public class TeamCommand extends SWCommand {
public void invite(@Validator("isLeader") Chatter sender, @ErrorMessage("TEAM_INVITE_NO_PLAYER") SteamwarUser target) {
Team team = Team.byId(sender.user().getTeam());
if (notDuringEvent(sender))
return;
if (notDuringEvent(sender)) return;
if (target.getTeam() != 0) {
sender.system("TEAM_INVITE_IN_TEAM");
@@ -246,11 +245,9 @@ public class TeamCommand extends SWCommand {
public void changekuerzel(@Validator("isLeader") Chatter sender, @Length(min = 2, max = 4) @ErrorMessage("TEAM_KUERZEL_LENGTH") String kuerzel) {
Team team = Team.byId(sender.user().getTeam());
if (notDuringEvent(sender))
return;
if (notDuringEvent(sender)) return;
if (checkTeamKuerzel(sender, team, kuerzel))
return;
if (checkTeamKuerzel(sender, team, kuerzel)) return;
team.setTeamKuerzel(kuerzel);
sender.system("TEAM_KUERZEL_CHANGED");
@@ -260,11 +257,9 @@ public class TeamCommand extends SWCommand {
public void changename(@Validator("isLeader") Chatter sender, @Length(min = 4, max = 15) @ErrorMessage("TEAM_NAME_LENGTH") String name) {
Team team = Team.byId(sender.user().getTeam());
if (notDuringEvent(sender))
return;
if (notDuringEvent(sender)) return;
if (checkTeamName(sender, team, name))
return;
if (checkTeamName(sender, team, name)) return;
team.setTeamName(name);
sender.system("TEAM_NAME_CHANGED");
@@ -272,8 +267,7 @@ public class TeamCommand extends SWCommand {
@Register(value = "promote", description = "TEAM_LEADER_USAGE")
public void promote(@Validator("isLeader") Chatter sender, @ErrorMessage("TEAM_LEADER_NOT_USER") @Mapper("memberList") SteamwarUser target) {
if (notDuringEvent(sender))
return;
if (notDuringEvent(sender)) return;
if (target.getTeam() != sender.user().getTeam()) {
sender.system("TEAM_LEADER_NOT_MEMBER");
@@ -297,8 +291,9 @@ public class TeamCommand extends SWCommand {
sender.prefixless("TEAM_INFO_LEADER", users.stream().filter(SteamwarUser::isLeader).count(), getMemberList(users, true));
String members = getMemberList(users, false);
if (!members.isEmpty())
if (!members.isEmpty()) {
sender.prefixless("TEAM_INFO_MEMBER", users.stream().filter(u -> !u.isLeader()).count(), members);
}
Set<Event> events = TeamTeilnahme.getEvents(team.getTeamId());
if (!events.isEmpty()) {
@@ -371,17 +366,19 @@ public class TeamCommand extends SWCommand {
Component beforePage = Component
.text("«« ")
.color(page > 1 ? NamedTextColor.YELLOW : NamedTextColor.DARK_GRAY);
if (page > 1)
if (page > 1) {
beforePage = beforePage
.hoverEvent(HoverEvent.showText(sender.parse("TEAM_LIST_PREV")))
.clickEvent(ClickEvent.runCommand("/team list " + (page - 1)));
}
Component nextPage = sender.parse("TEAM_LIST_PAGE")
.color(page > 1 ? NamedTextColor.YELLOW : NamedTextColor.DARK_GRAY);
if (page < lastPage)
if (page < lastPage) {
nextPage = nextPage
.hoverEvent(HoverEvent.showText(sender.parse("TEAM_LIST_NEXT")))
.clickEvent(ClickEvent.runCommand("/team list " + (page + 1)));
}
sender.sendMessage(beforePage.append(nextPage));
}
@@ -404,8 +401,7 @@ public class TeamCommand extends SWCommand {
public void event(@Validator("isLeader") Chatter sender, Event event) {
Team team = Team.byId(sender.user().getTeam());
if (notDuringEvent(sender))
return;
if (notDuringEvent(sender)) return;
if (Instant.now().isAfter(event.getDeadline().toInstant())) {
sender.system("TEAM_EVENT_OVER");
@@ -450,8 +446,7 @@ public class TeamCommand extends SWCommand {
public void changeColor(@Validator("isLeader") PlayerChatter sender) {
Team team = Team.byId(sender.user().getTeam());
if (notDuringEvent(sender))
return;
if (notDuringEvent(sender)) return;
SWListInv<String> inv = new SWListInv<>(sender, new Message("TEAM_COLOR_TITLE"), COLOR_CODES.entrySet().stream().map(entry -> new SWListInv.SWListEntry<>(new SWItem(entry.getValue(), new Message("PLAIN_STRING", "§" + entry.getKey() + team.getTeamKuerzel())), entry.getKey())).toList(), (click, element) -> {
});
@@ -115,8 +115,9 @@ public class TpCommand extends SWCommand {
}
if (Subserver.isArena(subserver)) {
if (PunishmentCommand.isPunishedWithMessage(sender, Punishment.PunishmentType.NoFightServer))
if (PunishmentCommand.isPunishedWithMessage(sender, Punishment.PunishmentType.NoFightServer)) {
return;
}
} else if (Subserver.isBuild(subserver)) {
Bauserver bauserver = (Bauserver) subserver;
Player checker = VelocityCore.getProxy().getPlayer(bauserver.getOwner()).orElse(null);
@@ -149,16 +150,18 @@ public class TpCommand extends SWCommand {
//Get target player server
Player target = VelocityCore.getProxy().getPlayer(arg).orElse(null);
if (target != null)
if (target != null) {
server = target.getCurrentServer().map(ServerConnection::getServer).orElse(server);
}
//Get target team event arena
if (server == null) {
Team team = Team.get(arg);
if (team != null) {
Subserver eventArena = EventStarter.getEventServer().get(team.getTeamId());
if (eventArena != null && Subserver.getServerList().contains(eventArena))
if (eventArena != null && Subserver.getServerList().contains(eventArena)) {
server = eventArena.getRegisteredServer();
}
}
}
@@ -69,15 +69,15 @@ public class WhoisCommand extends SWCommand {
sender.system("WHOIS_PREFIX", user.prefix().getColorCode() + user.prefix().getChatPrefix());
sender.system("WHOIS_TEAM", new Message("WHOIS_TEAM_HOVER", team.getTeamName()), ClickEvent.runCommand("/team info " + team.getTeamName()), team.getTeamColor(), team.getTeamKuerzel(), team.getTeamName());
if (!sender.user().hasPerm(UserPerm.TEAM))
return;
if (!sender.user().hasPerm(UserPerm.TEAM)) return;
sender.system("WHOIS_STREAMING", !StreamingCommand.isNotStreaming(user));
if (sender.user().hasPerm(UserPerm.MODERATION) || sender.user().hasPerm(UserPerm.PREFIX_DEVELOPER)) {
sender.system("WHOIS_ID", user.getId());
sender.system("WHOIS_UUID", new Message("WHOIS_UUID_HOVER"), ClickEvent.copyToClipboard(user.getUUID().toString()), user.getUUID().toString());
if (user.getDiscordId() != null)
if (user.getDiscordId() != null) {
sender.system("WHOIS_DISCORD_ID", user.getDiscordId());
}
sender.system("WHOIS_PERMS", user.perms().stream().map(Enum::name).collect(Collectors.joining(", ")));
}
@@ -90,10 +90,12 @@ public class WhoisCommand extends SWCommand {
}
Timestamp lastOnline = user.getLastOnline();
if (firstJoin != null)
if (firstJoin != null) {
sender.system("WHOIS_JOINED_FIRST", firstJoin.toString());
if (lastOnline != null)
}
if (lastOnline != null) {
sender.system("WHOIS_LAST_ONLINE", lastOnline.toString());
}
sender.system("WHOIS_HOURS_PLAYED", new DecimalFormat("###.##").format(onlineTime / 3600d));
if (target != null) {
@@ -102,8 +104,9 @@ public class WhoisCommand extends SWCommand {
sender.system("WHOIS_CURRENT_PROTOCOL", target.getProtocolVersion().getMostRecentSupportedVersion());
List<Mod> mods = ModUtils.getPlayerModMap().get(user.getUUID());
if (mods == null)
if (mods == null) {
mods = Collections.emptyList();
}
sender.system("WHOIS_PLATFORM", mods.isEmpty() ? "Vanilla" : mods.get(0).getPlatform().toString());
@@ -137,10 +140,11 @@ public class WhoisCommand extends SWCommand {
}
private Message duration(Chatter sender, Timestamp timestamp, boolean perma) {
if (perma)
if (perma) {
return new Message("PUNISHMENT_PERMA");
else
} else {
return new Message("PLAIN_STRING", timestamp.toLocalDateTime().format(DateTimeFormatter.ofPattern(sender.parseToPlain("TIMEFORMAT"))));
}
}
@ClassMapper(value = WhoisParameterTypes.class, local = true)
@@ -70,8 +70,7 @@ public class DiscordBot {
private final OptionData commandArgument = new OptionData(OptionType.STRING, ARGUMENT_NAME, "Command arguments", false);
public static void withBot(Consumer<DiscordBot> consumer) {
if (instance != null)
consumer.accept(instance);
if (instance != null) consumer.accept(instance);
}
public static Guild getGuild() {
@@ -143,8 +142,9 @@ public class DiscordBot {
ActionRow.of(Button.link("https://steamwar.de", "Website"), Button.link("https://steamwar.de/youtube", "YouTube")),
ActionRow.of(Button.primary("auth", Emoji.fromUnicode("U+2705")).withLabel("Minecraft verknüpfen"))
), event -> {
if (event.getComponentId().equals("auth"))
if (event.getComponentId().equals("auth")) {
event.reply("Gebe innerhalb der nächsten 10 Minuten ``/verify " + AuthManager.createDiscordAuthToken(event.getUser()) + "`` auf dem Minecraft Server ein").setEphemeral(true).queue();
}
});
List<ActionRow> actionRows = new ArrayList<>();
@@ -36,8 +36,7 @@ public class DiscordConfig {
public static DiscordConfig load() {
File file = new File(System.getProperty("user.home"), "discord.yml");
if (!file.exists() || VelocityCore.get().getConfig().isEventmode())
return null;
if (!file.exists() || VelocityCore.get().getConfig().isEventmode()) return null;
return Config.load(DiscordConfig.class, file, description -> description.addPropertyParameters("roles", String.class, DiscordRole.class));
}
@@ -42,8 +42,7 @@ import java.util.stream.Collectors;
public class EventChannel {
public MessageCreateBuilder get() {
if (Event.get() == null)
return updateComing();
if (Event.get() == null) return updateComing();
return updateCurrent();
}
@@ -53,10 +53,11 @@ public class InteractionReply extends DiscordChannel {
return;
}
if (interaction.getHook().isExpired())
if (interaction.getHook().isExpired()) {
super.sendMessage(msg);
else
} else {
interaction.getHook().sendMessage(PlainTextComponentSerializer.plainText().serialize(msg)).queue();
}
}
public void submit() {
@@ -46,18 +46,15 @@ public class ChannelListener extends ListenerAdapter {
@Override
public void onMessageReceived(@NotNull MessageReceivedEvent event) {
if (event.getAuthor().isBot())
return;
if (event.getAuthor().isBot()) return;
DiscordChannel channel = channels.get(event.getChannel());
if (channel != null)
channel.received(event);
if (channel != null) channel.received(event);
}
@Override
public void onGenericComponentInteractionCreate(@NotNull GenericComponentInteractionCreateEvent event) {
if (event.getType() != InteractionType.COMPONENT)
return;
if (event.getType() != InteractionType.COMPONENT) return;
DiscordChannel channel = channels.get(event.getChannel());
if (channel != null) {
@@ -65,27 +62,27 @@ public class ChannelListener extends ListenerAdapter {
return;
}
if (event.getChannelType() == ChannelType.PRIVATE && event.getComponentId().equals("tada"))
if (event.getChannelType() == ChannelType.PRIVATE && event.getComponentId().equals("tada")) {
event.reply(":tada:").queue();
}
}
@Override
public void onSlashCommandInteraction(@NotNull SlashCommandInteractionEvent event) {
if (event.getGuild().getIdLong() == 1241489896909180998L) return;
InteractionReply.reply(event, sender -> {
if (sender.user().getDiscordId() == null)
return;
if (sender.user().getDiscordId() == null) return;
OptionMapping option = event.getOption(DiscordBot.ARGUMENT_NAME);
String args = "";
if (option != null)
if (option != null) {
args = option.getAsString();
}
VelocityCore.getLogger().log(Level.INFO, "%s -> executed Discord command /%s %s".formatted(sender.user().getUserName(), event.getName(), args));
SWCommand command = DiscordBot.getCommands().get(event.getName());
UserPerm permission = command.getPermission();
if (permission != null && !sender.user().perms().contains(permission))
return;
if (permission != null && !sender.user().perms().contains(permission)) return;
command.execute(sender, args.isEmpty() ? new String[0] : args.split(" "));
});
@@ -52,8 +52,7 @@ public class DiscordSchemUpload extends ListenerAdapter {
if (event.isFromGuild()) return;
Message message = event.getMessage();
if (message.getAttachments().isEmpty())
return;
if (message.getAttachments().isEmpty()) return;
DiscordChannel sender = new DiscordChannel(event.getAuthor());
SteamwarUser user = sender.user();
@@ -82,8 +81,9 @@ public class DiscordSchemUpload extends ListenerAdapter {
}
SchematicNode node = SchematicNode.getSchematicNode(user.getId(), name, (Integer) null);
if (node == null)
if (node == null) {
node = SchematicNode.createSchematic(user.getId(), name, null);
}
try (InputStream in = attachment.getProxy().download().get()) {
byte[] bytes = in.readAllBytes();
@@ -33,8 +33,7 @@ public class DiscordTeamEvent extends ListenerAdapter {
@Override
public void onStringSelectInteraction(@NotNull StringSelectInteractionEvent event) {
if (!event.getChannel().getId().equals(eventsChannel))
return;
if (!event.getChannel().getId().equals(eventsChannel)) return;
if (event.getSelectedOptions().isEmpty()) {
event.deferReply(true).queue();
@@ -151,14 +151,14 @@ public class DiscordTicketHandler extends ListenerAdapter {
!channel.getId().equals(TICKET_CHANNEL) &&
!channel.getId().equals(TICKET_LOG)
) {
if (event.getAuthor().isBot())
return;
if (event.getAuthor().isBot()) return;
ChatterGroup receivers = new ChatterGroup(Chatter.allStream().filter(player -> player.user().hasPerm(UserPerm.TICKET_LOG)));
try {
SteamwarUser user = SteamwarUser.get(Long.parseLong(textChannel.getTopic()));
if (user != null && !user.perms().contains(UserPerm.TEAM))
if (user != null && !user.perms().contains(UserPerm.TEAM)) {
receivers = new ChatterGroup(receivers, Chatter.of(user));
}
} catch (NumberFormatException e) {
//ignored
}
@@ -57,8 +57,7 @@ public class AuthManager {
public User connectAuth(SteamwarUser user, String code) {
User dcUser = TOKENS.remove(code);
if (dcUser == null)
return null;
if (dcUser == null) return null;
user.setDiscordId(dcUser.getIdLong());
@@ -40,12 +40,10 @@ public class DiscordAlert {
public static void send(Chatter player, Color color, Message title, Message description, boolean success) {
DiscordBot.withBot(bot -> {
Long discordId = player.user().getDiscordId();
if (discordId == null)
return;
if (discordId == null) return;
User user = DiscordBot.getInstance().getJda().retrieveUserById(discordId).complete();
if (user == null)
return;
if (user == null) return;
MessageCreateBuilder builder = new MessageCreateBuilder()
.setEmbeds(new EmbedBuilder()
@@ -55,8 +53,9 @@ public class DiscordAlert {
.setDescription(player.parseToPlain(description))
.setTimestamp(Instant.now())
.build());
if (success)
if (success) {
builder.setComponents(ActionRow.of(Button.success("tada", Emoji.fromUnicode("U+1F389"))));
}
new DiscordChannel(user).send(builder);
});
@@ -38,8 +38,7 @@ public class DiscordRanks {
private final Map<UserPerm.Prefix, String> prefixToPermName = UserPerm.prefixes.entrySet().stream().collect(Collectors.toMap(Map.Entry::getValue, entry -> entry.getKey().name().toLowerCase()));
public void update(SteamwarUser user) {
if (user.getDiscordId() == null)
return;
if (user.getDiscordId() == null) return;
Set<String> swRoles = new HashSet<>(DiscordBot.getInstance().getConfig().getRanks().values());
@@ -51,11 +50,13 @@ public class DiscordRanks {
.filter(role -> !role.getId().equals(prefixRole))
.forEach(role -> guild.removeRoleFromMember(member, role).queue());
if (prefixRole != null && member.getRoles().stream().noneMatch(role -> role.getId().equals(prefixRole)))
if (prefixRole != null && member.getRoles().stream().noneMatch(role -> role.getId().equals(prefixRole))) {
guild.addRoleToMember(member, guild.getRoleById(prefixRole)).queue();
}
}, e -> {
if (e instanceof ErrorResponseException err && err.getErrorCode() == 10007)
if (e instanceof ErrorResponseException err && err.getErrorCode() == 10007) {
user.setDiscordId(null);
}
});
}
}
@@ -78,8 +78,7 @@ public class SWInventory {
public void handleClose() {
if (processingClick.compareAndSet(false, true)) {
InventoryCallbackHandler.inventoryHashMap.remove(player.user().getId(), this);
if (close != null)
close.clicked(null);
if (close != null) close.clicked(null);
processingClick.set(false);
}
}
@@ -41,7 +41,6 @@ public class SWItem {
private List<Message> lore = new ArrayList<>();
@Getter
private InvCallback callback;
private int color = 0;
private int customModelData = 0;
public SWItem(String material, Message title) {
@@ -70,14 +69,15 @@ public class SWItem {
object.addProperty("material", material);
object.addProperty("position", position);
object.addProperty("title", player.parseToLegacy(title));
if (skullOwner != null)
if (skullOwner != null) {
object.addProperty("skullOwner", skullOwner);
if (enchanted)
}
if (enchanted) {
object.addProperty("enchanted", true);
if (hideAttributes)
}
if (hideAttributes) {
object.addProperty("hideAttributes", true);
if (color != 0)
object.addProperty("color", color);
}
if (lore != null) {
JsonArray array = new JsonArray();
for (Message lores : lore) {
@@ -43,22 +43,24 @@ public class SWListInv<T> extends SWInventory {
@Override
public void open() {
if (elements.size() > 54) {
if (page != 0)
if (page != 0) {
addItem(45, new SWItem("LIME_DYE", new Message("INV_PAGE_BACK", "e")), (InvCallback.ClickType click) -> {
page--;
open();
});
else
} else {
addItem(45, new SWItem("GRAY_DYE", new Message("INV_PAGE_BACK", "7")), (InvCallback.ClickType click) -> {
});
if (page < elements.size() / 45)
}
if (page < elements.size() / 45) {
addItem(53, new SWItem("LIME_DYE", new Message("INV_PAGE_NEXT", "e")), (InvCallback.ClickType click) -> {
page++;
open();
});
else
} else {
addItem(53, new SWItem("GRAY_DYE", new Message("INV_PAGE_NEXT", "7")), (InvCallback.ClickType click) -> {
});
}
}
int ipageLimit = elements.size() - page * 45;
@@ -41,23 +41,25 @@ public class SWStreamInv<T> extends SWInventory {
public void open() {
List<SWListInv.SWListEntry<T>> entries = constructor.apply(page);
if (page != 0)
if (page != 0) {
addItem(45, new SWItem("LIME_DYE", new Message("INV_PAGE_BACK", "e")), (InvCallback.ClickType click) -> {
page--;
open();
});
else
} else {
addItem(45, new SWItem("GRAY_DYE", new Message("INV_PAGE_BACK", "7")), (InvCallback.ClickType click) -> {
});
}
if (entries.size() == 45)
if (entries.size() == 45) {
addItem(53, new SWItem("LIME_DYE", new Message("INV_PAGE_NEXT", "e")), (InvCallback.ClickType click) -> {
page++;
open();
});
else
} else {
addItem(53, new SWItem("GRAY_DYE", new Message("INV_PAGE_NEXT", "7")), (InvCallback.ClickType click) -> {
});
}
for (int i = 0; i < entries.size(); i++) {
SWListInv.SWListEntry<T> item = entries.get(i);
@@ -65,8 +65,9 @@ public class BanListener extends BasicListener {
perma = true;
break;
}
if (ban.getEndTime().after(highestBan))
if (ban.getEndTime().after(highestBan)) {
highestBan = ban.getEndTime();
}
}
}
ClickEvent clickEvent = ClickEvent.runCommand("/ban " + user.getUserName() + " "
@@ -67,10 +67,11 @@ public class ChatListener extends BasicListener {
command = "/" + command.substring(1);
CommandExecuteEvent.CommandResult result = e.getResult();
if (result.isForwardToServer())
if (result.isForwardToServer()) {
result = CommandExecuteEvent.CommandResult.forwardToServer(command);
else if (result.isAllowed())
} else if (result.isAllowed()) {
result = CommandExecuteEvent.CommandResult.command(command);
}
e.setResult(result);
}
@@ -132,8 +133,9 @@ public class ChatListener extends BasicListener {
return;
}
if (isMistypedCommand(player, message))
if (isMistypedCommand(player, message)) {
return;
}
Subserver subserver = Subserver.getSubserver(player);
String serverName = AuditLog.SERVER_NAME_VELOCITY;
@@ -156,12 +158,12 @@ public class ChatListener extends BasicListener {
String command = message.substring(1);
boolean isCommand = message.startsWith("7") && command.matches("^[7/]?[A-Za-z]+");
if (isCommand && Boolean.FALSE.equals(VelocityCore.getProxy().getCommandManager().executeAsync(player, command).join())) {
if (command.startsWith("7"))
if (command.startsWith("7")) {
command = "/" + command.substring(1);
}
message = "/" + command;
if (filteredCommand(Chatter.of(player), message))
return true;
if (filteredCommand(Chatter.of(player), message)) return true;
player.spoofChatInput(message);
}
@@ -172,15 +174,13 @@ public class ChatListener extends BasicListener {
public static void sendChat(Chatter sender, ChatterGroup receivers, String format, Chatter msgReceiver, String message) {
SteamwarUser user = sender.user();
final String coloredMessage = user.hasPerm(UserPerm.COLOR_CHAT) ? message.replace('&', '§') : message;
if (chatFilter(sender, coloredMessage))
return;
if (chatFilter(sender, coloredMessage)) return;
boolean noReceiver = true;
for (Chatter player : receivers.getChatters()) {
if (player.chatShown()) {
chatToReciever(player, msgReceiver, user, format, coloredMessage);
if (sender.user().getId() != player.user().getId())
noReceiver = false;
if (sender.user().getId() != player.user().getId()) noReceiver = false;
}
}
@@ -200,11 +200,9 @@ public class ChatListener extends BasicListener {
return;
}
if (ChatListener.filteredCommand(sender, message))
return;
if (ChatListener.filteredCommand(sender, message)) return;
if (!message.startsWith("/") && chatFilter(sender, message))
return;
if (!message.startsWith("/") && chatFilter(sender, message)) return;
sender.getPlayer().spoofChatInput(message);
}
@@ -226,15 +224,17 @@ public class ChatListener extends BasicListener {
return true;
}
if (PunishmentCommand.isPunishedWithMessage(sender, Punishment.PunishmentType.Mute))
return true;
if (PunishmentCommand.isPunishedWithMessage(sender, Punishment.PunishmentType.Mute)) return true;
if (message.contains("LIXFEL"))
if (message.contains("LIXFEL")) {
specialAlert(sender, "Lixfel", "CHAT_LIXFEL_", 3, 6, 11, 12, 15);
if (message.contains("YOYONOW"))
}
if (message.contains("YOYONOW")) {
specialAlert(sender, "YoyoNow", "CHAT_YOYONOW_", 3, 6, 11, 12);
if (message.contains("CHAOSCAOT"))
}
if (message.contains("CHAOSCAOT")) {
specialAlert(sender, "Chaoscaot", "CHAT_CHAOSCAOT_", 3, 6, 11, 12, 15, 17);
}
return false;
}
@@ -271,8 +271,7 @@ public class ChatListener extends BasicListener {
}
private static String highlightMentions(String message, String returnColor, Chatter player) {
if (!message.contains("@"))
return message;
if (!message.contains("@")) return message;
String mark = "@" + player.user().getUserName();
return Arrays.stream(message.split(" ")).map(cur -> {
@@ -290,10 +289,11 @@ public class ChatListener extends BasicListener {
int i = 0;
while (i < suggestions.size()) {
String suggestion = suggestions.get(i);
if (suggestion.startsWith("/") && suggestion.contains(":"))
if (suggestion.startsWith("/") && suggestion.contains(":")) {
suggestions.remove(i);
else
} else {
i++;
}
}
}
}
@@ -44,12 +44,14 @@ public class CheckListener extends BasicListener {
List<SchematicNode> uncheckedSchematics = new ArrayList<>();
for (SchematicType type : SchematicType.values()) {
if (type.check())
if (type.check()) {
uncheckedSchematics.addAll(SchematicNode.getAllSchematicsOfType(sender.user().getId(), type.toDB()));
}
}
if (!uncheckedSchematics.isEmpty())
if (!uncheckedSchematics.isEmpty()) {
sender.system("CHECK_UNCHECKED", uncheckedSchematics.size());
}
}
@Subscribe
@@ -57,15 +59,17 @@ public class CheckListener extends BasicListener {
Player player = e.getPlayer();
if (CheckCommand.isChecking(player)) {
Subserver server = Subserver.getSubserver(e.getServer().getServerInfo());
if (!Subserver.isBuild(server) || ((Bauserver) server).getOwner() != player.getUniqueId())
if (!Subserver.isBuild(server) || ((Bauserver) server).getOwner() != player.getUniqueId()) {
CheckCommand.abort(player);
}
}
}
@Subscribe
public void onPlayerDisconnect(DisconnectEvent e) {
Player player = e.getPlayer();
if (CheckCommand.isChecking(player))
if (CheckCommand.isChecking(player)) {
CheckCommand.abort(player);
}
}
}
@@ -60,16 +60,18 @@ public class ConnectionListener extends BasicListener {
@Subscribe
public void onPermissionSetup(PermissionsSetupEvent event) {
event.setProvider(subject -> {
if (!(subject instanceof Player player))
if (!(subject instanceof Player player)) {
return perm -> Tristate.TRUE;
}
Set<UserPerm> perms = SteamwarUser.getOrCreate(player.getUniqueId(), player.getUsername(), ConnectionListener::newPlayer).perms();
if (perms.contains(UserPerm.ADMINISTRATION))
if (perms.contains(UserPerm.ADMINISTRATION)) {
return perm -> Tristate.TRUE;
else if (perms.contains(UserPerm.TEAM))
} else if (perms.contains(UserPerm.TEAM)) {
return perm -> Tristate.fromBoolean(TEAM_PERMISSIONS.contains(perm));
else
} else {
return perm -> Tristate.FALSE;
}
});
}
@@ -79,8 +81,7 @@ public class ConnectionListener extends BasicListener {
SteamwarUser user = SteamwarUser.get(player.getUniqueId());
Chatter chatter = Chatter.of(player);
if (user.hasPerm(UserPerm.CHECK))
CheckCommand.sendReminder(chatter);
if (user.hasPerm(UserPerm.CHECK)) CheckCommand.sendReminder(chatter);
for (Subserver subserver : Subserver.getServerList()) {
if (Subserver.isArena(subserver)) {
@@ -36,10 +36,8 @@ public class CookieEvents extends BasicListener {
@Subscribe
public void handleCookies(CookieReceiveEvent e) {
System.out.println(e.getOriginalKey() + " " + e.getOriginalData());
if (!e.getOriginalKey().namespace().equals(EventModeListener.EVENT_TO_SPECTATE_KEY.namespace()))
return;
if (!e.getOriginalKey().value().equals(EventModeListener.EVENT_TO_SPECTATE_KEY.value()))
return;
if (!e.getOriginalKey().namespace().equals(EventModeListener.EVENT_TO_SPECTATE_KEY.namespace())) return;
if (!e.getOriginalKey().value().equals(EventModeListener.EVENT_TO_SPECTATE_KEY.value())) return;
e.setResult(CookieReceiveEvent.ForwardResult.handled());
Player player = e.getPlayer();
SteamwarUser user = SteamwarUser.get(player.getUniqueId());
@@ -74,8 +74,7 @@ public class EventModeListener extends BasicListener {
return;
}
if (Referee.get(event.getEventID()).contains(user.getId()))
return;
if (Referee.get(event.getEventID()).contains(user.getId())) return;
if (player.getProtocolVersion().lessThan(ProtocolVersion.MINECRAFT_1_20_5)) {
sender.system("EVENTMODE_KICK");
@@ -94,8 +93,7 @@ public class EventModeListener extends BasicListener {
SteamwarUser user = SteamwarUser.get(player.getUniqueId());
Event event = Event.get();
if (event != null && Referee.get(event.getEventID()).contains(user.getId()))
return;
if (event != null && Referee.get(event.getEventID()).contains(user.getId())) return;
List<EventFight> activeFights = EventFight.getActiveFights();
@@ -520,8 +520,9 @@ public class PluginMessage extends BasicListener {
String brand = event.getBrand();
VelocityCore.getLogger().log(knownBrands.contains(brand) ? Level.INFO : Level.WARNING, () -> player.getUsername() + " joins with brand: " + brand);
if (brand.equals("badlion"))
if (brand.equals("badlion")) {
badlion.sendRestrictions(player);
}
}
private void registerPassthroughToClient(String... channels) {
@@ -547,8 +548,9 @@ public class PluginMessage extends BasicListener {
private void register(String channel, boolean clientSideRegister, Parser handler) {
handlers.put(channel, handler);
if (clientSideRegister)
if (clientSideRegister) {
VelocityCore.getProxy().getChannelRegistrar().register(channel.indexOf(':') != -1 ? MinecraftChannelIdentifier.from(channel) : new LegacyChannelIdentifier(channel));
}
}
private void serverRegistersChannel(PluginMessageEvent event) {
@@ -568,10 +570,11 @@ public class PluginMessage extends BasicListener {
private Parser directional(Parser fromServer, Parser fromPlayer) {
return event -> {
if (event.getSource() instanceof Player)
if (event.getSource() instanceof Player) {
fromPlayer.handle(event);
else
} else {
fromServer.handle(event);
}
};
}
@@ -56,11 +56,9 @@ public class VersionAnnouncer extends BasicListener {
}).delay(Duration.of(100, ChronoUnit.MILLIS)).schedule();
}
if (playerVersion == serverVersion)
return;
if (playerVersion == serverVersion) return;
if (!Subserver.isBuild(Subserver.getSubserver(server)))
return;
if (!Subserver.isBuild(Subserver.getSubserver(server))) return;
player.sendActionBar(Chatter.of(player).parse("SERVER_VERSION", ProtocolVersion.getProtocolVersion(serverVersion).getMostRecentSupportedVersion()));
}
@@ -60,8 +60,9 @@ public class FML extends BasicListener {
}
//if(isFML(player, "\0FML\0"))
if (player.getProtocolVersion().lessThan(ProtocolVersion.MINECRAFT_1_13))
if (player.getProtocolVersion().lessThan(ProtocolVersion.MINECRAFT_1_13)) {
player.sendPluginMessage(new LegacyChannelIdentifier(CHANNEL), helloPacket);
}
}
public void handlePluginMessage(PluginMessageEvent event) {
@@ -78,8 +78,7 @@ public class FML2 extends BasicListener {
boolean fml2 = isFML(connection, "\0FML2\0");
boolean fml3 = isFML(connection, "\0FML3\0");
boolean forge = isFML(connection, "\0FORGE");
if (!fml2 && !fml3 && !forge)
return;
if (!fml2 && !fml3 && !forge) return;
FML2LoginHandler handler = new FML2LoginHandler(connection, event.getUniqueId(), forge);
@@ -107,8 +106,9 @@ public class FML2 extends BasicListener {
}
ProtocolUtils.writeVarInt(packet, 0); // Registries amount
if (fml3)
if (fml3) {
ProtocolUtils.writeVarInt(packet, 0); // DataPacks amount
}
ProtocolUtils.writeVarInt(buf, packet.readableBytes());
buf.writeBytes(packet);
@@ -105,8 +105,7 @@ public class FabricModSender extends BasicListener {
return;
}
if (!ModUtils.handleMods(player, mods))
return;
if (!ModUtils.handleMods(player, mods)) return;
if (!Storage.fabricCheckedPlayers.containsKey(player)) {
Storage.fabricCheckedPlayers.put(player, data.hashCode());
@@ -47,8 +47,7 @@ public class Hostname extends BasicListener {
public static String getExtraHandshakeData(LoginInboundConnection loginInboundConnection) {
HandshakePacket handshakePacket = handshake.get(getInitialInboundConnection(loginInboundConnection));
int i = handshakePacket.getServerAddress().indexOf('\0');
if (i == -1)
return "";
if (i == -1) return "";
return handshakePacket.getServerAddress().substring(i);
}
@@ -79,11 +78,13 @@ public class Hostname extends BasicListener {
@Subscribe
public void onHandshake(ConnectionHandshakeEvent event) {
String hostname = event.getConnection().getVirtualHost().orElseThrow().getHostName().toLowerCase();
if (!knownHostnames.contains(hostname) && !hostname.endsWith(".steamwar.de"))
if (!knownHostnames.contains(hostname) && !hostname.endsWith(".steamwar.de")) {
VelocityCore.getLogger().log(Level.WARNING, () -> event.getConnection().getRemoteAddress() + " connected with unknown hostname " + hostname);
}
String extraData = getExtraHandshakeData((LoginInboundConnection) event.getConnection());
if (!knownExtraData.contains(extraData))
if (!knownExtraData.contains(extraData)) {
VelocityCore.getLogger().log(Level.WARNING, () -> event.getConnection().getRemoteAddress() + " connected with unknown extra data " + extraData);
}
}
}
@@ -61,8 +61,7 @@ public class LabyMod {
ByteBuf buf = Unpooled.wrappedBuffer(event.getData());
String purpose = ProtocolUtils.readString(buf);
if (!"INFO".equals(purpose))
return;
if (!"INFO".equals(purpose)) return;
JsonObject message = JsonParser.parseString(ProtocolUtils.readString(buf)).getAsJsonObject();
List<Mod> mods = new LinkedList<>();
@@ -60,10 +60,11 @@ public class ModUtils {
Iterator<Mod> it = mods.iterator();
while (it.hasNext()) {
Mod mod = it.next();
if (mod.getModType() == ModType.UNKLASSIFIED || mod.getModType() == ModType.GREEN || (mod.getModType() == ModType.YOUTUBER_ONLY && user.hasPerm(UserPerm.RESTRICTED_MODS)))
if (mod.getModType() == ModType.UNKLASSIFIED || mod.getModType() == ModType.GREEN || (mod.getModType() == ModType.YOUTUBER_ONLY && user.hasPerm(UserPerm.RESTRICTED_MODS))) {
it.remove();
else if (mod.getModType() == ModType.RED)
} else if (mod.getModType() == ModType.RED) {
max = ModType.RED;
}
}
if (mods.isEmpty()) {
@@ -55,12 +55,12 @@ public class ReplayMod extends BasicListener {
@Subscribe
public void onPlayerJoin(ServerPostConnectEvent event) {
Player player = event.getPlayer();
if (VelocityCore.get().getConfig().lobbyserver().getPlayersConnected().contains(player))
return;
if (VelocityCore.get().getConfig().lobbyserver().getPlayersConnected().contains(player)) return;
Subserver subserver = Subserver.getSubserver(player.getCurrentServer().orElseThrow().getServerInfo());
if (subserver instanceof Builderserver || (subserver instanceof Bauserver bauserver && bauserver.getOwner().equals(player.getUniqueId())) || DevCommand.getDevServers().containsValue(player.getCurrentServer().orElseThrow().getServer()))
if (subserver instanceof Builderserver || (subserver instanceof Bauserver bauserver && bauserver.getOwner().equals(player.getUniqueId())) || DevCommand.getDevServers().containsValue(player.getCurrentServer().orElseThrow().getServer())) {
return;
}
PluginMessage.send(player, "Replay|Restrict", "replaymod:restrict", restrict);
}
@@ -67,8 +67,7 @@ public class Tablist extends ChannelInboundHandlerAdapter {
}
public void update(TablistPart global, int seconds) {
if (connection == null)
return;
if (connection == null) return;
player.sendPlayerListHeaderAndFooter(header(viewer, seconds), viewer.parse(false, "TABLIST_FOOTER", connection.getServerInfo().getName(), ping(), VelocityCore.getProxy().getPlayerCount()));
@@ -203,8 +202,9 @@ public class Tablist extends ChannelInboundHandlerAdapter {
if (packet.containsAction(UpsertPlayerInfoPacket.Action.UPDATE_GAME_MODE)) {
for (UpsertPlayerInfoPacket.Entry entry : packet.getEntries()) {
if (!entry.getProfileId().equals(player.getUniqueId()) && entry.getGameMode() == 3)
if (!entry.getProfileId().equals(player.getUniqueId()) && entry.getGameMode() == 3) {
entry.setGameMode(1);
}
}
}
} else if (msg instanceof RemovePlayerInfoPacket packet) {
@@ -234,8 +234,9 @@ public class Tablist extends ChannelInboundHandlerAdapter {
}
} else if (packet.getAction() == LegacyPlayerListItemPacket.UPDATE_GAMEMODE) {
for (LegacyPlayerListItemPacket.Item entry : packet.getItems()) {
if (!player.getUniqueId().equals(entry.getUuid()) && entry.getGameMode() == 3)
if (!player.getUniqueId().equals(entry.getUuid()) && entry.getGameMode() == 3) {
entry.setGameMode(1);
}
}
} else if (packet.getAction() == LegacyPlayerListItemPacket.REMOVE_PLAYER) {
for (LegacyPlayerListItemPacket.Item entry : packet.getItems()) {
@@ -253,15 +254,15 @@ public class Tablist extends ChannelInboundHandlerAdapter {
}
private void sendTabPacket(List<UpsertPlayerInfoPacket.Entry> items, UpsertPlayerInfoPacket.Action action) { //Breaks in 1.19.3 if action != UPDATE_DISPLAY_NAME, ADD_PLAYER or REMOVE_PLAYER
if (items.isEmpty())
return;
if (items.isEmpty()) return;
if (player.getProtocolVersion().lessThan(ProtocolVersion.MINECRAFT_1_19_3)) {
int legacyAction = LegacyPlayerListItemPacket.REMOVE_PLAYER;
if (action == UpsertPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME)
if (action == UpsertPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME) {
legacyAction = LegacyPlayerListItemPacket.UPDATE_DISPLAY_NAME;
else if (action == UpsertPlayerInfoPacket.Action.ADD_PLAYER)
} else if (action == UpsertPlayerInfoPacket.Action.ADD_PLAYER) {
legacyAction = LegacyPlayerListItemPacket.ADD_PLAYER;
}
sendPacket(player, new LegacyPlayerListItemPacket(legacyAction, items.stream().map(item -> new LegacyPlayerListItemPacket
.Item(item.getProfileId())
@@ -286,10 +287,11 @@ public class Tablist extends ChannelInboundHandlerAdapter {
private Component header(Chatter p, int seconds) {
int phase = (seconds % 10) / 5;
if (phase == 0)
if (phase == 0) {
return p.parse(false, "TABLIST_PHASE_DISCORD");
else
} else {
return p.parse(false, "TABLIST_PHASE_WEBSITE");
}
}
private String ping() {
@@ -307,8 +309,7 @@ public class Tablist extends ChannelInboundHandlerAdapter {
private Component getDisplayName(UpsertPlayerInfoPacket.Entry entry) {
ComponentHolder displayName = entry.getDisplayName();
if (displayName == null)
return null;
if (displayName == null) return null;
return displayName.getComponent();
}
@@ -38,8 +38,9 @@ public class TablistBuild implements TablistPart {
public TablistBuild() {
for (RegisteredServer server : VelocityCore.getProxy().getAllServers()) {
if (server.getPlayersConnected().isEmpty() || !Subserver.isBuild(Subserver.getSubserver(server.getServerInfo())))
if (server.getPlayersConnected().isEmpty() || !Subserver.isBuild(Subserver.getSubserver(server.getServerInfo()))) {
continue;
}
servers.add(server);
players.put(server, server.getPlayersConnected().stream().sorted(((p1, p2) -> p1.getUsername().compareToIgnoreCase(p2.getUsername()))).map(Item::new).toList());
@@ -67,8 +67,9 @@ public class TablistManager extends BasicListener implements Disable {
tablists.computeIfAbsent(event.getPlayer(), Tablist::new).onServerSwitch();
}
if (event.getPlayer().getProtocolVersion().lessThan(ProtocolVersion.MINECRAFT_1_20))
if (event.getPlayer().getProtocolVersion().lessThan(ProtocolVersion.MINECRAFT_1_20)) {
Tablist.sendPacket(event.getPlayer(), Tablist.createTeamPacket);
}
}
@Subscribe
@@ -96,14 +97,14 @@ public class TablistManager extends BasicListener implements Disable {
private void updateTablist() {
List<TablistPart> subservers = new ArrayList<>();
for (RegisteredServer server : new ArrayList<>(VelocityCore.getProxy().getAllServers())) {
if (server.getPlayersConnected().isEmpty())
continue;
if (server.getPlayersConnected().isEmpty()) continue;
Subserver subserver = Subserver.getSubserver(server.getServerInfo());
if (fightInfos.containsKey(server))
if (fightInfos.containsKey(server)) {
subservers.add(new TablistServer(server, fightInfos.get(server)));
else if (!Subserver.isBuild(subserver))
} else if (!Subserver.isBuild(subserver)) {
subservers.add(new TablistServer(server));
}
}
subservers.add(new TablistBuild());
subservers.sort((s1, s2) -> s1.sortKey().compareToIgnoreCase(s2.sortKey()));
@@ -93,8 +93,9 @@ public class TablistServer implements TablistPart {
return players.stream().map(item -> {
Player p = VelocityCore.getProxy().getPlayer(item.getUuid()).orElse(null);
if (p == null) return item;
if (Subserver.isArena(Subserver.getSubserver(p.getCurrentServer().map(ServerConnection::getServerInfo).orElse(null))))
if (Subserver.isArena(Subserver.getSubserver(p.getCurrentServer().map(ServerConnection::getServerInfo).orElse(null)))) {
return item;
}
if (SteamwarUser.get(p.getUniqueId()).getTeam() != team) return item;
return new Item(p, true);
});
@@ -40,13 +40,13 @@ public class BauLock {
owner.system("BAU_LOCKED_" + state.name());
Bauserver bauserver = Bauserver.get(owner.user().getUUID());
if (bauserver != null)
if (bauserver != null) {
bauserver.getRegisteredServer().getPlayersConnected().stream().findAny().ifPresent(player -> NetworkSender.send(player, new BaulockUpdatePacket()));
}
}
public static boolean isLocked(SteamwarUser owner, SteamwarUser target) {
if (owner.getId() == target.getId())
return false;
if (owner.getId() == target.getId()) return false;
boolean locked;
String state = UserConfig.getConfig(owner.getId(), BAU_LOCK_CONFIG_NAME);