diff options
author | snowleo <schneeleo@gmail.com> | 2011-12-09 02:48:39 +0100 |
---|---|---|
committer | snowleo <schneeleo@gmail.com> | 2011-12-09 02:48:57 +0100 |
commit | 543ed2af1ed35a9e6446a2ec2fb5c26ff5aca97c (patch) | |
tree | e501a4fe97f6a68eaddb570a544e116056129e31 /EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayerListenerHighest.java | |
parent | 4df8de54af8e1483e594807c9568505b47a97396 (diff) | |
download | Essentials-543ed2af1ed35a9e6446a2ec2fb5c26ff5aca97c.tar Essentials-543ed2af1ed35a9e6446a2ec2fb5c26ff5aca97c.tar.gz Essentials-543ed2af1ed35a9e6446a2ec2fb5c26ff5aca97c.tar.lz Essentials-543ed2af1ed35a9e6446a2ec2fb5c26ff5aca97c.tar.xz Essentials-543ed2af1ed35a9e6446a2ec2fb5c26ff5aca97c.zip |
Fix broken charge for shout and question
Diffstat (limited to 'EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayerListenerHighest.java')
-rw-r--r-- | EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayerListenerHighest.java | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayerListenerHighest.java b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayerListenerHighest.java index 17a219acd..22989d4f9 100644 --- a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayerListenerHighest.java +++ b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayerListenerHighest.java @@ -10,14 +10,25 @@ import org.bukkit.event.player.PlayerChatEvent; public class EssentialsChatPlayerListenerHighest extends EssentialsChatPlayer { - public EssentialsChatPlayerListenerHighest(Server server, IEssentials ess, Map<String, IEssentialsChatListener> listeners) + private final transient Map<PlayerChatEvent, String> charges; + + public EssentialsChatPlayerListenerHighest(final Server server, + final IEssentials ess, + final Map<String, IEssentialsChatListener> listeners, + final Map<PlayerChatEvent, String> charges) { super(server, ess, listeners); + this.charges = charges; } @Override public void onPlayerChat(final PlayerChatEvent event) { + String charge = charges.remove(event); + if (charge == null) + { + charge = "chat"; + } if (isAborted(event)) { return; @@ -27,22 +38,14 @@ public class EssentialsChatPlayerListenerHighest extends EssentialsChatPlayer * This file should handle charging the user for the action before returning control back */ final User user = ess.getUser(event.getPlayer()); - final String chatType = getChatType(event.getMessage()); - final StringBuilder command = new StringBuilder(); - command.append("chat"); - - if (chatType.length() > 0) - { - command.append("-").append(chatType); - } try { - charge(user, command.toString()); + charge(user, charge); } catch (ChargeException e) { - ess.showError(user, e, command.toString()); + ess.showError(user, e, charge); event.setCancelled(true); return; } |