diff --git a/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java b/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java index c21252efa..248a325b7 100644 --- a/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java +++ b/connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java @@ -50,6 +50,7 @@ import org.geysermc.api.RemoteServer; import org.geysermc.api.session.AuthData; import org.geysermc.api.window.FormWindow; import org.geysermc.connector.GeyserConnector; +import org.geysermc.connector.network.session.cache.ScoreboardCache; import org.geysermc.connector.network.session.cache.WindowCache; import org.geysermc.connector.network.translators.Registry; import org.geysermc.connector.utils.Toolbox; @@ -73,6 +74,9 @@ public class GeyserSession implements PlayerSession, Player { @Getter private WindowCache windowCache; + @Getter + private ScoreboardCache scoreboardCache; + @Getter private boolean loggedIn; @@ -84,6 +88,8 @@ public class GeyserSession implements PlayerSession, Player { this.windowCache = new WindowCache(this); + this.scoreboardCache = new ScoreboardCache(this); + this.loggedIn = false; } diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/TranslatorsInit.java b/connector/src/main/java/org/geysermc/connector/network/translators/TranslatorsInit.java index 0e882df1c..6166e867d 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/TranslatorsInit.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/TranslatorsInit.java @@ -30,6 +30,10 @@ import com.github.steveice10.mc.protocol.packet.ingame.server.ServerJoinGamePack import com.github.steveice10.mc.protocol.packet.ingame.server.ServerTitlePacket; import com.github.steveice10.mc.protocol.packet.ingame.server.entity.*; import com.github.steveice10.mc.protocol.packet.ingame.server.entity.spawn.ServerSpawnExpOrbPacket; +import com.github.steveice10.mc.protocol.packet.ingame.server.scoreboard.ServerDisplayScoreboardPacket; +import com.github.steveice10.mc.protocol.packet.ingame.server.scoreboard.ServerScoreboardObjectivePacket; +import com.github.steveice10.mc.protocol.packet.ingame.server.scoreboard.ServerTeamPacket; +import com.github.steveice10.mc.protocol.packet.ingame.server.scoreboard.ServerUpdateScorePacket; import com.github.steveice10.mc.protocol.packet.ingame.server.world.ServerNotifyClientPacket; import com.github.steveice10.mc.protocol.packet.ingame.server.world.ServerUpdateTimePacket; import com.nukkitx.nbt.CompoundTagBuilder; @@ -50,6 +54,10 @@ import org.geysermc.connector.network.translators.java.entity.JavaEntityPosition import org.geysermc.connector.network.translators.java.entity.JavaEntityTeleportTranslator; import org.geysermc.connector.network.translators.java.entity.JavaEntityVelocityTranslator; import org.geysermc.connector.network.translators.java.entity.spawn.JavaSpawnExpOrbTranslator; +import org.geysermc.connector.network.translators.java.scoreboard.JavaScoreboardDisplayTranslator; +import org.geysermc.connector.network.translators.java.scoreboard.JavaScoreboardObjectiveTranslator; +import org.geysermc.connector.network.translators.java.scoreboard.JavaScoreboardTeamTranslator; +import org.geysermc.connector.network.translators.java.scoreboard.JavaUpdateScoreTranslator; import org.geysermc.connector.network.translators.java.world.JavaNotifyClientTranslator; import org.geysermc.connector.network.translators.java.JavaTitleTranslator; import org.geysermc.connector.network.translators.java.world.JavaUpdateTimeTranslator; @@ -88,6 +96,10 @@ public class TranslatorsInit { Registry.registerJava(ServerNotifyClientPacket.class, new JavaNotifyClientTranslator()); Registry.registerJava(ServerEntityDestroyPacket.class, new JavaEntityDestroyTranslator()); Registry.registerJava(ServerSpawnExpOrbPacket.class, new JavaSpawnExpOrbTranslator()); + Registry.registerJava(ServerScoreboardObjectivePacket.class, new JavaScoreboardObjectiveTranslator()); + Registry.registerJava(ServerDisplayScoreboardPacket.class, new JavaScoreboardDisplayTranslator()); + Registry.registerJava(ServerTeamPacket.class, new JavaScoreboardTeamTranslator()); + Registry.registerJava(ServerUpdateScorePacket.class, new JavaUpdateScoreTranslator()); Registry.registerBedrock(AnimatePacket.class, new BedrockAnimateTranslator()); Registry.registerBedrock(CommandRequestPacket.class, new BedrockCommandRequestTranslator()); diff --git a/connector/src/main/java/org/geysermc/connector/network/translators/scoreboard/Scoreboard.java b/connector/src/main/java/org/geysermc/connector/network/translators/scoreboard/Scoreboard.java index 45ce77bad..6388b6267 100644 --- a/connector/src/main/java/org/geysermc/connector/network/translators/scoreboard/Scoreboard.java +++ b/connector/src/main/java/org/geysermc/connector/network/translators/scoreboard/Scoreboard.java @@ -106,7 +106,7 @@ public class Scoreboard { displayObjectivePacket.setDisplayName(objective.getDisplayName()); displayObjectivePacket.setCriteria("dummy"); displayObjectivePacket.setDisplaySlot("sidebar"); - displayObjectivePacket.setSortOrder(0); + displayObjectivePacket.setSortOrder(2); session.getUpstream().sendPacket(displayObjectivePacket); Map fakeMap = new HashMap(); diff --git a/connector/src/main/resources/config.yml b/connector/src/main/resources/config.yml index a0794510c..885e5cf7c 100644 --- a/connector/src/main/resources/config.yml +++ b/connector/src/main/resources/config.yml @@ -20,9 +20,6 @@ remote: # The port of the remote (Java Edition) server port: 25565 online-mode: false - #Online Mode Credentials -Logicism - email: email@email.address - password: password # Relay the MOTD, player count and max players from the remote server ping-passthrough: false