plots.chat.color
and
PLOT_CHAT_SPY_FORMAT
This commit is contained in:
Jesse Boyd 2016-11-30 15:36:13 +11:00
parent f3d950f6e1
commit 5642fd3899
No known key found for this signature in database
GPG Key ID: 59F1DE6293AF6E1F
2 changed files with 12 additions and 3 deletions

View File

@ -622,13 +622,12 @@ public class PlayerEvents extends PlotListener implements Listener {
String sender = event.getPlayer().getDisplayName(); String sender = event.getPlayer().getDisplayName();
PlotId id = plot.getId(); PlotId id = plot.getId();
Set<Player> recipients = event.getRecipients(); Set<Player> recipients = event.getRecipients();
Set<Player> spies = new HashSet<>();
recipients.clear(); recipients.clear();
for (Entry<String, PlotPlayer> entry : UUIDHandler.getPlayers().entrySet()) { for (Entry<String, PlotPlayer> entry : UUIDHandler.getPlayers().entrySet()) {
PlotPlayer pp = entry.getValue(); PlotPlayer pp = entry.getValue();
if (pp.getAttribute("chatspy")) { if (pp.getAttribute("chatspy")) {
String spy = event.getFormat(); spies.add(((BukkitPlayer) pp).player);
spy = String.format(spy, sender, message);
pp.sendMessage(spy);
} else { } else {
Plot current = pp.getCurrentPlot(); Plot current = pp.getCurrentPlot();
if (current != null && current.getBasePlot(false).equals(plot)) { if (current != null && current.getBasePlot(false).equals(plot)) {
@ -637,10 +636,19 @@ public class PlayerEvents extends PlotListener implements Listener {
} }
} }
String partial = ChatColor.translateAlternateColorCodes('&',format.replace("%plot_id%", id.x + ";" + id.y).replace("%sender%", sender)); String partial = ChatColor.translateAlternateColorCodes('&',format.replace("%plot_id%", id.x + ";" + id.y).replace("%sender%", sender));
if (plotPlayer.hasPermission("plots.chat.color")) {
message = C.color(message);
}
String full = partial.replace("%msg%", message); String full = partial.replace("%msg%", message);
for (Player receiver : recipients) { for (Player receiver : recipients) {
receiver.sendMessage(full); receiver.sendMessage(full);
} }
if (!spies.isEmpty()) {
String spyMessage = C.PLOT_CHAT_SPY_FORMAT.s().replace("%plot_id%", id.x + ";" + id.y).replace("%sender%", sender).replace("%msg%", message);
for (Player player : spies) {
player.sendMessage(spyMessage);
}
}
PS.debug(full); PS.debug(full);
} }

View File

@ -624,6 +624,7 @@ public enum C {
/* /*
* Chat * Chat
*/ */
PLOT_CHAT_SPY_FORMAT("$2[$1Plot Spy$2][$1%plot_id%$2] $1%sender%$2: $1%msg%", "Chat"),
PLOT_CHAT_FORMAT("$2[$1Plot Chat$2][$1%plot_id%$2] $1%sender%$2: $1%msg%", "Chat"), PLOT_CHAT_FORMAT("$2[$1Plot Chat$2][$1%plot_id%$2] $1%sender%$2: $1%msg%", "Chat"),
PLOT_CHAT_FORCED("$2This world forces everyone to use plot chat.", "Chat"), PLOT_CHAT_FORCED("$2This world forces everyone to use plot chat.", "Chat"),
PLOT_CHAT_ON("$4Plot chat enabled.", "Chat"), PLOT_CHAT_ON("$4Plot chat enabled.", "Chat"),