Fix switching to servers with larger view distance

This commit is contained in:
md_5
2019-04-28 10:52:49 +10:00
parent 9bce83704a
commit 7d68335c1d
4 changed files with 52 additions and 0 deletions

View File

@@ -33,6 +33,7 @@ import net.md_5.bungee.protocol.packet.TabCompleteRequest;
import net.md_5.bungee.protocol.packet.TabCompleteResponse;
import net.md_5.bungee.protocol.packet.Team;
import net.md_5.bungee.protocol.packet.Title;
import net.md_5.bungee.protocol.packet.ViewDistance;
public abstract class AbstractPacketHandler
{
@@ -168,4 +169,8 @@ public abstract class AbstractPacketHandler
public void handle(Commands commands) throws Exception
{
}
public void handle(ViewDistance viewDistance) throws Exception
{
}
}

View File

@@ -39,6 +39,7 @@ import net.md_5.bungee.protocol.packet.TabCompleteRequest;
import net.md_5.bungee.protocol.packet.TabCompleteResponse;
import net.md_5.bungee.protocol.packet.Team;
import net.md_5.bungee.protocol.packet.Title;
import net.md_5.bungee.protocol.packet.ViewDistance;
public enum Protocol
{
@@ -184,6 +185,10 @@ public enum Protocol
Commands.class,
map( ProtocolConstants.MINECRAFT_1_13, 0x11 )
);
TO_CLIENT.registerPacket(
ViewDistance.class,
map( ProtocolConstants.MINECRAFT_1_14, 0x41 )
);
TO_SERVER.registerPacket(
KeepAlive.class,

View File

@@ -0,0 +1,37 @@
package net.md_5.bungee.protocol.packet;
import io.netty.buffer.ByteBuf;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import net.md_5.bungee.protocol.AbstractPacketHandler;
import net.md_5.bungee.protocol.DefinedPacket;
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class ViewDistance extends DefinedPacket
{
private int distance;
@Override
public void read(ByteBuf buf)
{
distance = DefinedPacket.readVarInt( buf );
}
@Override
public void write(ByteBuf buf)
{
DefinedPacket.writeVarInt( distance, buf );
}
@Override
public void handle(AbstractPacketHandler handler) throws Exception
{
handler.handle( this );
}
}