From 5834d15b383af36af893e4d373602b1b9630c9ff Mon Sep 17 00:00:00 2001 From: Focusvity Date: Wed, 5 Nov 2025 21:14:26 +1100 Subject: [PATCH] Update dependencies and Gradle Also added Component support for sendMessage --- build.gradle | 22 ++++++------ gradle/wrapper/gradle-wrapper.properties | 2 +- .../bukkittelnet/BukkitTelnet.java | 8 +++-- .../bukkittelnet/PermissionHandlerImpl.java | 3 +- .../bukkittelnet/PlayerEventListener.java | 5 ++- .../bukkittelnet/TelnetConfigLoader.java | 35 +++---------------- .../bukkittelnet/TelnetLogAppender.java | 8 +++-- .../me/totalfreedom/bukkittelnet/Util.java | 2 +- .../bukkittelnet/api/TelnetCommandEvent.java | 20 +++-------- .../bukkittelnet/api/TelnetPreLoginEvent.java | 26 ++++---------- .../bukkittelnet/session/ClientSession.java | 28 ++++++--------- .../session/SessionCommandSender.java | 15 ++++++-- 12 files changed, 65 insertions(+), 109 deletions(-) diff --git a/build.gradle b/build.gradle index e47cc33..353fb3a 100644 --- a/build.gradle +++ b/build.gradle @@ -1,12 +1,12 @@ plugins { id "java" id "maven-publish" - id "net.minecrell.plugin-yml.bukkit" version "0.6.0" - id "com.gradleup.shadow" version "8.3.3" + id "de.eldoria.plugin-yml.bukkit" version "0.8.0" + id "com.gradleup.shadow" version "9.2.2" } group = "me.totalfreedom" -version = "4.9" +version = "4.10" description = "BukkitTelnet" repositories { @@ -18,21 +18,21 @@ repositories { } } maven { - url = uri("https://papermc.io/repo/repository/maven-public/") + url = uri("https://repo.papermc.io/repository/maven-public/") } } dependencies { - compileOnly "io.papermc.paper:paper-api:1.21.1-R0.1-SNAPSHOT" - annotationProcessor "org.projectlombok:lombok:1.18.34" - library "org.projectlombok:lombok:1.18.34" - library "org.json:json:20240303" + compileOnly "io.papermc.paper:paper-api:1.21.10-R0.1-SNAPSHOT" + annotationProcessor "org.projectlombok:lombok:1.18.42" + library "org.projectlombok:lombok:1.18.42" + library "org.json:json:20250517" compileOnly("com.github.MilkBowl:VaultAPI:1.7.1") { exclude group: "org.bukkit", module: "bukkit" } - implementation "org.apache.commons:commons-lang3:3.17.0" - library "org.apache.logging.log4j:log4j-api:2.24.1" - library "org.apache.logging.log4j:log4j-core:2.24.1" + implementation "org.apache.commons:commons-lang3:3.18.0" + library "org.apache.logging.log4j:log4j-api:2.25.2" + library "org.apache.logging.log4j:log4j-core:2.25.2" } tasks { jar { diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1e2fbf0..63e0e83 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/me/totalfreedom/bukkittelnet/BukkitTelnet.java b/src/main/java/me/totalfreedom/bukkittelnet/BukkitTelnet.java index ecff867..f9948e8 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/BukkitTelnet.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/BukkitTelnet.java @@ -51,7 +51,7 @@ public class BukkitTelnet extends JavaPlugin getServer().getServicesManager().register(Server.class, telnet, this, ServicePriority.Normal); - TelnetLogger.info(plugin.getName() + " v" + plugin.getDescription().getVersion() + " enabled"); + TelnetLogger.info(plugin.getName() + " v" + plugin.getPluginMeta().getVersion() + " enabled"); } @Override @@ -60,7 +60,7 @@ public class BukkitTelnet extends JavaPlugin HandlerList.unregisterAll(plugin); appender.deattach(); - appender.removeAllSesssions(); + appender.removeAllSessions(); telnet.stopServer(); @@ -74,7 +74,9 @@ public class BukkitTelnet extends JavaPlugin return false; } RegisteredServiceProvider rsp = getServer().getServicesManager().getRegistration(Permission.class); - permissions = rsp.getProvider(); + if (rsp != null) { + permissions = rsp.getProvider(); + } return permissions != null; } diff --git a/src/main/java/me/totalfreedom/bukkittelnet/PermissionHandlerImpl.java b/src/main/java/me/totalfreedom/bukkittelnet/PermissionHandlerImpl.java index 82765f6..7d65c05 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/PermissionHandlerImpl.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/PermissionHandlerImpl.java @@ -1,6 +1,7 @@ package me.totalfreedom.bukkittelnet; import dev.plex.PermissionHandler; +import org.bukkit.Bukkit; import org.bukkit.World; public class PermissionHandlerImpl implements PermissionHandler @@ -8,6 +9,6 @@ public class PermissionHandlerImpl implements PermissionHandler @Override public boolean hasPermission(String username, String permission) { - return BukkitTelnet.getPlugin().permissions.has((World)null, username, permission); + return BukkitTelnet.getPlugin().permissions.playerHas(null, Bukkit.getOfflinePlayer(username), permission); } } diff --git a/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java b/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java index a2e34bd..5f38a60 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/PlayerEventListener.java @@ -5,6 +5,7 @@ import java.util.HashMap; import java.util.Map; import me.totalfreedom.bukkittelnet.api.TelnetRequestDataTagsEvent; import me.totalfreedom.bukkittelnet.api.TelnetRequestUsageEvent; +import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; import org.apache.commons.lang3.StringUtils; import org.bukkit.Bukkit; import org.bukkit.entity.Player; @@ -65,7 +66,6 @@ public class PlayerEventListener implements Listener }.runTaskLater(plugin, 20L * 2L); } - @SuppressWarnings("unchecked") private static String generatePlayerList(final Map> dataTags) { final JSONArray players = new JSONArray(); @@ -79,7 +79,7 @@ public class PlayerEventListener implements Listener info.put("name", player.getName()); info.put("ip", player.getAddress().getAddress().getHostAddress()); - info.put("displayName", StringUtils.trimToEmpty(player.getDisplayName())); + info.put("displayName", PlainTextComponentSerializer.plainText().serialize(player.displayName())); info.put("uuid", player.getUniqueId().toString()); for (Map.Entry playerTagsEntry : playerTags.entrySet()) @@ -123,7 +123,6 @@ public class PlayerEventListener implements Listener } - @SuppressWarnings("unchecked") private static String generateUsageStats() { final JSONObject info = new JSONObject(); diff --git a/src/main/java/me/totalfreedom/bukkittelnet/TelnetConfigLoader.java b/src/main/java/me/totalfreedom/bukkittelnet/TelnetConfigLoader.java index 9c073c9..53cac2b 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/TelnetConfigLoader.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/TelnetConfigLoader.java @@ -4,6 +4,8 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import lombok.Getter; +import lombok.Setter; import me.totalfreedom.bukkittelnet.thirdparty.YamlConfig; public class TelnetConfigLoader @@ -54,6 +56,8 @@ public class TelnetConfigLoader return configEntries; } + @Getter + @Setter public static final class TelnetConfig { @@ -67,36 +71,6 @@ public class TelnetConfigLoader admins = new HashMap<>(); } - public int getPort() - { - return port; - } - - public void setPort(int port) - { - this.port = port; - } - - public String getAddress() - { - return address; - } - - public void setAddress(String address) - { - this.address = address; - } - - public String getPassword() - { - return password; - } - - public void setPassword(String password) - { - this.password = password; - } - public Map> getAdmins() { return Collections.unmodifiableMap(admins); @@ -112,5 +86,4 @@ public class TelnetConfigLoader admins.put(name, ips); } } - } diff --git a/src/main/java/me/totalfreedom/bukkittelnet/TelnetLogAppender.java b/src/main/java/me/totalfreedom/bukkittelnet/TelnetLogAppender.java index 57d1603..55a4783 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/TelnetLogAppender.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/TelnetLogAppender.java @@ -9,6 +9,8 @@ import java.util.HashSet; import java.util.Set; import me.totalfreedom.bukkittelnet.session.ClientSession; import me.totalfreedom.bukkittelnet.session.FilterMode; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.Logger; @@ -47,7 +49,7 @@ public class TelnetLogAppender extends AbstractAppender return sessions.remove(session); } - public void removeAllSesssions() + public void removeAllSessions() { sessions.clear(); } @@ -89,7 +91,7 @@ public class TelnetLogAppender extends AbstractAppender } } - private String formatMessage(String message, LogEvent event) + private Component formatMessage(String message, LogEvent event) { final StringBuilder builder = new StringBuilder(); final Throwable ex = event.getThrown(); @@ -108,7 +110,7 @@ public class TelnetLogAppender extends AbstractAppender builder.append(writer); } - return builder.toString(); + return PlainTextComponentSerializer.plainText().deserialize(builder.toString()); } public void attach() diff --git a/src/main/java/me/totalfreedom/bukkittelnet/Util.java b/src/main/java/me/totalfreedom/bukkittelnet/Util.java index b89cae3..496a1a3 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/Util.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/Util.java @@ -24,7 +24,7 @@ public class Util octets = 1; } - for (int i = 0; i < octets && i < 4; i++) + for (int i = 0; i < octets; i++) { if (aParts[i].equals("*") || bParts[i].equals("*")) { diff --git a/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetCommandEvent.java b/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetCommandEvent.java index fc7bd8b..4273afe 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetCommandEvent.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetCommandEvent.java @@ -1,5 +1,7 @@ package me.totalfreedom.bukkittelnet.api; +import lombok.Getter; +import lombok.Setter; import me.totalfreedom.bukkittelnet.session.SessionCommandSender; import org.bukkit.Bukkit; import org.bukkit.event.Cancellable; @@ -12,7 +14,10 @@ public class TelnetCommandEvent extends Event implements Cancellable private static final HandlerList handlers = new HandlerList(); private boolean cancelled; + @Getter + @Setter private SessionCommandSender sender; + @Getter private String command; public TelnetCommandEvent(SessionCommandSender sender, String command) @@ -35,21 +40,6 @@ public class TelnetCommandEvent extends Event implements Cancellable cancelled = cancel; } - public SessionCommandSender getSender() - { - return sender; - } - - public void setSender(SessionCommandSender sender) - { - this.sender = sender; - } - - public String getCommand() - { - return command; - } - public void setCommand(String command) { if (command == null) diff --git a/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetPreLoginEvent.java b/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetPreLoginEvent.java index 2ccce6b..01644d1 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetPreLoginEvent.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/api/TelnetPreLoginEvent.java @@ -1,5 +1,7 @@ package me.totalfreedom.bukkittelnet.api; +import lombok.Getter; +import lombok.Setter; import org.bukkit.Bukkit; import org.bukkit.event.Cancellable; import org.bukkit.event.Event; @@ -11,8 +13,12 @@ public class TelnetPreLoginEvent extends Event implements Cancellable private static final HandlerList handlers = new HandlerList(); private boolean cancelled = false; + @Getter + @Setter private String name; + @Getter private final String ip; + @Setter private boolean bypassPassword; public TelnetPreLoginEvent(String ip, String name, boolean bypassPassword) @@ -36,31 +42,11 @@ public class TelnetPreLoginEvent extends Event implements Cancellable cancelled = cancel; } - public String getIp() - { - return ip; - } - - public String getName() - { - return name; - } - - public void setName(String name) - { - this.name = name; - } - public boolean canBypassPassword() { return bypassPassword; } - public void setBypassPassword(boolean bypassPassword) - { - this.bypassPassword = bypassPassword; - } - @Override public HandlerList getHandlers() { diff --git a/src/main/java/me/totalfreedom/bukkittelnet/session/ClientSession.java b/src/main/java/me/totalfreedom/bukkittelnet/session/ClientSession.java index bf7f2cc..4ca1ccf 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/session/ClientSession.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/session/ClientSession.java @@ -12,11 +12,15 @@ import java.net.SocketException; import java.util.List; import java.util.Map; import java.util.regex.Pattern; +import lombok.Getter; +import lombok.Setter; import me.totalfreedom.bukkittelnet.TelnetLogger; import me.totalfreedom.bukkittelnet.TelnetServer; import me.totalfreedom.bukkittelnet.Util; import me.totalfreedom.bukkittelnet.api.TelnetCommandEvent; import me.totalfreedom.bukkittelnet.api.TelnetPreLoginEvent; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Server; @@ -32,8 +36,11 @@ public final class ClientSession extends Thread private final TelnetServer telnet; private final Socket clientSocket; private final String clientAddress; + @Getter private final SessionCommandSender commandSender; // + @Getter + @Setter private FilterMode filterMode = FilterMode.NONE; // private BufferedWriter writer; @@ -146,27 +153,12 @@ public final class ClientSession extends Thread return username; } - public SessionCommandSender getCommandSender() - { - return commandSender; - } - - public FilterMode getFilterMode() - { - return filterMode; - } - - public void setFilterMode(FilterMode filterMode) - { - this.filterMode = filterMode; - } - public void writeLine(String message) { - writeRawLine("[" + (username.isEmpty() ? "" : username + "@") + "BukkitTelnet]$ " + message); + writeRawLine(PlainTextComponentSerializer.plainText().deserialize("[" + (username.isEmpty() ? "" : username + "@") + "BukkitTelnet]$ " + message)); } - public void writeRawLine(String message) + public void writeRawLine(Component message) { if (writer == null || !syncIsConnected()) { @@ -175,7 +167,7 @@ public final class ClientSession extends Thread try { - writer.write(":" + ChatColor.stripColor(message) + "\r\n"); + writer.write(":" + PlainTextComponentSerializer.plainText().serialize(message) + "\r\n"); writer.flush(); } catch (IOException ignored) diff --git a/src/main/java/me/totalfreedom/bukkittelnet/session/SessionCommandSender.java b/src/main/java/me/totalfreedom/bukkittelnet/session/SessionCommandSender.java index 40e127d..d4a4121 100644 --- a/src/main/java/me/totalfreedom/bukkittelnet/session/SessionCommandSender.java +++ b/src/main/java/me/totalfreedom/bukkittelnet/session/SessionCommandSender.java @@ -8,6 +8,7 @@ import lombok.Getter; import lombok.Setter; import me.totalfreedom.bukkittelnet.BukkitTelnet; import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.ComponentLike; import org.bukkit.Bukkit; import org.bukkit.Server; import org.bukkit.command.CommandSender; @@ -31,9 +32,9 @@ public class SessionCommandSender implements CommandSender } @Override - public void sendMessage(String message) + public void sendMessage(@NotNull String message) { - session.writeRawLine(message); + session.writeRawLine(Component.text(message)); } @Override @@ -45,6 +46,16 @@ public class SessionCommandSender implements CommandSender } } + @Override + public void sendMessage(@NotNull Component message) { + session.writeRawLine(message); + } + + @Override + public void sendMessage(@NotNull ComponentLike message) { + session.writeRawLine(message.asComponent()); + } + @Override public void sendMessage(@Nullable UUID sender, @NotNull String message) {