Update dependencies and Gradle

Also added Component support for sendMessage
This commit is contained in:
Focusvity
2025-11-05 21:14:26 +11:00
parent ebad516eb6
commit 5834d15b38
12 changed files with 65 additions and 109 deletions
+11 -11
View File
@@ -1,12 +1,12 @@
plugins { plugins {
id "java" id "java"
id "maven-publish" id "maven-publish"
id "net.minecrell.plugin-yml.bukkit" version "0.6.0" id "de.eldoria.plugin-yml.bukkit" version "0.8.0"
id "com.gradleup.shadow" version "8.3.3" id "com.gradleup.shadow" version "9.2.2"
} }
group = "me.totalfreedom" group = "me.totalfreedom"
version = "4.9" version = "4.10"
description = "BukkitTelnet" description = "BukkitTelnet"
repositories { repositories {
@@ -18,21 +18,21 @@ repositories {
} }
} }
maven { maven {
url = uri("https://papermc.io/repo/repository/maven-public/") url = uri("https://repo.papermc.io/repository/maven-public/")
} }
} }
dependencies { dependencies {
compileOnly "io.papermc.paper:paper-api:1.21.1-R0.1-SNAPSHOT" compileOnly "io.papermc.paper:paper-api:1.21.10-R0.1-SNAPSHOT"
annotationProcessor "org.projectlombok:lombok:1.18.34" annotationProcessor "org.projectlombok:lombok:1.18.42"
library "org.projectlombok:lombok:1.18.34" library "org.projectlombok:lombok:1.18.42"
library "org.json:json:20240303" library "org.json:json:20250517"
compileOnly("com.github.MilkBowl:VaultAPI:1.7.1") { compileOnly("com.github.MilkBowl:VaultAPI:1.7.1") {
exclude group: "org.bukkit", module: "bukkit" exclude group: "org.bukkit", module: "bukkit"
} }
implementation "org.apache.commons:commons-lang3:3.17.0" implementation "org.apache.commons:commons-lang3:3.18.0"
library "org.apache.logging.log4j:log4j-api:2.24.1" library "org.apache.logging.log4j:log4j-api:2.25.2"
library "org.apache.logging.log4j:log4j-core:2.24.1" library "org.apache.logging.log4j:log4j-core:2.25.2"
} }
tasks { tasks {
jar { jar {
+1 -1
View File
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists 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 zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
@@ -51,7 +51,7 @@ public class BukkitTelnet extends JavaPlugin
getServer().getServicesManager().register(Server.class, telnet, this, ServicePriority.Normal); 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 @Override
@@ -60,7 +60,7 @@ public class BukkitTelnet extends JavaPlugin
HandlerList.unregisterAll(plugin); HandlerList.unregisterAll(plugin);
appender.deattach(); appender.deattach();
appender.removeAllSesssions(); appender.removeAllSessions();
telnet.stopServer(); telnet.stopServer();
@@ -74,7 +74,9 @@ public class BukkitTelnet extends JavaPlugin
return false; return false;
} }
RegisteredServiceProvider<Permission> rsp = getServer().getServicesManager().getRegistration(Permission.class); RegisteredServiceProvider<Permission> rsp = getServer().getServicesManager().getRegistration(Permission.class);
if (rsp != null) {
permissions = rsp.getProvider(); permissions = rsp.getProvider();
}
return permissions != null; return permissions != null;
} }
@@ -1,6 +1,7 @@
package me.totalfreedom.bukkittelnet; package me.totalfreedom.bukkittelnet;
import dev.plex.PermissionHandler; import dev.plex.PermissionHandler;
import org.bukkit.Bukkit;
import org.bukkit.World; import org.bukkit.World;
public class PermissionHandlerImpl implements PermissionHandler public class PermissionHandlerImpl implements PermissionHandler
@@ -8,6 +9,6 @@ public class PermissionHandlerImpl implements PermissionHandler
@Override @Override
public boolean hasPermission(String username, String permission) 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);
} }
} }
@@ -5,6 +5,7 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import me.totalfreedom.bukkittelnet.api.TelnetRequestDataTagsEvent; import me.totalfreedom.bukkittelnet.api.TelnetRequestDataTagsEvent;
import me.totalfreedom.bukkittelnet.api.TelnetRequestUsageEvent; import me.totalfreedom.bukkittelnet.api.TelnetRequestUsageEvent;
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@@ -65,7 +66,6 @@ public class PlayerEventListener implements Listener
}.runTaskLater(plugin, 20L * 2L); }.runTaskLater(plugin, 20L * 2L);
} }
@SuppressWarnings("unchecked")
private static String generatePlayerList(final Map<Player, Map<String, Object>> dataTags) private static String generatePlayerList(final Map<Player, Map<String, Object>> dataTags)
{ {
final JSONArray players = new JSONArray(); final JSONArray players = new JSONArray();
@@ -79,7 +79,7 @@ public class PlayerEventListener implements Listener
info.put("name", player.getName()); info.put("name", player.getName());
info.put("ip", player.getAddress().getAddress().getHostAddress()); 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()); info.put("uuid", player.getUniqueId().toString());
for (Map.Entry<String, Object> playerTagsEntry : playerTags.entrySet()) for (Map.Entry<String, Object> playerTagsEntry : playerTags.entrySet())
@@ -123,7 +123,6 @@ public class PlayerEventListener implements Listener
} }
@SuppressWarnings("unchecked")
private static String generateUsageStats() private static String generateUsageStats()
{ {
final JSONObject info = new JSONObject(); final JSONObject info = new JSONObject();
@@ -4,6 +4,8 @@ import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import lombok.Getter;
import lombok.Setter;
import me.totalfreedom.bukkittelnet.thirdparty.YamlConfig; import me.totalfreedom.bukkittelnet.thirdparty.YamlConfig;
public class TelnetConfigLoader public class TelnetConfigLoader
@@ -54,6 +56,8 @@ public class TelnetConfigLoader
return configEntries; return configEntries;
} }
@Getter
@Setter
public static final class TelnetConfig public static final class TelnetConfig
{ {
@@ -67,36 +71,6 @@ public class TelnetConfigLoader
admins = new HashMap<>(); 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<String, List<String>> getAdmins() public Map<String, List<String>> getAdmins()
{ {
return Collections.unmodifiableMap(admins); return Collections.unmodifiableMap(admins);
@@ -112,5 +86,4 @@ public class TelnetConfigLoader
admins.put(name, ips); admins.put(name, ips);
} }
} }
} }
@@ -9,6 +9,8 @@ import java.util.HashSet;
import java.util.Set; import java.util.Set;
import me.totalfreedom.bukkittelnet.session.ClientSession; import me.totalfreedom.bukkittelnet.session.ClientSession;
import me.totalfreedom.bukkittelnet.session.FilterMode; 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.LogManager;
import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.Logger; import org.apache.logging.log4j.core.Logger;
@@ -47,7 +49,7 @@ public class TelnetLogAppender extends AbstractAppender
return sessions.remove(session); return sessions.remove(session);
} }
public void removeAllSesssions() public void removeAllSessions()
{ {
sessions.clear(); 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 StringBuilder builder = new StringBuilder();
final Throwable ex = event.getThrown(); final Throwable ex = event.getThrown();
@@ -108,7 +110,7 @@ public class TelnetLogAppender extends AbstractAppender
builder.append(writer); builder.append(writer);
} }
return builder.toString(); return PlainTextComponentSerializer.plainText().deserialize(builder.toString());
} }
public void attach() public void attach()
@@ -24,7 +24,7 @@ public class Util
octets = 1; 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("*")) if (aParts[i].equals("*") || bParts[i].equals("*"))
{ {
@@ -1,5 +1,7 @@
package me.totalfreedom.bukkittelnet.api; package me.totalfreedom.bukkittelnet.api;
import lombok.Getter;
import lombok.Setter;
import me.totalfreedom.bukkittelnet.session.SessionCommandSender; import me.totalfreedom.bukkittelnet.session.SessionCommandSender;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.event.Cancellable; import org.bukkit.event.Cancellable;
@@ -12,7 +14,10 @@ public class TelnetCommandEvent extends Event implements Cancellable
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private boolean cancelled; private boolean cancelled;
@Getter
@Setter
private SessionCommandSender sender; private SessionCommandSender sender;
@Getter
private String command; private String command;
public TelnetCommandEvent(SessionCommandSender sender, String command) public TelnetCommandEvent(SessionCommandSender sender, String command)
@@ -35,21 +40,6 @@ public class TelnetCommandEvent extends Event implements Cancellable
cancelled = cancel; 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) public void setCommand(String command)
{ {
if (command == null) if (command == null)
@@ -1,5 +1,7 @@
package me.totalfreedom.bukkittelnet.api; package me.totalfreedom.bukkittelnet.api;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.event.Cancellable; import org.bukkit.event.Cancellable;
import org.bukkit.event.Event; import org.bukkit.event.Event;
@@ -11,8 +13,12 @@ public class TelnetPreLoginEvent extends Event implements Cancellable
private static final HandlerList handlers = new HandlerList(); private static final HandlerList handlers = new HandlerList();
private boolean cancelled = false; private boolean cancelled = false;
@Getter
@Setter
private String name; private String name;
@Getter
private final String ip; private final String ip;
@Setter
private boolean bypassPassword; private boolean bypassPassword;
public TelnetPreLoginEvent(String ip, String name, boolean bypassPassword) public TelnetPreLoginEvent(String ip, String name, boolean bypassPassword)
@@ -36,31 +42,11 @@ public class TelnetPreLoginEvent extends Event implements Cancellable
cancelled = cancel; cancelled = cancel;
} }
public String getIp()
{
return ip;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public boolean canBypassPassword() public boolean canBypassPassword()
{ {
return bypassPassword; return bypassPassword;
} }
public void setBypassPassword(boolean bypassPassword)
{
this.bypassPassword = bypassPassword;
}
@Override @Override
public HandlerList getHandlers() public HandlerList getHandlers()
{ {
@@ -12,11 +12,15 @@ import java.net.SocketException;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import lombok.Getter;
import lombok.Setter;
import me.totalfreedom.bukkittelnet.TelnetLogger; import me.totalfreedom.bukkittelnet.TelnetLogger;
import me.totalfreedom.bukkittelnet.TelnetServer; import me.totalfreedom.bukkittelnet.TelnetServer;
import me.totalfreedom.bukkittelnet.Util; import me.totalfreedom.bukkittelnet.Util;
import me.totalfreedom.bukkittelnet.api.TelnetCommandEvent; import me.totalfreedom.bukkittelnet.api.TelnetCommandEvent;
import me.totalfreedom.bukkittelnet.api.TelnetPreLoginEvent; 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.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.Server; import org.bukkit.Server;
@@ -32,8 +36,11 @@ public final class ClientSession extends Thread
private final TelnetServer telnet; private final TelnetServer telnet;
private final Socket clientSocket; private final Socket clientSocket;
private final String clientAddress; private final String clientAddress;
@Getter
private final SessionCommandSender commandSender; private final SessionCommandSender commandSender;
// //
@Getter
@Setter
private FilterMode filterMode = FilterMode.NONE; private FilterMode filterMode = FilterMode.NONE;
// //
private BufferedWriter writer; private BufferedWriter writer;
@@ -146,27 +153,12 @@ public final class ClientSession extends Thread
return username; 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) 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()) if (writer == null || !syncIsConnected())
{ {
@@ -175,7 +167,7 @@ public final class ClientSession extends Thread
try try
{ {
writer.write(":" + ChatColor.stripColor(message) + "\r\n"); writer.write(":" + PlainTextComponentSerializer.plainText().serialize(message) + "\r\n");
writer.flush(); writer.flush();
} }
catch (IOException ignored) catch (IOException ignored)
@@ -8,6 +8,7 @@ import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import me.totalfreedom.bukkittelnet.BukkitTelnet; import me.totalfreedom.bukkittelnet.BukkitTelnet;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.ComponentLike;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Server; import org.bukkit.Server;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
@@ -31,9 +32,9 @@ public class SessionCommandSender implements CommandSender
} }
@Override @Override
public void sendMessage(String message) public void sendMessage(@NotNull String message)
{ {
session.writeRawLine(message); session.writeRawLine(Component.text(message));
} }
@Override @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 @Override
public void sendMessage(@Nullable UUID sender, @NotNull String message) public void sendMessage(@Nullable UUID sender, @NotNull String message)
{ {