From 7058cdc1c1c3d061476cbf3eb7ff2af09e90ecda Mon Sep 17 00:00:00 2001 From: Olof Larsson Date: Mon, 23 Mar 2015 14:24:50 +0100 Subject: [PATCH] Update TitleUtil to support 1.8.3 --- .../massivecore/util/TitleUtil.java | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/src/com/massivecraft/massivecore/util/TitleUtil.java b/src/com/massivecraft/massivecore/util/TitleUtil.java index 536b0cfc..6fb58c19 100644 --- a/src/com/massivecraft/massivecore/util/TitleUtil.java +++ b/src/com/massivecraft/massivecore/util/TitleUtil.java @@ -50,7 +50,16 @@ public final class TitleUtil try { // The enum used - titleEnumClass = PackageType.MINECRAFT_SERVER.getClass("EnumTitleAction"); + try + { + titleEnumClass = PackageType.MINECRAFT_SERVER.getClass("EnumTitleAction"); + } + catch (ClassNotFoundException e) + { + // Since 1.8.3 + titleEnumClass = PackageType.MINECRAFT_SERVER.getClass("PacketPlayOutTitle$EnumTitleAction"); + } + // Get the enum values. for (Object o : titleEnumClass.getEnumConstants()) { @@ -62,7 +71,16 @@ public final class TitleUtil // Get chatserializer and chat component. iChatBaseComponent = PackageType.MINECRAFT_SERVER.getClass("IChatBaseComponent"); - chatSerializer = PackageType.MINECRAFT_SERVER.getClass("ChatSerializer").getDeclaredMethod("a", String.class); + + try + { + chatSerializer = PackageType.MINECRAFT_SERVER.getClass("ChatSerializer").getDeclaredMethod("a", String.class); + } + catch (ClassNotFoundException e) + { + // Since 1.8.3 + chatSerializer = PackageType.MINECRAFT_SERVER.getClass("IChatBaseComponent$ChatSerializer").getDeclaredMethod("a", String.class); + } // Get packet and it's constructor Class packetClass = PackageType.MINECRAFT_SERVER.getClass("PacketPlayOutTitle"); @@ -82,8 +100,7 @@ public final class TitleUtil playerConnection.setAccessible(true); sendPacket.setAccessible(true); - - // This suceeded, we use titles. + // This succeeded, we use titles. useTitles = true; } catch (Exception e)