diff --git a/src/main/java/org/geysermc/extension/connect/PacketHandler.java b/src/main/java/org/geysermc/extension/connect/PacketHandler.java index 9d429a1..ef948b6 100644 --- a/src/main/java/org/geysermc/extension/connect/PacketHandler.java +++ b/src/main/java/org/geysermc/extension/connect/PacketHandler.java @@ -39,7 +39,6 @@ import org.geysermc.extension.connect.utils.Server; import org.geysermc.extension.connect.utils.ServerManager; import org.geysermc.extension.connect.utils.Utils; import org.geysermc.geyser.entity.attribute.GeyserAttributeType; -import org.geysermc.geyser.level.JavaDimension; import org.geysermc.geyser.network.UpstreamPacketHandler; import org.geysermc.geyser.session.GeyserSession; import org.geysermc.geyser.util.DimensionUtils; diff --git a/src/main/java/org/geysermc/extension/connect/storage/AbstractSQLStorageManager.java b/src/main/java/org/geysermc/extension/connect/storage/AbstractSQLStorageManager.java index fe7c4f4..d7cb7d8 100644 --- a/src/main/java/org/geysermc/extension/connect/storage/AbstractSQLStorageManager.java +++ b/src/main/java/org/geysermc/extension/connect/storage/AbstractSQLStorageManager.java @@ -30,7 +30,6 @@ import org.geysermc.extension.connect.GeyserConnect; import org.geysermc.extension.connect.utils.Server; import org.geysermc.extension.connect.utils.ServerManager; import org.geysermc.extension.connect.utils.Utils; -import org.geysermc.geyser.session.GeyserSession; import java.io.IOException; import java.sql.Connection; @@ -69,23 +68,23 @@ public abstract class AbstractSQLStorageManager extends AbstractStorageManager { } @Override - public void saveServers(GeyserSession session) { + public void saveServers(org.geysermc.api.connection.Connection session) { // replace into works on MySQL and SQLite try (PreparedStatement updatePlayersServers = connection.prepareStatement("REPLACE INTO players(xuid, servers) VALUES(?, ?)")) { - updatePlayersServers.setString(1, session.getAuthData().xuid()); + updatePlayersServers.setString(1, session.xuid()); updatePlayersServers.setString(2, Utils.OBJECT_MAPPER.writeValueAsString(ServerManager.getServers(session))); updatePlayersServers.executeUpdate(); } catch (IOException | SQLException exception) { - GeyserConnect.instance().logger().error("Couldn't save servers for " + session.getAuthData().name(), exception); + GeyserConnect.instance().logger().error("Couldn't save servers for " + session.bedrockUsername(), exception); } } @Override - public List loadServers(GeyserSession session) { + public List loadServers(org.geysermc.api.connection.Connection session) { List servers = new ArrayList<>(); try (PreparedStatement getPlayersServers = connection.prepareStatement("SELECT servers FROM players WHERE xuid=?")) { - getPlayersServers.setString(1, session.getAuthData().xuid()); + getPlayersServers.setString(1, session.xuid()); ResultSet rs = getPlayersServers.executeQuery(); while (rs.next()) { @@ -96,7 +95,7 @@ public abstract class AbstractSQLStorageManager extends AbstractStorageManager { } } } catch (IOException | SQLException exception) { - GeyserConnect.instance().logger().error("Couldn't load servers for " + session.getAuthData().name(), exception); + GeyserConnect.instance().logger().error("Couldn't load servers for " + session.bedrockUsername(), exception); } return servers; diff --git a/src/main/java/org/geysermc/extension/connect/storage/AbstractStorageManager.java b/src/main/java/org/geysermc/extension/connect/storage/AbstractStorageManager.java index fb359fe..6a77b57 100644 --- a/src/main/java/org/geysermc/extension/connect/storage/AbstractStorageManager.java +++ b/src/main/java/org/geysermc/extension/connect/storage/AbstractStorageManager.java @@ -26,8 +26,8 @@ package org.geysermc.extension.connect.storage; import com.fasterxml.jackson.annotation.JsonValue; +import org.geysermc.api.connection.Connection; import org.geysermc.extension.connect.utils.Server; -import org.geysermc.geyser.session.GeyserSession; import java.util.ArrayList; import java.util.List; @@ -40,10 +40,10 @@ public class AbstractStorageManager { public void closeStorage() { } - public void saveServers(GeyserSession session) { + public void saveServers(Connection session) { } - public List loadServers(GeyserSession session) { + public List loadServers(Connection session) { return new ArrayList<>(); } diff --git a/src/main/java/org/geysermc/extension/connect/storage/DisabledStorageManager.java b/src/main/java/org/geysermc/extension/connect/storage/DisabledStorageManager.java index 38b506d..3fe4fa8 100644 --- a/src/main/java/org/geysermc/extension/connect/storage/DisabledStorageManager.java +++ b/src/main/java/org/geysermc/extension/connect/storage/DisabledStorageManager.java @@ -25,8 +25,8 @@ package org.geysermc.extension.connect.storage; +import org.geysermc.api.connection.Connection; import org.geysermc.extension.connect.utils.Server; -import org.geysermc.geyser.session.GeyserSession; import java.util.ArrayList; import java.util.List; @@ -38,12 +38,12 @@ public class DisabledStorageManager extends AbstractStorageManager { } @Override - public void saveServers(GeyserSession session) { + public void saveServers(Connection session) { } @Override - public List loadServers(GeyserSession session) { + public List loadServers(Connection session) { return new ArrayList<>(); } } diff --git a/src/main/java/org/geysermc/extension/connect/storage/JsonStorageManager.java b/src/main/java/org/geysermc/extension/connect/storage/JsonStorageManager.java index f3473bf..a9254b9 100644 --- a/src/main/java/org/geysermc/extension/connect/storage/JsonStorageManager.java +++ b/src/main/java/org/geysermc/extension/connect/storage/JsonStorageManager.java @@ -26,11 +26,11 @@ package org.geysermc.extension.connect.storage; import com.fasterxml.jackson.core.type.TypeReference; +import org.geysermc.api.connection.Connection; import org.geysermc.extension.connect.GeyserConnect; import org.geysermc.extension.connect.utils.Server; import org.geysermc.extension.connect.utils.ServerManager; import org.geysermc.extension.connect.utils.Utils; -import org.geysermc.geyser.session.GeyserSession; import java.io.IOException; import java.nio.file.Path; @@ -49,19 +49,19 @@ public class JsonStorageManager extends AbstractStorageManager { } @Override - public void saveServers(GeyserSession session) { + public void saveServers(Connection session) { try { - Utils.OBJECT_MAPPER.writeValue(dataFolder.resolve(session.getAuthData().xuid() + ".json").toFile(), ServerManager.getServers(session)); + Utils.OBJECT_MAPPER.writeValue(dataFolder.resolve(session.xuid() + ".json").toFile(), ServerManager.getServers(session)); } catch (IOException ignored) { } } @Override - public List loadServers(GeyserSession session) { + public List loadServers(Connection session) { List servers = new ArrayList<>(); try { - List loadedServers = Utils.OBJECT_MAPPER.readValue(dataFolder.resolve(session.getAuthData().xuid() + ".json").toFile(), new TypeReference<>() { + List loadedServers = Utils.OBJECT_MAPPER.readValue(dataFolder.resolve(session.xuid() + ".json").toFile(), new TypeReference<>() { }); if (loadedServers != null) { servers.addAll(loadedServers); diff --git a/src/main/java/org/geysermc/extension/connect/utils/ServerManager.java b/src/main/java/org/geysermc/extension/connect/utils/ServerManager.java index bf23be4..11e83aa 100644 --- a/src/main/java/org/geysermc/extension/connect/utils/ServerManager.java +++ b/src/main/java/org/geysermc/extension/connect/utils/ServerManager.java @@ -25,8 +25,8 @@ package org.geysermc.extension.connect.utils; +import org.geysermc.api.connection.Connection; import org.geysermc.extension.connect.GeyserConnect; -import org.geysermc.geyser.session.GeyserSession; import java.util.HashMap; import java.util.List; @@ -35,35 +35,35 @@ import java.util.Map; public class ServerManager { private static final Map> servers = new HashMap<>(); - public static void loadServers(GeyserSession session) { + public static void loadServers(Connection session) { GeyserConnect.instance().logger().debug("Loading servers for " + Utils.displayName(session)); servers.put(session.xuid(), GeyserConnect.instance().storageManager().loadServers(session)); } - public static void unloadServers(GeyserSession session) { + public static void unloadServers(Connection session) { if (getServers(session) == null) return; GeyserConnect.instance().logger().debug("Saving and unloading servers for " + Utils.displayName(session)); GeyserConnect.instance().storageManager().saveServers(session); servers.remove(session.xuid()); } - public static List getServers(GeyserSession session) { + public static List getServers(Connection session) { return servers.get(session.xuid()); } - public static void addServer(GeyserSession session, Server server) { + public static void addServer(Connection session, Server server) { servers.get(session.xuid()).add(server); } - public static void removeServer(GeyserSession session, Server server) { + public static void removeServer(Connection session, Server server) { getServers(session).remove(server); } - public static int getServerIndex(GeyserSession session, Server server) { + public static int getServerIndex(Connection session, Server server) { return getServers(session).indexOf(server); } - public static void updateServer(GeyserSession session, int serverIndex, Server server) { + public static void updateServer(Connection session, int serverIndex, Server server) { getServers(session).set(serverIndex, server); } } diff --git a/src/main/java/org/geysermc/extension/connect/utils/Utils.java b/src/main/java/org/geysermc/extension/connect/utils/Utils.java index ce69e5c..17feb2a 100644 --- a/src/main/java/org/geysermc/extension/connect/utils/Utils.java +++ b/src/main/java/org/geysermc/extension/connect/utils/Utils.java @@ -30,6 +30,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.cloudburstmc.protocol.bedrock.packet.BedrockPacketHandler; import org.cloudburstmc.protocol.bedrock.packet.SetLocalPlayerAsInitializedPacket; import org.cloudburstmc.protocol.bedrock.packet.TransferPacket; +import org.geysermc.api.connection.Connection; import org.geysermc.extension.connect.GeyserConnect; import org.geysermc.geyser.session.GeyserSession; @@ -75,7 +76,7 @@ public class Utils { return file; } - public static String displayName(GeyserSession session) { + public static String displayName(Connection session) { return session.bedrockUsername() + " (" + session.xuid() + ")"; }