Reduce duplicated broadcast code.

This commit is contained in:
KHobbits 2013-05-26 17:58:04 +01:00
parent 423c8c54dc
commit 6512a53a3f
9 changed files with 34 additions and 70 deletions

View file

@ -615,11 +615,22 @@ public class Essentials extends JavaPlugin implements IEssentials
@Override @Override
public int broadcastMessage(final IUser sender, final String message) public int broadcastMessage(final IUser sender, final String message)
{ {
if (sender == null) return broadcastMessage(sender, null, message);
}
@Override
public int broadcastMessage(final CommandSender sender, final String permission, final String message)
{
return broadcastMessage(null, permission, message);
}
private int broadcastMessage(final IUser sender, final String permission, final String message)
{
if (sender == null && permission == null)
{ {
return getServer().broadcastMessage(message); return getServer().broadcastMessage(message);
} }
if (sender.isHidden()) if (sender != null && sender.isHidden())
{ {
return 0; return 0;
} }
@ -628,7 +639,8 @@ public class Essentials extends JavaPlugin implements IEssentials
for (Player player : players) for (Player player : players)
{ {
final User user = getUser(player); final User user = getUser(player);
if (!user.isIgnoredPlayer(sender)) if ((permission == null && (sender == null || !user.isIgnoredPlayer(sender)))
|| (permission != null && user.isAuthorized(permission)))
{ {
player.sendMessage(message); player.sendMessage(message);
} }

View file

@ -31,6 +31,8 @@ public interface IEssentials extends Plugin
int broadcastMessage(IUser sender, String message); int broadcastMessage(IUser sender, String message);
int broadcastMessage(CommandSender sender, String permission, String message);
ISettings getSettings(); ISettings getSettings();
BukkitScheduler getScheduler(); BukkitScheduler getScheduler();

View file

@ -75,13 +75,6 @@ public class Commandban extends EssentialsCommand
sender.sendMessage(_("userUnknown", user.getName())); sender.sendMessage(_("userUnknown", user.getName()));
} }
for (Player onlinePlayer : server.getOnlinePlayers()) ess.broadcastMessage(sender, "essentials.ban.notify", _("playerBanned", senderName, user.getName(), banReason));
{
final User player = ess.getUser(onlinePlayer);
if (onlinePlayer == sender || player.isAuthorized("essentials.ban.notify"))
{
onlinePlayer.sendMessage(_("playerBanned", senderName, user.getName(), banReason));
}
}
} }
} }

View file

@ -44,13 +44,6 @@ public class Commandbanip extends EssentialsCommand
ess.getServer().banIP(ipAddress); ess.getServer().banIP(ipAddress);
server.getLogger().log(Level.INFO, _("playerBanIpAddress", senderName, ipAddress)); server.getLogger().log(Level.INFO, _("playerBanIpAddress", senderName, ipAddress));
for (Player onlinePlayer : server.getOnlinePlayers()) ess.broadcastMessage(sender, "essentials.ban.notify", _("playerBanIpAddress", senderName, ipAddress));
{
final User onlineUser = ess.getUser(onlinePlayer);
if (onlinePlayer == sender || onlineUser.isAuthorized("essentials.ban.notify"))
{
onlinePlayer.sendMessage(_("playerBanIpAddress", senderName, ipAddress));
}
}
} }
} }

View file

@ -47,14 +47,6 @@ public class Commandkick extends EssentialsCommand
final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME; final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME;
server.getLogger().log(Level.INFO, _("playerKicked", senderName, target.getName(), kickReason)); server.getLogger().log(Level.INFO, _("playerKicked", senderName, target.getName(), kickReason));
ess.broadcastMessage(sender, "essentials.kick.notify", _("playerKicked", senderName, target.getName(), kickReason));
for (Player onlinePlayer : server.getOnlinePlayers())
{
User player = ess.getUser(onlinePlayer);
if (player.isAuthorized("essentials.kick.notify"))
{
onlinePlayer.sendMessage(_("playerKicked", senderName, target.getName(), kickReason));
}
}
} }
} }

View file

@ -54,14 +54,7 @@ public class Commandmute extends EssentialsCommand
sender.sendMessage(_("mutedPlayer", player.getDisplayName())); sender.sendMessage(_("mutedPlayer", player.getDisplayName()));
player.sendMessage(_("playerMuted")); player.sendMessage(_("playerMuted"));
} }
for (Player onlinePlayer : server.getOnlinePlayers()) ess.broadcastMessage(sender, "essentials.mute.notify", _("muteNotify", sender.getName(), player.getName()));
{
final User user = ess.getUser(onlinePlayer);
if (onlinePlayer != sender && user.isAuthorized("essentials.mute.notify"))
{
onlinePlayer.sendMessage(_("muteNotify", sender.getName(), player.getName()));
}
}
} }
else else
{ {

View file

@ -60,13 +60,6 @@ public class Commandtempban extends EssentialsCommand
user.setBanned(true); user.setBanned(true);
user.kickPlayer(banReason); user.kickPlayer(banReason);
for (Player onlinePlayer : server.getOnlinePlayers()) ess.broadcastMessage(sender, "essentials.ban.notify", _("playerBanned", senderName, user.getName(), banReason));
{
final User player = ess.getUser(onlinePlayer);
if (player.isAuthorized("essentials.ban.notify"))
{
onlinePlayer.sendMessage(_("playerBanned", senderName, user.getName(), banReason));
}
}
} }
} }

View file

@ -46,13 +46,6 @@ public class Commandunban extends EssentialsCommand
final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME; final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME;
server.getLogger().log(Level.INFO, _("playerUnbanned", senderName, name)); server.getLogger().log(Level.INFO, _("playerUnbanned", senderName, name));
for (Player onlinePlayer : server.getOnlinePlayers()) ess.broadcastMessage(sender, "essentials.ban.notify", _("playerUnbanned", senderName, name));
{
final User onlineUser = ess.getUser(onlinePlayer);
if (onlinePlayer == sender || onlineUser.isAuthorized("essentials.ban.notify"))
{
onlinePlayer.sendMessage(_("playerUnbanned", senderName, name));
}
}
} }
} }

View file

@ -43,13 +43,6 @@ public class Commandunbanip extends EssentialsCommand
final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME; final String senderName = sender instanceof Player ? ((Player)sender).getDisplayName() : Console.NAME;
server.getLogger().log(Level.INFO, _("playerUnbanIpAddress", senderName, ipAddress)); server.getLogger().log(Level.INFO, _("playerUnbanIpAddress", senderName, ipAddress));
for (Player onlinePlayer : server.getOnlinePlayers()) ess.broadcastMessage(sender, "essentials.ban.notify", _("playerUnbanIpAddress", senderName, ipAddress));
{
final User onlineUser = ess.getUser(onlinePlayer);
if (onlinePlayer == sender || onlineUser.isAuthorized("essentials.ban.notify"))
{
onlinePlayer.sendMessage(_("playerUnbanIpAddress", senderName, ipAddress));
}
}
} }
} }