Cleaned up unused methods and code. Moved format methods from the main

class to the Format class.
This commit is contained in:
Aust1n46 2020-03-08 00:47:00 -05:00
parent d6451a44a7
commit 116f1b69d4
5 changed files with 80 additions and 148 deletions

View File

@ -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;
}

View File

@ -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);
@ -521,66 +490,6 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
ProtocolLibrary.getProtocolManager().addPacketListener(new PacketListener());
}
public static String toPlainText(Object o, Class<?> c) {
List<Object> 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<Object> 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 {
MineverseChat.posField = MinecraftReflection.getMinecraftClass("PacketPlayOutChat").getDeclaredField("b");

View File

@ -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();
}

View File

@ -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));
}
}

View File

@ -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<Object> 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<Object> 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])");