mirror of
https://github.com/DRE2N/DungeonsXL.git
synced 2025-02-08 08:21:53 +01:00
+DGroup#sendMessage(); Fixed NPE on quit
This commit is contained in:
parent
47e21e92f5
commit
8a63006167
@ -378,7 +378,7 @@ public class PlayerListener implements Listener {
|
||||
}
|
||||
|
||||
if (dPlayer.isInDungeonChat()) {
|
||||
dPlayer.msg(player.getDisplayName() + ": " + event.getMessage());
|
||||
dPlayer.sendMessage(player.getDisplayName() + ": " + event.getMessage());
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
@ -392,6 +392,8 @@ public class PlayerListener implements Listener {
|
||||
return;
|
||||
}
|
||||
|
||||
DGroup dGroup = DGroup.get(player);
|
||||
|
||||
// Check GameWorld
|
||||
GameWorld gameWorld = GameWorld.get(player.getWorld());
|
||||
if (gameWorld != null) {
|
||||
@ -401,11 +403,11 @@ public class PlayerListener implements Listener {
|
||||
dPlayer.leave();
|
||||
|
||||
} else if (timeUntilKickOfflinePlayer > 0) {
|
||||
dPlayer.msg(plugin.getDMessages().get("Player_Offline", dPlayer.getPlayer().getName(), "" + timeUntilKickOfflinePlayer));
|
||||
dGroup.sendMessage(plugin.getDMessages().get("Player_Offline", dPlayer.getPlayer().getName(), "" + timeUntilKickOfflinePlayer), player);
|
||||
dPlayer.setOfflineTime(System.currentTimeMillis() + timeUntilKickOfflinePlayer * 1000);
|
||||
|
||||
} else {
|
||||
dPlayer.msg(plugin.getDMessages().get("Player_OfflineNeverKick", dPlayer.getPlayer().getName()));
|
||||
dGroup.sendMessage(plugin.getDMessages().get("Player_OfflineNever", dPlayer.getPlayer().getName()), player);
|
||||
}
|
||||
|
||||
} else if (dPlayer.isEditing()) {
|
||||
|
@ -244,6 +244,31 @@ public class DGroup {
|
||||
GroupSign.updatePerGroup(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a message to all players in the group
|
||||
*/
|
||||
public void sendMessage(String message) {
|
||||
for (Player player : players) {
|
||||
if (player.isOnline()) {
|
||||
MessageUtil.sendCenteredMessage(player, message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a message to all players in the group
|
||||
*
|
||||
* @param except
|
||||
* Players who do not receive the message
|
||||
*/
|
||||
public void sendMessage(String message, Player... except) {
|
||||
for (Player player : players) {
|
||||
if (player.isOnline() && !player.equals(except)) {
|
||||
MessageUtil.sendCenteredMessage(player, message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Statics
|
||||
|
||||
public static DGroup get(Player player) {
|
||||
|
@ -345,21 +345,22 @@ public class DPlayer {
|
||||
}
|
||||
}
|
||||
|
||||
public void msg(String msg) {
|
||||
public void sendMessage(String message) {
|
||||
if (isEditing) {
|
||||
EditWorld eworld = EditWorld.get(world);
|
||||
eworld.msg(msg);
|
||||
EditWorld editWorld = EditWorld.get(world);
|
||||
editWorld.msg(message);
|
||||
for (Player player : plugin.getChatSpyers()) {
|
||||
if ( !eworld.getWorld().getPlayers().contains(player)) {
|
||||
MessageUtil.sendMessage(player, ChatColor.GREEN + "[Chatspy] " + ChatColor.WHITE + msg);
|
||||
if ( !editWorld.getWorld().getPlayers().contains(player)) {
|
||||
MessageUtil.sendMessage(player, ChatColor.GREEN + "[Chatspy] " + ChatColor.WHITE + message);
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
GameWorld gameWorld = GameWorld.get(world);
|
||||
gameWorld.msg(msg);
|
||||
gameWorld.msg(message);
|
||||
for (Player player : plugin.getChatSpyers()) {
|
||||
if ( !gameWorld.getWorld().getPlayers().contains(player)) {
|
||||
MessageUtil.sendMessage(player, ChatColor.GREEN + "[Chatspy] " + ChatColor.WHITE + msg);
|
||||
MessageUtil.sendMessage(player, ChatColor.GREEN + "[Chatspy] " + ChatColor.WHITE + message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user