Core/src/eu/univento/core/listeners/Chat.java

46 lines
1.4 KiB
Java

package eu.univento.core.listeners;
import eu.univento.core.api.languages.Messages;
import eu.univento.core.api.player.CustomPlayer;
import eu.univento.core.api.player.Perms.Ranks;
import eu.univento.core.api.server.ServerSettings;
import net.md_5.bungee.api.ChatColor;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
/**
* manages chat
* @author joethei
* @version 1.0
*/
public class Chat implements Listener{
/**
* @param e AsyncPlayerChatEvent
*/
@EventHandler
public void onChat(AsyncPlayerChatEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer().getName());
Messages msgs = new Messages(p);
if(ServerSettings.isMute()) {
if(!p.isAllowed(Ranks.Supporter)) {
e.setCancelled(true);
p.sendMessage(msgs.PREFIX() + msgs.Core_SERVER_MUTED());
}
}
String format;
if(p.isAllowed(Ranks.Youtuber)) {
if(p.isNicked() && !ServerSettings.isLobby()) {
format = p.getPrefix() + p.getDisplayName() + p.getSuffix() + ChatColor.translateAlternateColorCodes('&', e.getMessage());
}else {
format = p.getPrefix() + p.getDisplayName() + p.getSuffix() + ChatColor.translateAlternateColorCodes('&', e.getMessage());
}
}else {
format = p.getPrefix() + p.getDisplayName() + p.getSuffix() + e.getMessage();
}
e.setFormat(format);
}
}