Skip to content

Commit

Permalink
Fix the way we access network manager (for 1.20.2)
Browse files Browse the repository at this point in the history
  • Loading branch information
retrooper committed Nov 4, 2023
1 parent 289a711 commit efa694c
Showing 1 changed file with 15 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public final class NMSUtils {
public static boolean legacyNettyImportMode;
public static ServerVersion version;
public static Constructor<?> blockPosConstructor, minecraftKeyConstructor, vec3DConstructor, dataWatcherConstructor, packetDataSerializerConstructor, itemStackConstructor;
public static Class<?> mobEffectListClass, nmsEntityClass, minecraftServerClass, craftWorldClass, playerInteractManagerClass, entityPlayerClass, playerConnectionClass, craftServerClass,
public static Class<?> mobEffectListClass, nmsEntityClass, minecraftServerClass, craftWorldClass, playerInteractManagerClass, entityPlayerClass, playerConnectionClass, SERVER_COMMON_PACKETLISTENER_IMPL_CLASS, craftServerClass,
craftPlayerClass, serverConnectionClass, craftEntityClass, nmsItemStackClass, networkManagerClass, nettyChannelClass, gameProfileClass, iChatBaseComponentClass,
blockPosClass, sectionPositionClass, vec3DClass, channelFutureClass, blockClass, iBlockDataClass, nmsWorldClass, craftItemStackClass,
soundEffectClass, minecraftKeyClass, chatSerializerClass, craftMagicNumbersClass, worldSettingsClass, worldServerClass, dataWatcherClass,
Expand Down Expand Up @@ -135,6 +135,8 @@ public static void load() {
playerConnectionClass = getNMSClassWithoutException("PlayerConnection");
if (playerConnectionClass == null) {
playerConnectionClass = getNMClassWithoutException("server.network.PlayerConnection");
//Only for 1.20.2
SERVER_COMMON_PACKETLISTENER_IMPL_CLASS = getNMClassWithoutException("server.network.ServerCommonPacketListenerImpl");
}
serverConnectionClass = getNMSClassWithoutException("ServerConnection");
if (serverConnectionClass == null) {
Expand Down Expand Up @@ -560,7 +562,8 @@ public static Object getNetworkManager(Player player) {
if (playerConnection == null) {
return null;
}
WrappedPacket wrapper = new WrappedPacket(new NMSPacket(playerConnection), playerConnectionClass);
Class<?> playerConClass = SERVER_COMMON_PACKETLISTENER_IMPL_CLASS != null ? SERVER_COMMON_PACKETLISTENER_IMPL_CLASS : playerConnectionClass;
WrappedPacket wrapper = new WrappedPacket(new NMSPacket(playerConnection), playerConClass);
try {
return wrapper.readObject(0, networkManagerClass);
} catch (Exception ex) {
Expand All @@ -569,11 +572,18 @@ public static Object getNetworkManager(Player player) {
return wrapper.readObject(0, networkManagerClass);
} catch (Exception ex2) {
//Support for some custom plugins.
playerConnection = wrapper.read(0, playerConnectionClass);
wrapper = new WrappedPacket(new NMSPacket(playerConnection), playerConnectionClass);
return wrapper.readObject(0, networkManagerClass);
try {
playerConnection = wrapper.read(0, playerConnectionClass);
wrapper = new WrappedPacket(new NMSPacket(playerConnection), playerConnectionClass);
return wrapper.readObject(0, networkManagerClass);
}
catch (Exception ex3) {
//Print the original exception!
ex.printStackTrace();
}
}
}
return null;
}

public static Object getChannel(final Player player) {
Expand Down

0 comments on commit efa694c

Please sign in to comment.