summaryrefslogtreecommitdiffstats
path: root/EssentialsChat
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2012-01-24 23:20:00 +0000
committerKHobbits <rob@khobbits.co.uk>2012-01-24 23:20:00 +0000
commitdf061749ddf3df4ee4b80315cfdea546e661ac28 (patch)
tree28d0af6fd70b86c69988f2811c89291adf7b9b8f /EssentialsChat
parent38a932728466a28d773a348f47db59028b5fe8b4 (diff)
downloadEssentials-df061749ddf3df4ee4b80315cfdea546e661ac28.tar
Essentials-df061749ddf3df4ee4b80315cfdea546e661ac28.tar.gz
Essentials-df061749ddf3df4ee4b80315cfdea546e661ac28.tar.lz
Essentials-df061749ddf3df4ee4b80315cfdea546e661ac28.tar.xz
Essentials-df061749ddf3df4ee4b80315cfdea546e661ac28.zip
2nd sweep over Essentials Chat, to implement 2.8 changes.
Formatting cache still needs reimplemented.
Diffstat (limited to 'EssentialsChat')
-rw-r--r--EssentialsChat/src/com/earth2me/essentials/chat/ChatStore.java11
-rw-r--r--EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChat.java2
-rw-r--r--EssentialsChat/src/com/earth2me/essentials/chat/EssentialsChatPlayer.java22
-rw-r--r--EssentialsChat/src/com/earth2me/essentials/chat/EssentialsLocalChatEvent.java4
-rw-r--r--EssentialsChat/src/com/earth2me/essentials/chat/EssentialsLocalChatEventListener.java29
5 files changed, 33 insertions, 35 deletions
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