mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-11 20:00:46 +00:00
XMPP: Let xmpp users see xmpp messages from other xmpp users.
This commit is contained in:
parent
8185b05b5d
commit
fbd9ee9453
3 changed files with 27 additions and 9 deletions
|
@ -1,6 +1,5 @@
|
||||||
package com.earth2me.essentials.xmpp;
|
package com.earth2me.essentials.xmpp;
|
||||||
|
|
||||||
import com.earth2me.essentials.Essentials;
|
|
||||||
import com.earth2me.essentials.IEssentials;
|
import com.earth2me.essentials.IEssentials;
|
||||||
import com.earth2me.essentials.Util;
|
import com.earth2me.essentials.Util;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -121,4 +120,21 @@ public class EssentialsXMPP extends JavaPlugin implements IEssentialsXMPP
|
||||||
{
|
{
|
||||||
return instance.users.getSpyUsers();
|
return instance.users.getSpyUsers();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void broadcastMessage(final String name, final String message)
|
||||||
|
{
|
||||||
|
ess.broadcastMessage(name, message);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
for (String address : EssentialsXMPP.getInstance().getSpyUsers())
|
||||||
|
{
|
||||||
|
EssentialsXMPP.getInstance().sendMessage(address, message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
// Ignore exceptions
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,11 +2,11 @@ package com.earth2me.essentials.xmpp;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
|
|
||||||
public interface IEssentialsXMPP
|
public interface IEssentialsXMPP extends Plugin
|
||||||
{
|
{
|
||||||
|
|
||||||
String getAddress(final Player user);
|
String getAddress(final Player user);
|
||||||
|
|
||||||
String getAddress(final String name);
|
String getAddress(final String name);
|
||||||
|
@ -23,4 +23,5 @@ public interface IEssentialsXMPP
|
||||||
|
|
||||||
boolean toggleSpy(final Player user);
|
boolean toggleSpy(final Player user);
|
||||||
|
|
||||||
|
void broadcastMessage(final String name, final String message);
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,14 +38,14 @@ public class XMPPManager extends Handler implements MessageListener, ChatManager
|
||||||
private transient ChatManager chatManager;
|
private transient ChatManager chatManager;
|
||||||
private final transient Map<String, Chat> chats = Collections.synchronizedMap(new HashMap<String, Chat>());
|
private final transient Map<String, Chat> chats = Collections.synchronizedMap(new HashMap<String, Chat>());
|
||||||
private final transient Set<LogRecord> logrecords = Collections.synchronizedSet(new HashSet<LogRecord>());
|
private final transient Set<LogRecord> logrecords = Collections.synchronizedSet(new HashSet<LogRecord>());
|
||||||
private final transient JavaPlugin parent;
|
private final transient IEssentialsXMPP parent;
|
||||||
private transient List<String> logUsers;
|
private transient List<String> logUsers;
|
||||||
private transient Level logLevel;
|
private transient Level logLevel;
|
||||||
private transient boolean ignoreLagMessages = true;
|
private transient boolean ignoreLagMessages = true;
|
||||||
private transient Thread loggerThread;
|
private transient Thread loggerThread;
|
||||||
private transient boolean threadrunning = true;
|
private transient boolean threadrunning = true;
|
||||||
|
|
||||||
public XMPPManager(final JavaPlugin parent)
|
public XMPPManager(final IEssentialsXMPP parent)
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
this.parent = parent;
|
this.parent = parent;
|
||||||
|
@ -101,7 +101,8 @@ public class XMPPManager extends Handler implements MessageListener, ChatManager
|
||||||
sendCommand(chat, message);
|
sendCommand(chat, message);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
parent.getServer().broadcastMessage("<X:" + EssentialsXMPP.getInstance().getUserByAddress(StringUtils.parseBareAddress(chat.getParticipant())) + "> " + message);
|
final String name = parent.getUserByAddress(StringUtils.parseBareAddress(chat.getParticipant()));
|
||||||
|
parent.broadcastMessage(name, "="+name+": "+ message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -350,7 +351,7 @@ public class XMPPManager extends Handler implements MessageListener, ChatManager
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
final String from = "[X:" + EssentialsXMPP.getInstance().getUserByAddress(StringUtils.parseBareAddress(chat.getParticipant())) + ">";
|
final String from = "[" + parent.getUserByAddress(StringUtils.parseBareAddress(chat.getParticipant())) + ">";
|
||||||
for (Player p : matches)
|
for (Player p : matches)
|
||||||
{
|
{
|
||||||
p.sendMessage(from + p.getDisplayName() + "] " + message);
|
p.sendMessage(from + p.getDisplayName() + "] " + message);
|
||||||
|
|
Loading…
Reference in a new issue