1
0
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:
chris
2024-04-28 01:01:30 +02:00
committed by GitHub
parent 7f38765010
commit 851ed5adc0
4 changed files with 18 additions and 9 deletions

View File

@@ -1,4 +1,4 @@
var bungeeCommit = "master-SNAPSHOT"
var bungeeVersion = "1.20-R0.3-SNAPSHOT"
var gsonVersion = "2.8.0"
var guavaVersion = "21.0"
@@ -16,6 +16,6 @@ relocate("io.leangen.geantyref")
relocate("org.yaml")
// these dependencies are already present on the platform
provided("com.github.SpigotMC.BungeeCord", "bungeecord-proxy", bungeeCommit)
provided("net.md-5", "bungeecord-proxy", bungeeVersion)
provided("com.google.code.gson", "gson", gsonVersion)
provided("com.google.guava", "guava", guavaVersion)

View File

@@ -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)
};

View File

@@ -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);