Waterfall/BungeeCord-Patches/0065-Add-protocol-version-to-packet-not-found-message.patch
Shane Freeder ef0fc26e9d
Fix packet IDs being bork due to optimisation attempt
"static final" is generally inlined, so, while this value shouldn't
be 0 looking at the code, the fact that it was at compile time seems
to have taken a revenge course
2022-06-12 13:28:25 +01:00

39 lines
1.7 KiB
Diff

From 762364cf2a5d421d0cee0879b1ec4220e5d0198d Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Sun, 12 Jun 2022 06:45:54 +0100
Subject: [PATCH] Add protocol version to packet not found message
Also avoids a double get, but, this is probably trivial
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 1b5189c1..f5a675a9 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
@@ -2,6 +2,8 @@ package net.md_5.bungee.protocol;
import com.google.common.base.Preconditions;
import com.google.common.collect.Iterables;
+
+import gnu.trove.impl.Constants;
import gnu.trove.map.TIntObjectMap;
import gnu.trove.map.TObjectIntMap;
import gnu.trove.map.hash.TIntObjectHashMap;
@@ -650,9 +652,12 @@ public enum Protocol
{
throw new BadPacketException( "Unsupported protocol version" );
}
- Preconditions.checkArgument( protocolData.packetMap.containsKey( packet ), "Cannot get ID for packet %s in phase %s with direction %s", packet, protocolPhase, direction );
+ // Waterfall start
+ final int packetId = protocolData.packetMap.get(packet);
+ Preconditions.checkArgument( packetId >= 0, "Cannot get ID for packet %s in phase %s with direction %s for protocol version %s", packet, protocolPhase, direction, version ); // Waterfall - add version
- return protocolData.packetMap.get( packet );
+ return packetId;
+ // Waterfall end
}
}
}
--
2.36.1