Adding support for both display names and sender names in the chat API.

This commit is contained in:
Glitchfinder
2013-02-01 18:59:22 -05:00
parent b633f36131
commit 60033d47ec
11 changed files with 100 additions and 93 deletions

View File

@ -1,9 +1,11 @@
package com.gmail.nossr50.util;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.config.Config;
import com.gmail.nossr50.events.chat.McMMOAdminChatEvent;
import com.gmail.nossr50.events.chat.McMMOPartyChatEvent;
import com.gmail.nossr50.locale.LocaleLoader;
@ -12,41 +14,53 @@ import com.gmail.nossr50.party.Party;
public final class ChatManager {
public ChatManager () {}
public static void handleAdminChat(Plugin plugin, String playerName, String message) {
McMMOAdminChatEvent chatEvent = new McMMOAdminChatEvent(plugin, playerName, message);
public static void handleAdminChat(Plugin plugin, String playerName, String displayName, String message) {
McMMOAdminChatEvent chatEvent = new McMMOAdminChatEvent(plugin, playerName, displayName, message);
mcMMO.p.getServer().getPluginManager().callEvent(chatEvent);
if (chatEvent.isCancelled()) {
return;
}
if(Config.getInstance().getAdminDisplayNames())
displayName = chatEvent.getDisplayName();
else
displayName = chatEvent.getSender();
String adminMessage = chatEvent.getMessage();
mcMMO.p.getLogger().info("[A]<" + playerName + "> " + adminMessage);
for (Player otherPlayer : mcMMO.p.getServer().getOnlinePlayers()) {
if (Permissions.adminChat(otherPlayer) || otherPlayer.isOp()) {
otherPlayer.sendMessage(LocaleLoader.getString("Commands.AdminChat.Prefix", new Object[] {playerName}) + adminMessage);
otherPlayer.sendMessage(LocaleLoader.getString("Commands.AdminChat.Prefix", new Object[] {displayName}) + adminMessage);
}
}
displayName = ChatColor.stripColor(displayName);
mcMMO.p.getLogger().info("[A]<" + displayName + "> " + adminMessage);
}
public static void handlePartyChat(Plugin plugin, Party party, String playerName, String message) {
public static void handlePartyChat(Plugin plugin, Party party, String playerName, String displayName, String message) {
String partyName = party.getName();
McMMOPartyChatEvent chatEvent = new McMMOPartyChatEvent(plugin, playerName, partyName, message);
McMMOPartyChatEvent chatEvent = new McMMOPartyChatEvent(plugin, playerName, displayName, partyName, message);
mcMMO.p.getServer().getPluginManager().callEvent(chatEvent);
if (chatEvent.isCancelled()) {
return;
}
if(Config.getInstance().getPartyDisplayNames())
displayName = chatEvent.getDisplayName();
else
displayName = chatEvent.getSender();
String partyMessage = chatEvent.getMessage();
mcMMO.p.getLogger().info("[P](" + partyName + ")" + "<" + playerName + "> " + partyMessage);
for (Player member : party.getOnlineMembers()) {
member.sendMessage(LocaleLoader.getString("Commands.Party.Chat.Prefix", new Object[] {playerName}) + partyMessage);
member.sendMessage(LocaleLoader.getString("Commands.Party.Chat.Prefix", new Object[] {displayName}) + partyMessage);
}
displayName = ChatColor.stripColor(displayName);
mcMMO.p.getLogger().info("[P](" + partyName + ")" + "<" + displayName + "> " + partyMessage);
}
}