diff --git a/MineverseChat/mineverse/Aust1n46/chat/ChatMessage.java b/MineverseChat/mineverse/Aust1n46/chat/ChatMessage.java index c951f84..0315cf8 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/ChatMessage.java +++ b/MineverseChat/mineverse/Aust1n46/chat/ChatMessage.java @@ -6,13 +6,11 @@ import com.comphenix.protocol.wrappers.WrappedChatComponent; //that were sent to the player. This is a main component in making the message remover work. public class ChatMessage { private WrappedChatComponent component; - private String sender; private String message; private int hash; - public ChatMessage(WrappedChatComponent component, String sender, String message, int hash) { + public ChatMessage(WrappedChatComponent component, String message, int hash) { this.component = component; - this.sender = sender; this.message = message; this.hash = hash; } @@ -25,10 +23,6 @@ public class ChatMessage { this.component = component; } - public String getSender() { - return this.sender; - } - public String getMessage() { return this.message; } diff --git a/MineverseChat/mineverse/Aust1n46/chat/MineverseChat.java b/MineverseChat/mineverse/Aust1n46/chat/MineverseChat.java index 467a258..fcad4ec 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/MineverseChat.java +++ b/MineverseChat/mineverse/Aust1n46/chat/MineverseChat.java @@ -298,25 +298,6 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener { } } - /* - * Future SQLite data storage option SQLite SQLite = new SQLite(this, - * "PlayerData.db"); try { lite = SQLite.openConnection(); Statement - * statement = lite.createStatement(); statement.executeUpdate( - * "CREATE TABLE IF NOT EXISTS `PlayerData` (`Player` TEXT(100), `UUID` TEXT(100), `Default Channel` TEXT(100), `Ignores` TEXT(1000), `Channels` TEXT(1000), `Mutes` TEXT(1000), `Timed Mutes` TEXT(1000), `Blocked Commands` TEXT(1000), `Date` TEXT(100));" - * ); //statement.executeUpdate( - * "INSERT INTO `PlayerData` (`Player`, `UUID`, `Default Channel`, `Ignores`, `Channels`, `Mutes`, `Timed Mutes`, `Blocked Commands`, `Date`) VALUES ('bob', 'derp', 'dered', '" - * +plugin.getServer().getServerName()+ - * "', 'Messaging_Component', 'COMMAND', 'Chat', 'HI', ':D');"); - * log.info(String.format("[" + - * String.format(getConfig().getString("pluginname", "VentureChat") + - * "]" + " - Connecting to SQLite Database", - * getDescription().getName()))); } catch(ClassNotFoundException | - * SQLException e) { e.printStackTrace(); } - */ - - // this.loadCommandMap(); - // this.unregister("msg"); - commands.put("broadcast", new Broadcast("broadcast")); commands.put("channel", new Channel("channel")); commands.put("join", new Channel("join")); @@ -454,15 +435,6 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener { @Override public void run() { for(MineverseChatPlayer p : MineverseChat.players) { - // Calendar currentDate = Calendar.getInstance(); - // SimpleDateFormat formatter = new - // SimpleDateFormat("dd:HH:mm:ss"); - // String date = formatter.format(currentDate.getTime()); - // String[] datearray = date.split(":"); - // int time = (Integer.parseInt(datearray[0]) * 1440) + - // (Integer.parseInt(datearray[1]) * 60) + - // (Integer.parseInt(datearray[2])); - int time = (int) (System.currentTimeMillis() / 60000); for(String c : p.getMutes().keySet()) { @@ -478,10 +450,7 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener { } } if(getConfig().getString("loglevel", "info").equals("debug")) { - // log.info(String.format("[" + - // String.format(getConfig().getString("pluginname", - // "VentureChat") + "]" + " - Updating Player Mutes", - // getDescription().getName()))); + Bukkit.getConsoleSender().sendMessage(Format.FormatStringAll("&8[&eVentureChat&8]&e - Updating Player Mutes")); } } }, 0L, 20L); @@ -520,66 +489,6 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener { private void registerPacketListeners() { ProtocolLibrary.getProtocolManager().addPacketListener(new PacketListener()); } - - public static String toPlainText(Object o, Class c) { - List finalList = new ArrayList<>(); - StringBuilder stringbuilder = new StringBuilder(); - try { - splitComponents(finalList, o, c); - for(Object component : finalList) { - if(VersionHandler.is1_7_10()) { - stringbuilder.append((String) component.getClass().getMethod("e").invoke(component)); - } - else { - stringbuilder.append((String) component.getClass().getMethod("getText").invoke(component)); - } - } - } - catch(Exception e) { - e.printStackTrace(); - } - if(plugin.getConfig().getString("loglevel", "info").equals("debug")) { - System.out.println("my string"); - System.out.println("my string"); - System.out.println("my string"); - System.out.println("my string"); - System.out.println("my string"); - System.out.println(stringbuilder.toString()); - } - return stringbuilder.toString(); - } - - private static void splitComponents(List finalList, Object o, Class c) throws Exception { - if(plugin.getConfig().getString("loglevel", "info").equals("debug")) { - for(Method m : c.getMethods()) { - System.out.println(m.getName()); - } - } - if(VersionHandler.is1_7() || VersionHandler.is1_8() || VersionHandler.is1_9() || VersionHandler.is1_10() || VersionHandler.is1_11() || VersionHandler.is1_12() || VersionHandler.is1_13() || (VersionHandler.is1_14() && !VersionHandler.is1_14_4())) { - ArrayList list = (ArrayList) c.getMethod("a").invoke(o, new Object[0]); - for(Object component : list) { - ArrayList innerList = (ArrayList) c.getMethod("a").invoke(component, new Object[0]); - if(innerList.size() > 0) { - splitComponents(finalList, component, c); - } - else { - finalList.add(component); - } - } - } - else { - ArrayList list = (ArrayList) c.getMethod("getSiblings").invoke(o, new Object[0]); - for(Object component : list) { - ArrayList innerList = (ArrayList) c.getMethod("getSiblings").invoke(component, new Object[0]); - if(innerList.size() > 0) { - splitComponents(finalList, component, c); - } - else { - finalList.add(component); - } - } - } - } private void loadNMS() { try { diff --git a/MineverseChat/mineverse/Aust1n46/chat/api/MineverseChatPlayer.java b/MineverseChat/mineverse/Aust1n46/chat/api/MineverseChatPlayer.java index c6bac67..ced7ced 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/api/MineverseChatPlayer.java +++ b/MineverseChat/mineverse/Aust1n46/chat/api/MineverseChatPlayer.java @@ -12,7 +12,6 @@ import mineverse.Aust1n46.chat.channel.ChatChannel; import mineverse.Aust1n46.chat.json.JsonFormat; import org.bukkit.Bukkit; -import org.bukkit.ChatColor; import org.bukkit.entity.Player; //Wrapper class for Player, this class stores additional information along with a players Player pointer. @@ -465,18 +464,6 @@ public class MineverseChatPlayer { this.messages.add(message); } - public void removeMessage(ChatMessage message) { - this.messages.remove(message); - } - - public void removeMessage(int hash) { - for(ChatMessage m : this.messages) { - if(m.getHash() == hash) { - m = new ChatMessage(m.getComponent(), m.getSender(), ChatColor.RED + "Message Removed", (ChatColor.RED + "Message Removed").hashCode()); - } - } - } - public void clearMessages() { this.messages.clear(); } diff --git a/MineverseChat/mineverse/Aust1n46/chat/listeners/PacketListener.java b/MineverseChat/mineverse/Aust1n46/chat/listeners/PacketListener.java index d374297..d90d432 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/listeners/PacketListener.java +++ b/MineverseChat/mineverse/Aust1n46/chat/listeners/PacketListener.java @@ -4,7 +4,7 @@ import mineverse.Aust1n46.chat.ChatMessage; import mineverse.Aust1n46.chat.MineverseChat; import mineverse.Aust1n46.chat.api.MineverseChatAPI; import mineverse.Aust1n46.chat.api.MineverseChatPlayer; -import mineverse.Aust1n46.chat.versions.VersionHandler; +import mineverse.Aust1n46.chat.utilities.Format; import com.comphenix.protocol.PacketType; import com.comphenix.protocol.events.ListenerPriority; @@ -22,44 +22,22 @@ public class PacketListener extends PacketAdapter { @Override public void onPacketSending(PacketEvent event) { - if(event.isCancelled() || event.getPacketType() != PacketType.Play.Server.CHAT || event.getPacket().getChatComponents().read(0) == null) { + if(event.isCancelled() || event.getPacketType() != PacketType.Play.Server.CHAT) { return; } - - try { - if(VersionHandler.is1_7_10() || VersionHandler.is1_7_9() || VersionHandler.is1_7_2()) { - if((MineverseChat.posField != null) && !(((boolean) MineverseChat.posField.get(event.getPacket().getHandle())))) { - return; - } - } - else if(VersionHandler.is1_8()) { - if((MineverseChat.posField != null) && (((Byte) MineverseChat.posField.get(event.getPacket().getHandle())).intValue() > 1)) { - return; - } - } - else if(VersionHandler.is1_9() || VersionHandler.is1_10() || VersionHandler.is1_11()){ - if((MineverseChat.posField != null) && (((Byte) MineverseChat.posField.get(event.getPacket().getHandle())).intValue() > 1)) { - return; - } - } - else { - if((MineverseChat.posField != null) && ((Object) MineverseChat.posField.get(event.getPacket().getHandle())) == MineverseChat.chatMessageType.getEnumConstants()[2]) { - return; - } - } - } - catch(IllegalArgumentException | IllegalAccessException e) { - e.printStackTrace(); - } - - WrappedChatComponent chat = event.getPacket().getChatComponents().read(0); - String message = null; - int hash = -1; - message = MineverseChat.toPlainText(chat.getHandle(), chat.getHandleType()); - hash = message != null ? message.hashCode() : -1; MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(event.getPlayer()); - if((message != null) && (chat.getHandle() != null) && mcp != null) { - mcp.addMessage(new ChatMessage(chat, null, message, hash)); + if(mcp == null) { + return; } + WrappedChatComponent chat = event.getPacket().getChatComponents().read(0); + if(chat == null) { + return; + } + String message = Format.toPlainText(chat.getHandle(), chat.getHandleType()); + if(message == null) { + return; + } + int hash = message.hashCode(); + mcp.addMessage(new ChatMessage(chat, message, hash)); } } \ No newline at end of file diff --git a/MineverseChat/mineverse/Aust1n46/chat/utilities/Format.java b/MineverseChat/mineverse/Aust1n46/chat/utilities/Format.java index 0dcce6d..4ae9ca1 100644 --- a/MineverseChat/mineverse/Aust1n46/chat/utilities/Format.java +++ b/MineverseChat/mineverse/Aust1n46/chat/utilities/Format.java @@ -1,5 +1,8 @@ package mineverse.Aust1n46.chat.utilities; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -16,6 +19,7 @@ import me.clip.placeholderapi.PlaceholderAPI; import mineverse.Aust1n46.chat.MineverseChat; import mineverse.Aust1n46.chat.api.MineverseChatPlayer; import mineverse.Aust1n46.chat.json.JsonFormat; +import mineverse.Aust1n46.chat.versions.VersionHandler; //This class is where all formatting methods are stored. public class Format { @@ -304,6 +308,66 @@ public class Format { } } + public static String toPlainText(Object o, Class c) { + List finalList = new ArrayList<>(); + StringBuilder stringbuilder = new StringBuilder(); + try { + splitComponents(finalList, o, c); + for(Object component : finalList) { + if(VersionHandler.is1_7_10()) { + stringbuilder.append((String) component.getClass().getMethod("e").invoke(component)); + } + else { + stringbuilder.append((String) component.getClass().getMethod("getText").invoke(component)); + } + } + } + catch(Exception e) { + e.printStackTrace(); + } + if(plugin.getConfig().getString("loglevel", "info").equals("debug")) { + System.out.println("my string"); + System.out.println("my string"); + System.out.println("my string"); + System.out.println("my string"); + System.out.println("my string"); + System.out.println(stringbuilder.toString()); + } + return stringbuilder.toString(); + } + + private static void splitComponents(List finalList, Object o, Class c) throws Exception { + if(plugin.getConfig().getString("loglevel", "info").equals("debug")) { + for(Method m : c.getMethods()) { + System.out.println(m.getName()); + } + } + if(VersionHandler.is1_7() || VersionHandler.is1_8() || VersionHandler.is1_9() || VersionHandler.is1_10() || VersionHandler.is1_11() || VersionHandler.is1_12() || VersionHandler.is1_13() || (VersionHandler.is1_14() && !VersionHandler.is1_14_4())) { + ArrayList list = (ArrayList) c.getMethod("a").invoke(o, new Object[0]); + for(Object component : list) { + ArrayList innerList = (ArrayList) c.getMethod("a").invoke(component, new Object[0]); + if(innerList.size() > 0) { + splitComponents(finalList, component, c); + } + else { + finalList.add(component); + } + } + } + else { + ArrayList list = (ArrayList) c.getMethod("getSiblings").invoke(o, new Object[0]); + for(Object component : list) { + ArrayList innerList = (ArrayList) c.getMethod("getSiblings").invoke(component, new Object[0]); + if(innerList.size() > 0) { + splitComponents(finalList, component, c); + } + else { + finalList.add(component); + } + } + } + } + protected static Pattern chatColorPattern = Pattern.compile("(?i)&([0-9A-F])"); protected static Pattern chatMagicPattern = Pattern.compile("(?i)&([K])"); protected static Pattern chatBoldPattern = Pattern.compile("(?i)&([L])");