From df061749ddf3df4ee4b80315cfdea546e661ac28 Mon Sep 17 00:00:00 2001 From: KHobbits Date: Tue, 24 Jan 2012 23:20:00 +0000 Subject: 2nd sweep over Essentials Chat, to implement 2.8 changes. Formatting cache still needs reimplemented. --- .../com/earth2me/essentials/chat/ChatStore.java | 11 -------- .../earth2me/essentials/chat/EssentialsChat.java | 2 +- .../essentials/chat/EssentialsChatPlayer.java | 22 ++++++++++------ .../essentials/chat/EssentialsLocalChatEvent.java | 4 +-- .../chat/EssentialsLocalChatEventListener.java | 29 +++++++++++----------- 5 files changed, 33 insertions(+), 35 deletions(-) (limited to 'EssentialsChat/src/com/earth2me/essentials') diff --git a/EssentialsChat/src/com/earth2me/essentials/chat/ChatStore.java b/EssentialsChat/src/com/earth2me/essentials/chat/ChatStore.java index b2a429e14..4e2d68159 100644 --- a/EssentialsChat/src/com/earth2me/essentials/chat/ChatStore.java +++ b/EssentialsChat/src/com/earth2me/essentials/chat/ChatStore.java @@ -10,7 +10,6 @@ public class ChatStore private final transient IUser user; private final transient String type; private final transient Trade charge; - private long radius; public ChatStore(final IEssentials ess, final IUser user, final String type) { @@ -38,14 +37,4 @@ public class ChatStore { return type.length() > 0 ? "chat" : "chat-" + type; } - - public long getRadius() - { - return radius; - } - - public void setRadius(final long radius) - { - this.radius = radius; - } } diff --git a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChat.java b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChat.java index 6e361beca..500fecf9b 100644 --- a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChat.java +++ b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChat.java @@ -42,7 +42,7 @@ public class EssentialsChat extends JavaPlugin pluginManager.registerEvents(playerListenerLowest, this); pluginManager.registerEvents(playerListenerNormal, this); pluginManager.registerEvents(playerListenerHighest, this); - + final EssentialsLocalChatEventListener localChatListener = new EssentialsLocalChatEventListener(getServer(), ess); pluginManager.registerEvents(localChatListener, this); diff --git a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java index 6ab845b72..a4621661b 100644 --- a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java +++ b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java @@ -83,18 +83,21 @@ public abstract class EssentialsChatPlayer implements Listener } String group = user.getGroup(); String world = user.getWorld().getName(); - + IGroups groupSettings = ess.getGroups(); groupSettings.acquireReadLock(); try - { - event.setFormat(groupSettings.getChatFormat(user).format(new Object[] {group, world, world.substring(0, 1).toUpperCase(Locale.ENGLISH)})); + { + event.setFormat(groupSettings.getChatFormat(user).format(new Object[] + { + group, world, world.substring(0, 1).toUpperCase(Locale.ENGLISH) + })); } finally { groupSettings.unlock(); } - + } //TODO: Flesh this out - '?' trigger is too easily accidentally triggered @@ -105,7 +108,7 @@ public abstract class EssentialsChatPlayer implements Listener case '!': return "shout"; //case '?': - //return "question"; + //return "question"; //case '@': // return "admin"; default: @@ -126,8 +129,13 @@ public abstract class EssentialsChatPlayer implements Listener { settings.unlock(); } + + if (radius < 1) + { + return; + } + radius *= radius; - chatStore.setRadius(radius); final IUser user = chatStore.getUser(); @@ -154,7 +162,7 @@ public abstract class EssentialsChatPlayer implements Listener } event.setCancelled(true); - final EssentialsLocalChatEvent localChat = new EssentialsLocalChatEvent(event, chatStore); + final EssentialsLocalChatEvent localChat = new EssentialsLocalChatEvent(event, radius); ess.getServer().getPluginManager().callEvent(localChat); } } diff --git a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsLocalChatEvent.java b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsLocalChatEvent.java index 4973841a3..e566de685 100644 --- a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsLocalChatEvent.java +++ b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsLocalChatEvent.java @@ -25,9 +25,9 @@ public class EssentialsLocalChatEvent extends Event implements Cancellable this.radius = radius; } - public EssentialsLocalChatEvent(final PlayerChatEvent event, final ChatStore chatStore) + public EssentialsLocalChatEvent(final PlayerChatEvent event, final long radius) { - this(event.getPlayer(), event.getMessage(), event.getFormat(), chatStore.getRadius()); + this(event.getPlayer(), event.getMessage(), event.getFormat(), radius); this.parentEvent = event; } diff --git a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsLocalChatEventListener.java b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsLocalChatEventListener.java index 14b22f548..7d343160e 100644 --- a/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsLocalChatEventListener.java +++ b/EssentialsChat/src/com/earth2me/essentials/chat/EssentialsLocalChatEventListener.java @@ -3,33 +3,34 @@ package com.earth2me.essentials.chat; import static com.earth2me.essentials.I18n._; import com.earth2me.essentials.api.IEssentials; import com.earth2me.essentials.api.IUser; +import java.util.logging.Level; +import java.util.logging.Logger; import org.bukkit.Location; import org.bukkit.Server; import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; - -public class EssentialsLocalChatEventListener implements Listener { - + +public class EssentialsLocalChatEventListener implements Listener +{ protected transient IEssentials ess; protected final transient Server server; + private static final Logger LOGGER = Logger.getLogger("Minecraft"); public EssentialsLocalChatEventListener(final Server server, final IEssentials ess) { this.ess = ess; this.server = server; } - - @EventHandler - public void onLocalChat(final EssentialsLocalChatEvent event) { + + @EventHandler(priority = EventPriority.HIGHEST) + public void onLocalChat(final EssentialsLocalChatEvent event) + { + final Player sender = event.getPlayer(); - if (event.getRadius() < 1) - { - return; - } - event.setCancelled(true); final Location loc = sender.getLocation(); final World world = loc.getWorld(); @@ -64,8 +65,8 @@ public class EssentialsLocalChatEventListener implements Listener { } } - final String message = String.format(event.getFormat(), type.concat(sender.getDisplayName()), event.getMessage()); + final String message = type.concat(String.format(event.getFormat(), sender.getDisplayName(), event.getMessage())); user.sendMessage(message); - } - } + } + } } \ No newline at end of file -- cgit v1.2.3