From e8961fc56a7bfdae38e71898d8cda2c0b27039f2 Mon Sep 17 00:00:00 2001 From: Finn Date: Sun, 1 Feb 2026 15:58:47 +0100 Subject: [PATCH] Added missing Methods --- pom.xml | 2 +- .../network/system/client/NetworkClient.java | 30 +++++++++++++++++++ .../system/server/ConnectedClient.java | 5 ++++ .../network/system/server/NetworkServer.java | 15 ++++++++++ 4 files changed, 51 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f787edd..38d8f0d 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ dev.unlegitdqrk unlegitlibrary - 1.7.2 + 1.7.4 https://unlegitdqrk.dev/ Just a big library diff --git a/src/main/java/dev/unlegitdqrk/unlegitlibrary/network/system/client/NetworkClient.java b/src/main/java/dev/unlegitdqrk/unlegitlibrary/network/system/client/NetworkClient.java index bfc19a8..4f71ad6 100644 --- a/src/main/java/dev/unlegitdqrk/unlegitlibrary/network/system/client/NetworkClient.java +++ b/src/main/java/dev/unlegitdqrk/unlegitlibrary/network/system/client/NetworkClient.java @@ -269,6 +269,36 @@ public class NetworkClient { udpPort = -1; } + /** + * @return true if the TCP connection is established + */ + public boolean isTCPConnected() { + return tcpSocket != null && tcpSocket.isConnected() && !tcpSocket.isClosed(); + } + + /** + * @return true if the UDP connection is established + */ + public boolean isUDPConnected() { + return isUDPEnabled() && udpChannel != null && udpChannel.isConnected() && udpChannel.isOpen(); + } + + /** + * @return true if TCP is connected and (if enabled) UDP is connected + */ + public boolean isConnected() { + if (!isTCPConnected()) return false; + if (isUDPEnabled()) return isUDPConnected(); + return true; + } + + /** + * @return true if UDP is enabled for this client + */ + public boolean isUDPEnabled() { + return udpPort != -1; + } + /** * Builder for {@link NetworkClient}. diff --git a/src/main/java/dev/unlegitdqrk/unlegitlibrary/network/system/server/ConnectedClient.java b/src/main/java/dev/unlegitdqrk/unlegitlibrary/network/system/server/ConnectedClient.java index 12943b5..7660472 100644 --- a/src/main/java/dev/unlegitdqrk/unlegitlibrary/network/system/server/ConnectedClient.java +++ b/src/main/java/dev/unlegitdqrk/unlegitlibrary/network/system/server/ConnectedClient.java @@ -154,6 +154,11 @@ public class ConnectedClient { return isUDPEnabled() && isTCPConnected() && udpChannel != null && udpChannel.isOpen(); } + public boolean isConnected() { + if (!isTCPConnected()) return false; + return isUDPEnabled() && isUDPConnected(); + } + public UUID getUniqueID() { return uniqueID; } diff --git a/src/main/java/dev/unlegitdqrk/unlegitlibrary/network/system/server/NetworkServer.java b/src/main/java/dev/unlegitdqrk/unlegitlibrary/network/system/server/NetworkServer.java index c03970e..6f87394 100644 --- a/src/main/java/dev/unlegitdqrk/unlegitlibrary/network/system/server/NetworkServer.java +++ b/src/main/java/dev/unlegitdqrk/unlegitlibrary/network/system/server/NetworkServer.java @@ -246,6 +246,21 @@ public class NetworkServer { return udpPort != -1; } + /** + * Checks if the server is currently online. + * If UDP is enabled, the UDP channel must be open as well. + * + * @return true if TCP is open and (if enabled) UDP is open + */ + public boolean isServerOnline() { + boolean tcpOnline = tcpSocket != null && !tcpSocket.isClosed() && tcpSocket.isBound(); + if (!tcpOnline) return false; + if (isUDPEnabled()) { + return udpChannel != null && udpChannel.isOpen(); + } + return true; + } + /** * @return packet handler */