Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.mttprvst13;
- import org.bukkit.ChatColor;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- public class ChatListener implements Listener {
- Main plugin;
- public ChatListener(Main main) {
- plugin = main;
- }
- @SuppressWarnings("deprecation")
- @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
- public void onPlayerChat(AsyncPlayerChatEvent e) {
- Player player = (Player) e.getPlayer();
- String chatmsg = e.getMessage();
- if(player.hasPermission("tellme.color")){
- chatmsg = plugin.colorize(chatmsg);
- }
- String msg = null;
- boolean local = true;
- if(e.getMessage().startsWith("!")){
- if(!player.hasPermission("tellme.shout")){
- player.sendMessage(ChatColor.RED + "You are not allowed to shout.");
- msg = "";
- e.setCancelled(true);
- }else{
- local = false;
- String form = plugin.getConfig().getString("Formats.Message-Format");
- msg = plugin.formatChat(player, form);
- chatmsg = chatmsg.substring(1);
- }
- }
- if(e.getMessage().startsWith("@")){
- if(!player.hasPermission("tellme.msg")){
- player.sendMessage(ChatColor.RED + "You are not allowed to send private messages.");
- msg = "";
- e.setCancelled(true);
- }else{
- msg = e.getMessage().substring(1);
- String[] messageSplit = msg.split(" ");
- Player reciever = plugin.getServer().getPlayer(messageSplit[0]);
- if(reciever == null){
- player.sendMessage(ChatColor.RED + "That player is not online.");
- msg = "";
- e.setCancelled(true);
- }else{
- local = false;
- String form = plugin.getConfig().getString("Formats.PM-Format");
- form = form.replaceAll("%RECIVER%", messageSplit[0]);
- msg = plugin.formatChat(player, form);
- e.getRecipients().clear();
- e.getRecipients().add(player);
- e.getRecipients().add(reciever);
- e.getRecipients().addAll(plugin.getSpies());
- chatmsg = chatmsg.substring(messageSplit[0].length()+1);
- }
- }
- }
- if(local){
- if(plugin.getConfig().getBoolean("Chat-Range.Chat-Range", true)){
- String form = plugin.getConfig().getString("Formats.Local-Format");
- msg = plugin.formatChat(player, form);
- double range = plugin.getConfig().getInt("Chat-Range.Range");
- e.getRecipients().clear();
- e.getRecipients().addAll(plugin.getLocalRecipients(player, msg, range));
- e.getRecipients().addAll(plugin.getSpies());
- }else{
- String form = plugin.getConfig().getString("Formats.Message-Format");
- msg = plugin.formatChat(player, form);
- }
- }
- if(player.hasPermission("tellme.color")){
- chatmsg = plugin.colorize(chatmsg);
- }
- msg = msg.replace("%MESSAGE%", "%2$s");
- msg = plugin.colorize(msg);
- if(!plugin.filter(player, chatmsg)){
- e.setCancelled(true);
- }
- e.setFormat(msg);
- e.setMessage(chatmsg);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement