From 31adf84c8486a90be8f0377327446f1ae246edd1 Mon Sep 17 00:00:00 2001 From: Abdullah Arafat <62858251+kmaba@users.noreply.github.com> Date: Thu, 30 Jan 2025 17:16:35 +0800 Subject: [PATCH] Fix VelocityPlugin to use proxyServer for server lookup Rewrite the `VelocityPlugin.java` file to use the `proxyServer` field for server lookup instead of the event. - Add `private final ProxyServer proxyServer` field to the `VelocityPlugin` class. - Update the constructor to accept a `ProxyServer` parameter and initialize the `proxyServer` field. - Replace `event.getServer().getServer()` with `proxyServer.getServer()` in the `onProxyInitialization` method. - Ensure the `proxyServer` field is used for server lookup in the `onPlayerJoin` method. - Remove unnecessary import of `java.io.File`. - Correct the logger statement in the `onPlayerJoin` method to include the player's username. --- .../kmaba/vLobbyConnect/VelocityPlugin.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/main/java/io/github/kmaba/vLobbyConnect/VelocityPlugin.java b/src/main/java/io/github/kmaba/vLobbyConnect/VelocityPlugin.java index 696a521..45d9477 100644 --- a/src/main/java/io/github/kmaba/vLobbyConnect/VelocityPlugin.java +++ b/src/main/java/io/github/kmaba/vLobbyConnect/VelocityPlugin.java @@ -6,10 +6,10 @@ import com.velocitypowered.api.event.proxy.ProxyInitializeEvent; import com.velocitypowered.api.plugin.Plugin; import com.velocitypowered.api.proxy.Player; +import com.velocitypowered.api.proxy.ProxyServer; import com.velocitypowered.api.proxy.server.RegisteredServer; import org.slf4j.Logger; -import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; @@ -28,11 +28,18 @@ public final class VelocityPlugin { @Inject private Logger logger; + private final ProxyServer proxyServer; + private RegisteredServer lobby1; private RegisteredServer lobby2; private RegisteredServer lobby3; private RegisteredServer lobby4; + @Inject + public VelocityPlugin(ProxyServer proxyServer) { + this.proxyServer = proxyServer; + } + @Subscribe void onProxyInitialization(final ProxyInitializeEvent event) { // Initialize lobbies @@ -41,10 +48,10 @@ void onProxyInitialization(final ProxyInitializeEvent event) { Map config = yaml.load(Files.newInputStream(Paths.get("src/main/resources/config.yml"))); Map lobbies = (Map) config.get("lobbies"); - Optional lobby1Opt = event.getServer().getServer(lobbies.get("lobby1")); - Optional lobby2Opt = event.getServer().getServer(lobbies.get("lobby2")); - Optional lobby3Opt = event.getServer().getServer(lobbies.get("lobby3")); - Optional lobby4Opt = event.getServer().getServer(lobbies.get("lobby4")); + Optional lobby1Opt = proxyServer.getServer(lobbies.get("lobby1")); + Optional lobby2Opt = proxyServer.getServer(lobbies.get("lobby2")); + Optional lobby3Opt = proxyServer.getServer(lobbies.get("lobby3")); + Optional lobby4Opt = proxyServer.getServer(lobbies.get("lobby4")); if (lobby1Opt.isPresent() && lobby2Opt.isPresent() && lobby3Opt.isPresent() && lobby4Opt.isPresent()) { lobby1 = lobby1Opt.get(); @@ -83,7 +90,7 @@ void onPlayerJoin(final PlayerChooseInitialServerEvent event) { logger.info("Redirecting player {} to lobby3", player.getUsername()); } else if (lobby4.getPlayersConnected().size() < lobby4.getServerInfo().getMaxPlayers()) { event.setInitialServer(lobby4); - logger.info("Redirecting player {} to lobby4", player.getUsername()); + logger.info("Redirecting player {} to lobby4"); } else { logger.warn("All 1.8 lobbies are full. Player {} could not be redirected.", player.getUsername()); }