From 1d3adc53170b5da41852a513ba413dbd3e57c7ec Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Fri, 4 Apr 2014 11:25:19 +0100 Subject: [PATCH] 1.7.6-pre1 Support --- .../src/main/java/net/md_5/bungee/protocol/Protocol.java | 2 +- .../main/java/net/md_5/bungee/protocol/packet/Chat.java | 4 ++-- .../net/md_5/bungee/protocol/packet/ClientSettings.java | 4 ++-- .../java/net/md_5/bungee/connection/InitialHandler.java | 9 ++++++++- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java b/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java index 7769014b..32107b04 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/Protocol.java @@ -97,7 +97,7 @@ public enum Protocol }; /*========================================================================*/ public static final int MAX_PACKET_ID = 0xFF; - public static List supportedVersions = Arrays.asList( 4, 8 ); + public static List supportedVersions = Arrays.asList( 4, 5, 8 ); /*========================================================================*/ public final ProtocolDirection TO_SERVER = new ProtocolDirection( "TO_SERVER" ); public final ProtocolDirection TO_CLIENT = new ProtocolDirection( "TO_CLIENT" ); diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/Chat.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/Chat.java index d4d8aefc..ec6ad4bd 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/Chat.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/Chat.java @@ -28,7 +28,7 @@ public class Chat extends DefinedPacket public void read(ByteBuf buf, Protocol.ProtocolDirection direction, int protocolVersion) { message = readString( buf ); - if ( direction.toString().equals( "TO_CLIENT" ) && protocolVersion >= 5 ) + if ( direction.toString().equals( "TO_CLIENT" ) && protocolVersion >= 7 ) { position = buf.readByte(); } @@ -38,7 +38,7 @@ public class Chat extends DefinedPacket public void write(ByteBuf buf, Protocol.ProtocolDirection direction, int protocolVersion) { writeString( message, buf ); - if ( direction.toString().equals( "TO_CLIENT" ) && protocolVersion >= 5 ) + if ( direction.toString().equals( "TO_CLIENT" ) && protocolVersion >= 7 ) { buf.writeByte( position ); } diff --git a/protocol/src/main/java/net/md_5/bungee/protocol/packet/ClientSettings.java b/protocol/src/main/java/net/md_5/bungee/protocol/packet/ClientSettings.java index eb8c412c..050229da 100644 --- a/protocol/src/main/java/net/md_5/bungee/protocol/packet/ClientSettings.java +++ b/protocol/src/main/java/net/md_5/bungee/protocol/packet/ClientSettings.java @@ -30,7 +30,7 @@ public class ClientSettings extends DefinedPacket viewDistance = buf.readByte(); chatFlags = buf.readByte(); unknown = buf.readBoolean(); - if ( protocolVersion < 5 ) + if ( protocolVersion < 6 ) { difficulty = buf.readByte(); } @@ -44,7 +44,7 @@ public class ClientSettings extends DefinedPacket buf.writeByte( viewDistance ); buf.writeByte( chatFlags ); buf.writeBoolean( unknown ); - if ( protocolVersion < 5 ) + if ( protocolVersion < 6 ) { buf.writeByte( difficulty ); } diff --git a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java index 306e8086..cb88ca70 100644 --- a/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java +++ b/proxy/src/main/java/net/md_5/bungee/connection/InitialHandler.java @@ -371,7 +371,14 @@ public class InitialHandler extends PacketHandler implements PendingConnection { uniqueId = java.util.UUID.nameUUIDFromBytes( ( "OfflinePlayer:" + getName() ).getBytes( Charsets.UTF_8 ) ); } - unsafe.sendPacket( new LoginSuccess( uniqueId.toString(), getName() ) ); + // Version 5 == 1.7.6. This is a screwup as 1.7.6 was also a snapshot. + if ( getVersion() == 5 ) + { + unsafe.sendPacket( new LoginSuccess( getUniqueId().toString(), getName() ) ); // With dashes in between + } else + { + unsafe.sendPacket( new LoginSuccess( getUUID(), getName() ) ); // Without dashes, for older clients. + } ch.setProtocol( Protocol.GAME ); UserConnection userCon = new UserConnection( bungee, ch, getName(), InitialHandler.this );