From c79692940ef8b21d30194ed5635369f0ea34fbf5 Mon Sep 17 00:00:00 2001 From: Brettflan Date: Wed, 20 Jul 2011 08:48:14 -0500 Subject: [PATCH] Update to new integration method for EssentialsChat; needs up-to-date Essentials (2.5.1 or newer) NOTE: if Essentials is too old, this error will occur at server startup (sadly impossible to catch or otherwise handle due to how Bukkit loads plugins): java.lang.NoClassDefFoundError: com/earth2me/essentials/chat/IEssentialsChatListener --- lib/EssentialsChat.jar | Bin 0 -> 6156 bytes src/com/massivecraft/factions/Factions.java | 37 ++++++++++++++++++-- 2 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 lib/EssentialsChat.jar diff --git a/lib/EssentialsChat.jar b/lib/EssentialsChat.jar new file mode 100644 index 0000000000000000000000000000000000000000..43c9372bdaf325330825df3ac135eee95eb8922c GIT binary patch literal 6156 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 commands = new ArrayList(); @@ -118,6 +119,7 @@ public class Factions extends JavaPlugin { Board.load(); setupPermissions(); + integrateEssentialsChat(); // preload could apparently cause issues; removed since "softdepend" is now available @@ -157,6 +159,7 @@ public class Factions extends JavaPlugin { saveTask = null; } saveAll(); + unhookEssentialsChat(); log("Disabled"); } @@ -179,6 +182,34 @@ public class Factions extends JavaPlugin { } } + private void integrateEssentialsChat() { + if (essChat != null) { + return; + } + + Plugin test = this.getServer().getPluginManager().getPlugin("EssentialsChat"); + + if (test != null) { + essChat = (EssentialsChat)test; + essChat.addEssentialsChatListener("Factions", new IEssentialsChatListener() { + public boolean shouldHandleThisChat(PlayerChatEvent event) + { + return shouldLetFactionsHandleThisChat(event); + } + public String modifyMessage(PlayerChatEvent event, Player target, String message) + { + return message.replace("{FACTION}", getPlayerFactionTagRelation(event.getPlayer(), target)).replace("{FACTION_TITLE}", getPlayerTitle(event.getPlayer())); + } + }); + Factions.log("Found and will integrate chat with "+test.getDescription().getFullName()); + } + } + private void unhookEssentialsChat() { + if (essChat != null) { + essChat.removeEssentialsChatListener("Factions"); + } + } + // -------------------------------------------- // // Functions for other plugins to hook into // -------------------------------------------- //