@@ -22,19 +22,32 @@ public class OldServerPingerMixin {
2222 @ Unique
2323 private ServerData viaForgePlus$serverData ;
2424
25- @ Inject (method = "ping" , at = @ At ("HEAD " ))
25+ @ Inject (method = "ping" , at = @ At (value = "INVOKE" , target = "Lnet/minecraft/network/NetworkManager;createNetworkManagerAndConnect(Ljava/net/InetAddress;IZ)Lnet/minecraft/network/NetworkManager; " ))
2626 public void trackServerData (ServerData server , CallbackInfo ci ) {
2727 viaForgePlus$serverData = server ;
2828 }
2929
3030 @ Redirect (method = "ping" , at = @ At (value = "INVOKE" , target = "Lnet/minecraft/network/NetworkManager;createNetworkManagerAndConnect(Ljava/net/InetAddress;IZ)Lnet/minecraft/network/NetworkManager;" ))
3131 public NetworkManager trackVersion (InetAddress address , int i , boolean b ) {
32- if (viaForgePlus$serverData != null ) {
33- ProtocolVersion version = ((ExtendedServerData ) viaForgePlus$serverData ).viaForgePlus$getVersion ();
34- if (version == null ) {
35- version = CommonViaForgePlus .getManager ().getTargetVersion ();
32+ try {
33+ if (viaForgePlus$serverData != null ) {
34+ ProtocolVersion version = null ;
35+
36+ if (viaForgePlus$serverData instanceof ExtendedServerData ) {
37+ version = ((ExtendedServerData ) viaForgePlus$serverData ).viaForgePlus$getVersion ();
38+ }
39+
40+ if (version == null ) {
41+ version = CommonViaForgePlus .getManager ().getTargetVersion ();
42+ }
43+
44+ if (address != null ) {
45+ VersionTracker .storeServerProtocolVersion (address , version );
46+ }
3647 }
37- VersionTracker .storeServerProtocolVersion (address , version );
48+ } catch (Exception e ) {
49+ e .printStackTrace ();
50+ } finally {
3851 viaForgePlus$serverData = null ;
3952 }
4053
0 commit comments