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

View File

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