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 {
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 {
+1 -1
View File
@@ -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
@@ -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<Permission> rsp = getServer().getServicesManager().getRegistration(Permission.class);
if (rsp != null) {
permissions = rsp.getProvider();
}
return permissions != null;
}
@@ -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);
}
}
@@ -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<Player, Map<String, Object>> 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<String, Object> playerTagsEntry : playerTags.entrySet())
@@ -123,7 +123,6 @@ public class PlayerEventListener implements Listener
}
@SuppressWarnings("unchecked")
private static String generateUsageStats()
{
final JSONObject info = new JSONObject();
@@ -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<String, List<String>> getAdmins()
{
return Collections.unmodifiableMap(admins);
@@ -112,5 +86,4 @@ public class TelnetConfigLoader
admins.put(name, ips);
}
}
}
@@ -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()
@@ -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("*"))
{
@@ -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)
@@ -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()
{
@@ -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)
@@ -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)
{