Check if the Plugin is connected before attempting to send messages

This commit is contained in:
2011-05-06 11:40:43 +01:00
parent aab8156fb0
commit d589727582
2 changed files with 18 additions and 9 deletions

View File

@@ -66,6 +66,11 @@ public class BukkitXMPP extends JavaPlugin implements PacketListener {
log.info("Connecting to XMPP"); log.info("Connecting to XMPP");
xmppconn = new XMPPConnection(server); xmppconn = new XMPPConnection(server);
xmppconn.connect(); xmppconn.connect();
if (!xmppconn.isConnected()) {
log.error("Unable to connect to the XMPP server, please check your config!");
return;
xmppconn.login(username, password); xmppconn.login(username, password);
log.info("Joining Room"); log.info("Joining Room");
@@ -104,7 +109,7 @@ public class BukkitXMPP extends JavaPlugin implements PacketListener {
log = getServer().getLogger(); log = getServer().getLogger();
final File yml = new File(getDataFolder(), "BukkitXMPP.yml"); final File yml = new File(getDataFolder(), "BukkitXMPP.yml");
log.info("Path to BukkitXMLPP.yml: " + yml.getPath()); log.info("Path to BukkitXMPP.yml: " + yml.getPath());
loadConfig(yml); loadConfig(yml);
// Register our events // Register our events
@@ -141,12 +146,17 @@ public class BukkitXMPP extends JavaPlugin implements PacketListener {
return list; return list;
} }
public void sendMUCMessage(String msg) {
if (xmppconn.isConnected() && muc.isJoined()) {
muc.sendMessage(msg)
}
public void sendMCMessage(String msg) { public void sendMCMessage(String msg) {
for(Player p: getListeners()) { for(Player p: getListeners()) {
p.sendMessage(msg); p.sendMessage(msg);
} }
} }
public void processPacket(Packet p) public void processPacket(Packet p)
{ {
if (p instanceof Message) { if (p instanceof Message) {
@@ -160,7 +170,7 @@ public class BukkitXMPP extends JavaPlugin implements PacketListener {
buffer.append(" ").append(x.getName()); buffer.append(" ").append(x.getName());
} }
try { try {
muc.sendMessage("Online Players:" + buffer); sendMUCMessage("Online Players:" + buffer);
} catch (Exception e) { } catch (Exception e) {
// TODO: fault handling // TODO: fault handling
} }

View File

@@ -22,32 +22,31 @@ public class BukkitXMPPPlayerListener extends PlayerListener {
Player p = event.getPlayer(); Player p = event.getPlayer();
String msg = event.getMessage(); String msg = event.getMessage();
try { try {
plugin.muc.sendMessage("[" + p.getDisplayName() + "] " + msg); plugin.sendMUCMessage("[" + p.getDisplayName() + "] " + msg);
} catch (Exception e) { } catch (Exception e) {
// TODO: Error handling // TODO: Error handling
} }
} }
@Override @Override
public void onPlayerQuit (PlayerQuitEvent event) { public void onPlayerQuit (PlayerQuitEvent event) {
Player p = event.getPlayer(); Player p = event.getPlayer();
try { try {
plugin.muc.sendMessage(p.getDisplayName() + " has left the server"); plugin.sendMUCMessage(p.getDisplayName() + " has left the server");
} catch (Exception e) { } catch (Exception e) {
// TODO: Error handling // TODO: Error handling
} }
} }
@Override @Override
public void onPlayerJoin (PlayerJoinEvent event) { public void onPlayerJoin (PlayerJoinEvent event) {
Player p = event.getPlayer(); Player p = event.getPlayer();
try { try {
plugin.muc.sendMessage(p.getDisplayName() + " has joined the server"); plugin.sendMUCMessage(p.getDisplayName() + " has joined the server");
} catch (Exception e) { } catch (Exception e) {
// TODO: Error handling // TODO: Error handling
} }
} }
} }