From fb92d82f7358501a32735372ae75d678afd69ee5 Mon Sep 17 00:00:00 2001 From: Aust1n46 Date: Sat, 7 Mar 2020 16:01:47 -0500 Subject: [PATCH] Removed AFK command and feature. Other plugins do it better and my iteration is rarely used. Cleaned up new VentureChatEvent. Cleaned up ASyncChatEvent to make it truly Async and handle player.chat() --- .../Aust1n46/chat/MineverseChat.java | 2 - .../chat/api/MineverseChatPlayer.java | 11 ---- .../Aust1n46/chat/command/chat/Chatinfo.java | 12 ---- .../Aust1n46/chat/command/message/Afk.java | 55 ----------------- .../chat/command/message/Message.java | 3 - .../Aust1n46/chat/command/message/Reply.java | 3 - .../Aust1n46/chat/listeners/ChatListener.java | 60 +++++-------------- .../chat/listeners/CommandListener.java | 14 ----- 8 files changed, 15 insertions(+), 145 deletions(-) delete mode 100644 MineverseChat/mineverse/Aust1n46/chat/command/message/Afk.java diff --git a/MineverseChat/mineverse/Aust1n46/chat/MineverseChat.java b/MineverseChat/mineverse/Aust1n46/chat/MineverseChat.java index 33083c7..b6c31a0 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/MineverseChat.java +++ b/MineverseChat/mineverse/Aust1n46/chat/MineverseChat.java @@ -76,7 +76,6 @@ import mineverse.Aust1n46.chat.command.chat.Setchannel; import mineverse.Aust1n46.chat.command.chat.Setchannelall; import mineverse.Aust1n46.chat.command.chat.VentureChatGui; import mineverse.Aust1n46.chat.command.chat.Venturechat; -import mineverse.Aust1n46.chat.command.message.Afk; import mineverse.Aust1n46.chat.command.message.Ignore; import mineverse.Aust1n46.chat.command.message.Message; import mineverse.Aust1n46.chat.command.message.MessageToggle; @@ -324,7 +323,6 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener { // this.loadCommandMap(); // this.unregister("msg"); - commands.put("afk", new Afk("afk")); commands.put("broadcast", new Broadcast("broadcast")); commands.put("channel", new Channel("channel")); commands.put("join", new Channel("join")); diff --git a/MineverseChat/mineverse/Aust1n46/chat/api/MineverseChatPlayer.java b/MineverseChat/mineverse/Aust1n46/chat/api/MineverseChatPlayer.java index c857d7e..f8b4abd 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/api/MineverseChatPlayer.java +++ b/MineverseChat/mineverse/Aust1n46/chat/api/MineverseChatPlayer.java @@ -37,7 +37,6 @@ public class MineverseChatPlayer { private UUID conversation; private boolean spy; private boolean commandSpy; - private boolean afk; private boolean quickChat; private ChatChannel quickChannel; private UUID replyPlayer; @@ -76,7 +75,6 @@ public class MineverseChatPlayer { this.spy = spy; this.rangedSpy = rangedSpy; this.commandSpy = commandSpy; - this.afk = false; this.quickChat = false; this.quickChannel = null; this.replyPlayer = null; @@ -111,7 +109,6 @@ public class MineverseChatPlayer { this.spy = spy; this.rangedSpy = rangedSpy; this.commandSpy = commandSpy; - this.afk = false; this.quickChat = false; this.quickChannel = null; this.replyPlayer = null; @@ -387,14 +384,6 @@ public class MineverseChatPlayer { this.commandSpy = commandSpy; } - public boolean isAFK() { - return this.afk; - } - - public void setAFK(boolean afk) { - this.afk = afk; - } - public boolean isQuickChat() { return this.quickChat; } diff --git a/MineverseChat/mineverse/Aust1n46/chat/command/chat/Chatinfo.java b/MineverseChat/mineverse/Aust1n46/chat/command/chat/Chatinfo.java index 6aba9e1..6231f41 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/command/chat/Chatinfo.java +++ b/MineverseChat/mineverse/Aust1n46/chat/command/chat/Chatinfo.java @@ -68,12 +68,6 @@ public class Chatinfo extends MineverseCommand { else { mcp.getPlayer().sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.RED + "N/A"); } - if(mcp.isAFK()) { - mcp.getPlayer().sendMessage(ChatColor.GOLD + "AFK: " + ChatColor.GREEN + "true"); - } - else { - mcp.getPlayer().sendMessage(ChatColor.GOLD + "AFK: " + ChatColor.RED + "false"); - } if(mcp.isSpy()) { mcp.getPlayer().sendMessage(ChatColor.GOLD + "Spy: " + ChatColor.GREEN + "true"); } @@ -135,12 +129,6 @@ public class Chatinfo extends MineverseCommand { else { sender.sendMessage(ChatColor.GOLD + "Private conversation: " + ChatColor.RED + "N/A"); } - if(p.isAFK()) { - sender.sendMessage(ChatColor.GOLD + "AFK: " + ChatColor.GREEN + "true"); - } - else { - sender.sendMessage(ChatColor.GOLD + "AFK: " + ChatColor.RED + "false"); - } if(p.isSpy()) { sender.sendMessage(ChatColor.GOLD + "Spy: " + ChatColor.GREEN + "true"); } diff --git a/MineverseChat/mineverse/Aust1n46/chat/command/message/Afk.java b/MineverseChat/mineverse/Aust1n46/chat/command/message/Afk.java deleted file mode 100644 index 4998c9c..0000000 --- a/MineverseChat/mineverse/Aust1n46/chat/command/message/Afk.java +++ /dev/null @@ -1,55 +0,0 @@ -package mineverse.Aust1n46.chat.command.message; - -import org.bukkit.ChatColor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import mineverse.Aust1n46.chat.MineverseChat; -import mineverse.Aust1n46.chat.api.MineverseChatAPI; -import mineverse.Aust1n46.chat.api.MineverseChatPlayer; -import mineverse.Aust1n46.chat.command.MineverseCommand; - -public class Afk extends MineverseCommand { - private MineverseChat plugin; - - public Afk(String name) { - super(name); - this.plugin = MineverseChat.getInstance(); - } - - @Override - public void execute(CommandSender sender, String command, String[] args) { - if(!(sender instanceof Player)) { - plugin.getServer().getConsoleSender().sendMessage(ChatColor.RED + "This command must be run by a player."); - return; - } - - MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer((Player) sender); - if(args.length >= 0) { - if(!mcp.isAFK()) { - mcp.setAFK(true); - mcp.getPlayer().sendMessage(ChatColor.GOLD + "You are now AFK."); - if(plugin.getConfig().getBoolean("broadcastafk")) { - for(MineverseChatPlayer p : MineverseChat.players) { - if(p.isOnline() && !p.getName().equals(mcp.getName())) { - p.getPlayer().sendMessage(ChatColor.GOLD + mcp.getName() + " is now AFK."); - } - } - } - return; - } - else { - mcp.setAFK(false); - mcp.getPlayer().sendMessage(ChatColor.GOLD + "You are no longer AFK."); - if(plugin.getConfig().getBoolean("broadcastafk")) { - for(MineverseChatPlayer p : MineverseChat.players) { - if(p.isOnline() && !p.getName().equals(mcp.getName())) { - p.getPlayer().sendMessage(ChatColor.GOLD + mcp.getName() + " is no longer AFK."); - } - } - } - return; - } - } - } -} \ No newline at end of file diff --git a/MineverseChat/mineverse/Aust1n46/chat/command/message/Message.java b/MineverseChat/mineverse/Aust1n46/chat/command/message/Message.java index af809e8..ed1bbe2 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/command/message/Message.java +++ b/MineverseChat/mineverse/Aust1n46/chat/command/message/Message.java @@ -136,9 +136,6 @@ public class Message extends MineverseCommand { if(mcp.getPlayer().hasPermission("venturechat.format")) { msg = Format.FormatString(msg); } - if(player.isAFK()) { - mcp.getPlayer().sendMessage(ChatColor.GOLD + player.getName() + " is currently afk and might be unable to chat at this time."); - } if(plugin.getConfig().getString("tellformatto").equalsIgnoreCase("Default")) { echo = "You message " + player.getNickname() + ":" + ChatColor.valueOf(cc.tellColor.toUpperCase()) + msg; } diff --git a/MineverseChat/mineverse/Aust1n46/chat/command/message/Reply.java b/MineverseChat/mineverse/Aust1n46/chat/command/message/Reply.java index d7f6701..4586509 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/command/message/Reply.java +++ b/MineverseChat/mineverse/Aust1n46/chat/command/message/Reply.java @@ -113,9 +113,6 @@ public class Reply extends MineverseCommand { if(mcp.getPlayer().hasPermission("venturechat.format")) { msg = Format.FormatString(msg); } - if(player.isAFK()) { - mcp.getPlayer().sendMessage(ChatColor.GOLD + player.getNickname() + " is currently afk and might be unable to chat at this time."); - } if(plugin.getConfig().getString("replyformatto").equalsIgnoreCase("Default")) { echo = "You reply to " + player.getNickname() + ":" + ChatColor.valueOf(cc.tellColor.toUpperCase()) + msg; } diff --git a/MineverseChat/mineverse/Aust1n46/chat/listeners/ChatListener.java b/MineverseChat/mineverse/Aust1n46/chat/listeners/ChatListener.java index 2aa5ff4..4cddbfd 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/listeners/ChatListener.java +++ b/MineverseChat/mineverse/Aust1n46/chat/listeners/ChatListener.java @@ -17,7 +17,6 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.plugin.PluginManager; import com.comphenix.protocol.events.PacketContainer; @@ -52,26 +51,20 @@ public class ChatListener implements Listener { } - @EventHandler(priority = EventPriority.MONITOR) - public void onPlayerMove(PlayerMoveEvent event) { - /* - * MineverseChatPlayer mcp = - * MineverseChatAPI.getMineverseChatPlayer(event.getPlayer()); - * if(mcp.isAFK()) { mcp.setAFK(false); - * mcp.getPlayer().sendMessage(ChatColor.GOLD + "You are no longer AFK." - * ); if(plugin.getConfig().getBoolean("broadcastafk")) { - * for(MineverseChatPlayer p : MineverseChat.players) { if(p.isOnline() - * && !p.getName().equals(mcp.getName())) { - * p.getPlayer().sendMessage(ChatColor.GOLD + mcp.getName() + - * " is no longer AFK."); } } } } - */ - } - - @EventHandler(priority = EventPriority.HIGHEST) + // this event isn't always asynchronous even though the event's name starts with "Async" + // blame md_5 for that one (•_•) + @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onAsyncPlayerChatEvent(AsyncPlayerChatEvent event) { - if(event.isCancelled()) { - return; - } + event.setCancelled(true); + Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() { + @Override + public void run() { + handleTrueAsyncPlayerChatEvent(event); + } + }); + } + + public void handleTrueAsyncPlayerChatEvent(AsyncPlayerChatEvent event) { boolean bungee = false; String chat = event.getMessage(); String format; @@ -82,7 +75,6 @@ public class ChatListener implements Listener { if(mcp.isEditing()) { mcp.getPlayer().sendMessage(Format.FormatStringAll(chat)); mcp.setEditing(false); - event.setCancelled(true); return; } @@ -90,18 +82,6 @@ public class ChatListener implements Listener { eventChannel = mcp.getQuickChannel(); } - if(mcp.isAFK()) { - mcp.setAFK(false); - mcp.getPlayer().sendMessage(ChatColor.GOLD + "You are no longer AFK."); - if(plugin.getConfig().getBoolean("broadcastafk")) { - for(MineverseChatPlayer p : MineverseChat.onlinePlayers) { - if(!p.getName().equals(mcp.getName())) { - p.getPlayer().sendMessage(ChatColor.GOLD + mcp.getName() + " is no longer AFK."); - } - } - } - } - if(mcp.hasConversation() && !mcp.isQuickChat()) { MineverseChatPlayer tp = MineverseChatAPI.getMineverseChatPlayer(mcp.getConversation()); if(!tp.isOnline()) { @@ -118,12 +98,10 @@ public class ChatListener implements Listener { else { if(tp.getIgnores().contains(mcp.getUUID())) { mcp.getPlayer().sendMessage(ChatColor.GOLD + tp.getName() + " is currently ignoring your messages."); - event.setCancelled(true); return; } if(!tp.getMessageToggle()) { mcp.getPlayer().sendMessage(ChatColor.GOLD + tp.getName() + " is currently blocking messages."); - event.setCancelled(true); return; } String filtered = chat; @@ -185,7 +163,6 @@ public class ChatListener implements Listener { DatabaseSender.writeToMySQL("ChatTime", "UUID", "Name", "Server", "Channel", "Text", "Type", date, mcp.getUUID().toString(), mcp.getName(), plugin.getServer().getName(), "Messaging_Component", chat.replace("'", "''"), "Chat"); } } - event.setCancelled(true); return; } @@ -228,11 +205,9 @@ public class ChatListener implements Listener { e.printStackTrace(); } } - event.setCancelled(true); return; } mcp.getPlayer().sendMessage(ChatColor.RED + "You are not in a party."); - event.setCancelled(true); return; } @@ -261,7 +236,6 @@ public class ChatListener implements Listener { } mcp.getPlayer().sendMessage(ChatColor.RED + "You are muted in this channel: " + ChatColor.valueOf(eventChannel.getColor().toUpperCase()) + eventChannel.getName() + timedMute); mcp.setQuickChat(false); - event.setCancelled(true); return; } Double chDistance = (double) 0; @@ -272,7 +246,6 @@ public class ChatListener implements Listener { mcp.setQuickChat(false); mcp.removeListening(eventChannel.getName()); mcp.setCurrentChannel(cc.getDefaultChannel()); - event.setCancelled(true); return; } curColor = eventChannel.getChatColor().toUpperCase(); @@ -292,7 +265,6 @@ public class ChatListener implements Listener { if(remaining == 1) keyword = "second"; mcp.getPlayer().sendMessage(ChatColor.RED + "" + remaining + " " + keyword + " of cooldown remaining."); mcp.setQuickChat(false); - event.setCancelled(true); bungee = false; return; } @@ -326,7 +298,6 @@ public class ChatListener implements Listener { mcp.getSpam().get(eventChannel).set(0, 0); mcp.getPlayer().sendMessage(ChatColor.RED + "You have been muted for spamming in: " + ChatColor.valueOf(eventChannel.getColor().toUpperCase()) + eventChannel.getName() + timedmute); mcp.setQuickChat(false); - event.setCancelled(true); return; } else { @@ -491,11 +462,10 @@ public class ChatListener implements Listener { VentureChatEvent ventureChatEvent = new VentureChatEvent(mcp, eventChannel, recipients, format, chat, globalJSON, hash, bungee); Bukkit.getServer().getPluginManager().callEvent(ventureChatEvent); - event.setCancelled(true); + handleVentureChatEvent(ventureChatEvent); } - @EventHandler(priority = EventPriority.NORMAL) - public void onVentureChatEvent(VentureChatEvent event) { + public void handleVentureChatEvent(VentureChatEvent event) { MineverseChatPlayer mcp = event.getMineverseChatPlayer(); ChatChannel channel = event.getChannel(); Set recipients = event.getRecipients(); diff --git a/MineverseChat/mineverse/Aust1n46/chat/listeners/CommandListener.java b/MineverseChat/mineverse/Aust1n46/chat/listeners/CommandListener.java index 9833d78..602a011 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/listeners/CommandListener.java +++ b/MineverseChat/mineverse/Aust1n46/chat/listeners/CommandListener.java @@ -67,20 +67,6 @@ public class CommandListener implements CommandExecutor, Listener { } } - if(!event.getMessage().startsWith("/afk")) { - if(mcp.isAFK()) { - mcp.setAFK(false); - mcp.getPlayer().sendMessage(ChatColor.GOLD + "You are no longer AFK."); - if(plugin.getConfig().getBoolean("broadcastafk")) { - for(MineverseChatPlayer p : MineverseChat.players) { - if(p.isOnline() && mcp.getName() != p.getName()) { - p.getPlayer().sendMessage(ChatColor.GOLD + mcp.getName() + " is no longer AFK."); - } - } - } - } - } - String[] blocked = event.getMessage().split(" "); if(mcp.getBlockedCommands().contains(blocked[0])) { mcp.getPlayer().sendMessage(ChatColor.RED + "You are blocked from entering this command: " + event.getMessage());