2012-04-18 19:18:25 +02:00
|
|
|
package com.gmail.nossr50.api;
|
|
|
|
|
|
|
|
import org.bukkit.entity.Player;
|
|
|
|
|
2012-06-07 00:02:22 +02:00
|
|
|
import com.gmail.nossr50.mcMMO;
|
2012-04-18 19:18:25 +02:00
|
|
|
import com.gmail.nossr50.events.chat.McMMOAdminChatEvent;
|
|
|
|
import com.gmail.nossr50.events.chat.McMMOPartyChatEvent;
|
2013-01-16 17:42:01 +01:00
|
|
|
import com.gmail.nossr50.locale.LocaleLoader;
|
2012-04-27 11:47:11 +02:00
|
|
|
import com.gmail.nossr50.util.Permissions;
|
|
|
|
import com.gmail.nossr50.util.Users;
|
2012-04-18 19:18:25 +02:00
|
|
|
|
2012-06-06 22:03:15 +02:00
|
|
|
public final class ChatAPI {
|
|
|
|
|
|
|
|
private ChatAPI() {}
|
|
|
|
|
2012-04-18 19:18:25 +02:00
|
|
|
/**
|
|
|
|
* Send a message to all members of a party
|
|
|
|
* </br>
|
|
|
|
* This function is designed for API usage.
|
|
|
|
*
|
|
|
|
* @param sender The name of the sender to display in the chat
|
|
|
|
* @param party The name of the party to send to
|
|
|
|
* @param message The message to send
|
|
|
|
*/
|
2012-06-06 22:03:15 +02:00
|
|
|
public static void sendPartyChat(String sender, String party, String message) {
|
2012-04-18 19:18:25 +02:00
|
|
|
McMMOPartyChatEvent chatEvent = new McMMOPartyChatEvent(sender, party, message);
|
2012-06-07 00:02:22 +02:00
|
|
|
mcMMO.p.getServer().getPluginManager().callEvent(chatEvent);
|
2012-04-18 19:18:25 +02:00
|
|
|
|
2012-04-19 05:34:46 +02:00
|
|
|
if (chatEvent.isCancelled()) {
|
|
|
|
return;
|
|
|
|
}
|
2012-04-18 19:18:25 +02:00
|
|
|
|
2012-06-07 00:02:22 +02:00
|
|
|
mcMMO.p.getLogger().info("[P](" + chatEvent.getParty() + ")" + "<" + chatEvent.getSender() + "> " + chatEvent.getMessage());
|
2012-04-18 19:18:25 +02:00
|
|
|
|
2012-06-07 00:02:22 +02:00
|
|
|
for (Player player : mcMMO.p.getServer().getOnlinePlayers()) {
|
2012-04-18 19:18:25 +02:00
|
|
|
if (Users.getProfile(player).inParty()) {
|
2012-06-08 23:48:41 +02:00
|
|
|
if (Users.getProfile(player).getParty().getName().equalsIgnoreCase(chatEvent.getParty())) {
|
2013-01-16 17:42:01 +01:00
|
|
|
player.sendMessage(LocaleLoader.getString("Commands.Party.Chat.Prefix", new Object[] {chatEvent.getSender()} ) + chatEvent.getMessage());
|
2012-04-18 19:18:25 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Send a message to administrators
|
|
|
|
* </br>
|
|
|
|
* This function is designed for API usage.
|
|
|
|
*
|
|
|
|
* @param sender The name of the sender to display in the chat
|
|
|
|
* @param message The message to send
|
|
|
|
*/
|
2012-06-06 22:03:15 +02:00
|
|
|
public static void sendAdminChat(String sender, String message) {
|
2012-04-18 19:18:25 +02:00
|
|
|
McMMOAdminChatEvent chatEvent = new McMMOAdminChatEvent(sender, message);
|
2012-06-07 00:02:22 +02:00
|
|
|
mcMMO.p.getServer().getPluginManager().callEvent(chatEvent);
|
2012-04-18 19:18:25 +02:00
|
|
|
|
2012-04-19 05:34:46 +02:00
|
|
|
if (chatEvent.isCancelled()) {
|
|
|
|
return;
|
|
|
|
}
|
2012-04-18 19:18:25 +02:00
|
|
|
|
2012-06-07 00:02:22 +02:00
|
|
|
mcMMO.p.getLogger().info("[A]<" + chatEvent.getSender() + "> " + chatEvent.getMessage());
|
2012-04-18 19:18:25 +02:00
|
|
|
|
2012-06-07 00:02:22 +02:00
|
|
|
for (Player player : mcMMO.p.getServer().getOnlinePlayers()) {
|
2013-01-07 02:52:31 +01:00
|
|
|
if (Permissions.adminChat(player) || player.isOp())
|
2013-01-16 17:42:01 +01:00
|
|
|
player.sendMessage(LocaleLoader.getString("Commands.AdminChat.Prefix", new Object[] {chatEvent.getSender()} ) + chatEvent.getMessage());
|
2012-04-18 19:18:25 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|