package tv.mineinthebox.essentials.interfaces;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import tv.mineinthebox.essentials.xEssentials;
public class EventTemplate extends Template {
private final String prefix;
public EventTemplate(xEssentials pl, String prefix) {
super(pl);
this.prefix = ChatColor.stripColor(prefix).toLowerCase();
}
/**
* @author xize
* @param p - the sender
* @param message - the message which gets formatted
*/
public void sendMessage(CommandSender p, String message) {
String smsg = ChatColor.stripColor(message);
String[] split = smsg.split(" ");
for(String s : split) {
if(pl.getManagers().getPlayerManager().isEssentialsPlayer(s)) {
XOfflinePlayer off = pl.getManagers().getPlayerManager().getOfflinePlayer(s);
if(off.isOnline()) {
smsg = smsg.replace(s, pl.getConfiguration().getCommandConfig().getPlayerHighLight() + off.getName() + getSuffix());
} else {
smsg = smsg.replace(s, ChatColor.GRAY + "[Offline]" + pl.getConfiguration().getCommandConfig().getPlayerHighLight() + off.getName() + getSuffix());
}
}
}
p.sendMessage(String.format(getPrefix(), prefix)+getSuffix()+smsg);
}
/**
* sents a message to a other player rather than the player inside the event
*
* @author xize
*/
@Override
public void sendMessageTo(CommandSender p, String message) {
String smsg = ChatColor.stripColor(message);
String[] split = smsg.split(" ");
for(String s : split) {
if(pl.getManagers().getPlayerManager().isEssentialsPlayer(s)) {
XOfflinePlayer off = pl.getManagers().getPlayerManager().getOfflinePlayer(s);
if(off.isOnline()) {
smsg = smsg.replace(s, pl.getConfiguration().getCommandConfig().getPlayerHighLight() + off.getName() + getSuffix());
} else {
smsg = smsg.replace(s, ChatColor.GRAY + "[Offline]" + pl.getConfiguration().getCommandConfig().getPlayerHighLight() + off.getName() + getSuffix());
}
}
}
p.sendMessage(String.format(getPrefix(), prefix)+getSuffix()+smsg);
}
/**
* broadcasts the message to every player by this event
*
* @author xize
*/
@Override
public void broadcast(String message) {
String smsg = ChatColor.stripColor(message);
String[] split = smsg.split(" ");
for(String s : split) {
if(pl.getManagers().getPlayerManager().isEssentialsPlayer(s)) {
XOfflinePlayer off = pl.getManagers().getPlayerManager().getOfflinePlayer(s);
if(off.isOnline()) {
smsg = smsg.replace(s, pl.getConfiguration().getCommandConfig().getPlayerHighLight() + off.getName() + getSuffix());
} else {
smsg = smsg.replace(s, ChatColor.GRAY + "[Offline]" + pl.getConfiguration().getCommandConfig().getPlayerHighLight() + off.getName() + getSuffix());
}
}
}
Bukkit.broadcastMessage(String.format(getPrefix(), prefix)+getSuffix()+smsg);
}
/**
* @author xize
* @deprecated because for events we require a player object from a method rather than a super constructor
*/
@Override
public void sendMessage(String message) {}
}