From 991a5cb24c508d5ee8b383b594cf9ae5feeb5a1d Mon Sep 17 00:00:00 2001 From: snowleo Date: Fri, 3 Jun 2011 02:22:32 +0000 Subject: Fixes for XMPP: display minecraft username for players that have set their address using /setxmpp, others will have the jabber address next to the message git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@1576 e251c2fe-e539-e718-e476-b85c1f46cddb --- .../src/com/earth2me/essentials/xmpp/EssentialsXMPP.java | 6 ++++++ .../src/com/earth2me/essentials/xmpp/IEssentialsXMPP.java | 2 ++ .../src/com/earth2me/essentials/xmpp/UserManager.java | 13 +++++++++++++ .../src/com/earth2me/essentials/xmpp/XMPPManager.java | 6 +++--- 4 files changed, 24 insertions(+), 3 deletions(-) (limited to 'EssentialsXMPP') diff --git a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/EssentialsXMPP.java b/EssentialsXMPP/src/com/earth2me/essentials/xmpp/EssentialsXMPP.java index 861e8fc02..a2ee7bed1 100644 --- a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/EssentialsXMPP.java +++ b/EssentialsXMPP/src/com/earth2me/essentials/xmpp/EssentialsXMPP.java @@ -80,6 +80,12 @@ public class EssentialsXMPP extends JavaPlugin implements IEssentialsXMPP { return instance.users.getAddress(name); } + + @Override + public String getUserByAddress(final String address) + { + return instance.users.getUserByAddress(address); + } @Override public boolean toggleSpy(final Player user) diff --git a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/IEssentialsXMPP.java b/EssentialsXMPP/src/com/earth2me/essentials/xmpp/IEssentialsXMPP.java index c3509827f..c95520357 100644 --- a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/IEssentialsXMPP.java +++ b/EssentialsXMPP/src/com/earth2me/essentials/xmpp/IEssentialsXMPP.java @@ -12,6 +12,8 @@ public interface IEssentialsXMPP String getAddress(final String name); List getSpyUsers(); + + String getUserByAddress(final String address); void sendMessage(final Player user, final String message); diff --git a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/UserManager.java b/EssentialsXMPP/src/com/earth2me/essentials/xmpp/UserManager.java index bce2277d5..6a2a6e80a 100644 --- a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/UserManager.java +++ b/EssentialsXMPP/src/com/earth2me/essentials/xmpp/UserManager.java @@ -36,6 +36,19 @@ public class UserManager implements IConf { return users.getString(username.toLowerCase() + "." + ADDRESS, null); } + + public final String getUserByAddress(final String search) + { + final List usernames = users.getKeys(null); + for (String username : usernames) + { + final String address = users.getString(username + "." + ADDRESS, null); + if (address != null && search.equalsIgnoreCase(address)) { + return username; + } + } + return search; + } public void setAddress(final String username, final String address) { diff --git a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/XMPPManager.java b/EssentialsXMPP/src/com/earth2me/essentials/xmpp/XMPPManager.java index 9ce9d72e0..f750e83ed 100644 --- a/EssentialsXMPP/src/com/earth2me/essentials/xmpp/XMPPManager.java +++ b/EssentialsXMPP/src/com/earth2me/essentials/xmpp/XMPPManager.java @@ -85,7 +85,7 @@ public class XMPPManager extends Handler implements MessageListener, ChatManager sendCommand(chat, message); break; default: - parent.getServer().broadcastMessage(" " + message); + parent.getServer().broadcastMessage(" " + message); } } } @@ -258,10 +258,10 @@ public class XMPPManager extends Handler implements MessageListener, ChatManager } else { + final String from = "[X:" + EssentialsXMPP.getInstance().getUserByAddress(StringUtils.parseBareAddress(chat.getParticipant())) + ">"; for (Player p : matches) { - - p.sendMessage("[" +StringUtils.parseBareAddress(chat.getParticipant()) + ">" + p.getDisplayName() + "] " + message); + p.sendMessage(from + p.getDisplayName() + "] " + message); } } } -- cgit v1.2.3