mirror of
https://github.com/GeyserMC/Floodgate.git
synced 2025-12-19 14:59:20 +00:00
Support 1.20.5 spigot, update languages module, update Bungee dependency so the project builds (#498)
This commit is contained in:
@@ -68,9 +68,9 @@ public final class SpigotDataHandler extends CommonDataHandler {
|
||||
// 1.20.2 and above
|
||||
try {
|
||||
Object[] components = new Object[]{
|
||||
ClassNames.HANDSHAKE_PORT.get(handshakePacket),
|
||||
hostname,
|
||||
ClassNames.HANDSHAKE_PROTOCOL.get(handshakePacket),
|
||||
hostname,
|
||||
ClassNames.HANDSHAKE_PORT.get(handshakePacket),
|
||||
ClassNames.HANDSHAKE_INTENTION.get(handshakePacket)
|
||||
};
|
||||
|
||||
|
||||
@@ -293,14 +293,23 @@ public class ClassNames {
|
||||
String.class, int.class, CLIENT_INTENT);
|
||||
checkNotNull(HANDSHAKE_PACKET_CONSTRUCTOR, "Handshake packet constructor");
|
||||
|
||||
HANDSHAKE_PORT = getField(HANDSHAKE_PACKET, "a");
|
||||
checkNotNull(HANDSHAKE_PORT, "Handshake port");
|
||||
makeAccessible(HANDSHAKE_PORT);
|
||||
Field a = getField(HANDSHAKE_PACKET, "a");
|
||||
checkNotNull(a, "Handshake \"a\" field (protocol version, or stream codec)");
|
||||
|
||||
if (a.getType().isPrimitive()) { // 1.20.2 - 1.20.4: a is the protocol version (int)
|
||||
HANDSHAKE_PROTOCOL = a;
|
||||
HANDSHAKE_PORT = getField(HANDSHAKE_PACKET, "c");
|
||||
} else { // 1.20.5: a is the stream_codec thing, so everything is shifted
|
||||
HANDSHAKE_PROTOCOL = getField(HANDSHAKE_PACKET, "b");
|
||||
HANDSHAKE_PORT = getField(HANDSHAKE_PACKET, "d");
|
||||
}
|
||||
|
||||
HANDSHAKE_PROTOCOL = getField(HANDSHAKE_PACKET, "c");
|
||||
checkNotNull(HANDSHAKE_PROTOCOL, "Handshake protocol");
|
||||
makeAccessible(HANDSHAKE_PROTOCOL);
|
||||
|
||||
checkNotNull(HANDSHAKE_PORT, "Handshake port");
|
||||
makeAccessible(HANDSHAKE_PORT);
|
||||
|
||||
HANDSHAKE_INTENTION = getFieldOfType(HANDSHAKE_PACKET, CLIENT_INTENT);
|
||||
checkNotNull(HANDSHAKE_INTENTION, "Handshake intention");
|
||||
makeAccessible(HANDSHAKE_INTENTION);
|
||||
|
||||
Reference in New Issue
Block a user