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();
@ -46,7 +48,7 @@ public interface IEssentials extends Plugin
Methods getPaymentMethod(); Methods getPaymentMethod();
BukkitTask runTaskAsynchronously(Runnable run); BukkitTask runTaskAsynchronously(Runnable run);
BukkitTask runTaskLaterAsynchronously(Runnable run, long delay); BukkitTask runTaskLaterAsynchronously(Runnable run, long delay);
int scheduleSyncDelayedTask(Runnable run); int scheduleSyncDelayedTask(Runnable run);
@ -66,12 +68,12 @@ public interface IEssentials extends Plugin
ItemDb getItemDb(); ItemDb getItemDb();
UserMap getUserMap(); UserMap getUserMap();
Metrics getMetrics(); Metrics getMetrics();
void setMetrics(Metrics metrics); void setMetrics(Metrics metrics);
EssentialsTimer getTimer(); EssentialsTimer getTimer();
List<String> getVanishedPlayers(); List<String> getVanishedPlayers();
} }

View File

@ -67,21 +67,14 @@ public class Commandban extends EssentialsCommand
user.setBanned(true); user.setBanned(true);
user.setBanTimeout(0); user.setBanTimeout(0);
user.kickPlayer(_("banFormat", banReason, senderName)); user.kickPlayer(_("banFormat", banReason, senderName));
server.getLogger().log(Level.INFO, _("playerBanned", senderName, user.getName(), banReason)); server.getLogger().log(Level.INFO, _("playerBanned", senderName, user.getName(), banReason));
if (nomatch) if (nomatch)
{ {
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

@ -43,14 +43,7 @@ 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

@ -59,14 +59,7 @@ public class Commandtempban extends EssentialsCommand
user.setBanTimeout(banTimestamp); user.setBanTimeout(banTimestamp);
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

@ -45,14 +45,7 @@ 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));
}
}
} }
} }