Skip to content

Commit f03281a

Browse files
committed
Update OldServerPingerMixin.java
1 parent 93863bb commit f03281a

1 file changed

Lines changed: 19 additions & 6 deletions

File tree

src/main/java/net/aspw/viaforgeplus/mixin/impl/OldServerPingerMixin.java

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)