mirror of
https://github.com/GeyserMC/GeyserConnect.git
synced 2025-06-26 14:15:22 +02:00
Changes to ensure GeyserConnect still works despite internal changes in https://github.com/GeyserMC/Geyser/pull/4604/
This commit is contained in:
parent
1c8c0386da
commit
9f2e46a998
2 changed files with 17 additions and 14 deletions
|
@ -119,6 +119,11 @@ public class GeyserConnect implements Extension {
|
|||
@Subscribe
|
||||
public void onSessionInitialize(SessionInitializeEvent event) {
|
||||
GeyserSession session = (GeyserSession) event.connection();
|
||||
if (config().hardPlayerLimit()) {
|
||||
if (session.getGeyser().getSessionManager().size() >= session.getGeyser().getConfig().getMaxPlayers()) {
|
||||
session.disconnect("disconnectionScreen.serverFull");
|
||||
}
|
||||
}
|
||||
|
||||
// Change the packet handler to our own
|
||||
BedrockPacketHandler packetHandler = session.getUpstream().getSession().getPacketHandler();
|
||||
|
|
|
@ -27,8 +27,9 @@ package org.geysermc.extension.connect;
|
|||
|
||||
import org.cloudburstmc.protocol.bedrock.data.AttributeData;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.BedrockPacketHandler;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.LoginPacket;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.NetworkStackLatencyPacket;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.ResourcePackChunkRequestPacket;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.ResourcePackClientResponsePacket;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.SetLocalPlayerAsInitializedPacket;
|
||||
import org.cloudburstmc.protocol.bedrock.packet.UpdateAttributesPacket;
|
||||
import org.cloudburstmc.protocol.common.PacketSignal;
|
||||
|
@ -74,19 +75,6 @@ public class PacketHandler extends UpstreamPacketHandler {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public PacketSignal handle(LoginPacket loginPacket) {
|
||||
// Check to see if the server is full and we have a hard player cap
|
||||
if (geyserConnect.config().hardPlayerLimit()) {
|
||||
if (session.getGeyser().getSessionManager().size() >= session.getGeyser().getConfig().getMaxPlayers()) {
|
||||
session.disconnect("disconnectionScreen.serverFull");
|
||||
return PacketSignal.HANDLED;
|
||||
}
|
||||
}
|
||||
|
||||
return super.handle(loginPacket);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PacketSignal handle(SetLocalPlayerAsInitializedPacket packet) {
|
||||
geyserConnect.logger().debug("Player initialized: " + Utils.displayName(session));
|
||||
|
@ -165,5 +153,15 @@ public class PacketHandler extends UpstreamPacketHandler {
|
|||
|
||||
return super.handle(packet);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PacketSignal handle(ResourcePackClientResponsePacket packet) {
|
||||
return originalPacketHandler.handle(packet);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PacketSignal handle(ResourcePackChunkRequestPacket packet) {
|
||||
return originalPacketHandler.handle(packet);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue