mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-23 10:39:05 +00:00
Fixed multimessage remover
This commit is contained in:
parent
622b2f113d
commit
0b87ebf8c4
@ -11,7 +11,6 @@ import java.io.DataOutputStream;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
@ -553,22 +552,13 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
|||||||
this.protocolManager.addPacketListener(this.packetListener);
|
this.protocolManager.addPacketListener(this.packetListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String toPlainText(Object o, Class<?> c) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
|
public static String toPlainText(Object o, Class<?> c) {
|
||||||
//System.out.println(o.getClass().getName());
|
List<Object> finalList = new ArrayList<>();
|
||||||
//System.out.println(c.getName());
|
|
||||||
/*for(Method m : c.getDeclaredMethods()) {
|
|
||||||
System.out.println(m.getName());
|
|
||||||
System.out.println(m.getGenericReturnType().toString());
|
|
||||||
}*/
|
|
||||||
ArrayList<?> list = (ArrayList<?>) c.getMethod("a").invoke(o, new Object[0]);
|
|
||||||
//System.out.println(list);
|
|
||||||
//System.out.println(list.get(0).getClass().getName());
|
|
||||||
/*for(Method m : list.get(0).getClass().getDeclaredMethods()) {
|
|
||||||
System.out.println(m.getName());
|
|
||||||
System.out.println(m.getGenericReturnType().toString());
|
|
||||||
}*/
|
|
||||||
StringBuilder stringbuilder = new StringBuilder();
|
StringBuilder stringbuilder = new StringBuilder();
|
||||||
for(Object component : list) {
|
try {
|
||||||
|
splitComponents(finalList, o, c);
|
||||||
|
|
||||||
|
for(Object component : finalList) {
|
||||||
if(VersionHandler.is1_7_10()) {
|
if(VersionHandler.is1_7_10()) {
|
||||||
stringbuilder.append((String) component.getClass().getMethod("e").invoke(component));
|
stringbuilder.append((String) component.getClass().getMethod("e").invoke(component));
|
||||||
}
|
}
|
||||||
@ -576,15 +566,34 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
|||||||
stringbuilder.append((String) component.getClass().getMethod("getText").invoke(component));
|
stringbuilder.append((String) component.getClass().getMethod("getText").invoke(component));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//System.out.println("my string");
|
}
|
||||||
//System.out.println("my string");
|
catch(Exception e) {
|
||||||
//System.out.println("my string");
|
e.printStackTrace();
|
||||||
//System.out.println("my string");
|
}
|
||||||
//System.out.println("my string");
|
if(plugin.getConfig().getString("loglevel", "info").equals("debug")) {
|
||||||
//System.out.println(stringbuilder.toString());
|
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();
|
return stringbuilder.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void splitComponents(List<Object> finalList, Object o, Class<?> c) throws Exception {
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void loadNMS() {
|
private void loadNMS() {
|
||||||
try {
|
try {
|
||||||
MineverseChat.posField = MinecraftReflection.getMinecraftClass("PacketPlayOutChat").getDeclaredField("b");
|
MineverseChat.posField = MinecraftReflection.getMinecraftClass("PacketPlayOutChat").getDeclaredField("b");
|
||||||
|
@ -142,6 +142,7 @@ public class Removemessage extends MineverseCommand {
|
|||||||
}*/
|
}*/
|
||||||
//System.out.println(message.getComponent().getJson());
|
//System.out.println(message.getComponent().getJson());
|
||||||
playerPackets.add(Removemessage.this.createPacketPlayOutChat(message.getComponent()));
|
playerPackets.add(Removemessage.this.createPacketPlayOutChat(message.getComponent()));
|
||||||
|
|
||||||
}
|
}
|
||||||
if(resend) {
|
if(resend) {
|
||||||
packets.put(p.getPlayer(), playerPackets);
|
packets.put(p.getPlayer(), playerPackets);
|
||||||
|
@ -13,7 +13,6 @@ import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
|
|||||||
import mineverse.Aust1n46.chat.utilities.Format;
|
import mineverse.Aust1n46.chat.utilities.Format;
|
||||||
import mineverse.Aust1n46.chat.versions.VersionHandler;
|
import mineverse.Aust1n46.chat.versions.VersionHandler;
|
||||||
import net.md_5.bungee.api.chat.BaseComponent;
|
import net.md_5.bungee.api.chat.BaseComponent;
|
||||||
import net.md_5.bungee.api.chat.TextComponent;
|
|
||||||
import net.md_5.bungee.chat.ComponentSerializer;
|
import net.md_5.bungee.chat.ComponentSerializer;
|
||||||
|
|
||||||
import com.comphenix.protocol.PacketType;
|
import com.comphenix.protocol.PacketType;
|
||||||
@ -98,22 +97,15 @@ public class PacketListener extends PacketAdapter {
|
|||||||
WrappedChatComponent originalChat = (WrappedChatComponent) event.getPacket().getChatComponents().read(0);
|
WrappedChatComponent originalChat = (WrappedChatComponent) event.getPacket().getChatComponents().read(0);
|
||||||
String message = null;
|
String message = null;
|
||||||
int hash = -1;
|
int hash = -1;
|
||||||
try {
|
|
||||||
//System.out.println(chat.getJson());
|
//System.out.println(chat.getJson());
|
||||||
//message = TextComponent.toPlainText(new TextComponent(chat.getJson()));
|
//message = TextComponent.toPlainText(new TextComponent(chat.getJson()));
|
||||||
//message = (String) MineverseChat.messageMethod.invoke(chat.getHandle(), new Object[0]);
|
//message = (String) MineverseChat.messageMethod.invoke(chat.getHandle(), new Object[0]);
|
||||||
//System.out.println(MineverseChat.lastChatMessage.getMessage());
|
//System.out.println(MineverseChat.lastChatMessage.getMessage());
|
||||||
|
|
||||||
message = MineverseChat.toPlainText(chat.getHandle(), chat.getHandleType());
|
message = MineverseChat.toPlainText(chat.getHandle(), chat.getHandleType());
|
||||||
//System.out.println(chat.getJson());
|
//System.out.println(chat.getJson());
|
||||||
//System.out.println(message + " message");
|
//System.out.println(message + " message");
|
||||||
hash = message != null ? message.hashCode() : -1;
|
hash = message != null ? message.hashCode() : -1;
|
||||||
}
|
//System.out.println("remover goes in here?");
|
||||||
catch(Exception ex) {
|
|
||||||
message = TextComponent.toPlainText(new TextComponent(chat.getJson()));
|
|
||||||
//System.out.println(message);
|
|
||||||
//ex.printStackTrace();
|
|
||||||
}
|
|
||||||
ChatMessage lastChatMessage = MineverseChat.lastChatMessage;
|
ChatMessage lastChatMessage = MineverseChat.lastChatMessage;
|
||||||
MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(event.getPlayer());
|
MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(event.getPlayer());
|
||||||
if(lastChatMessage != null && lastChatMessage.getHash() == hash) {
|
if(lastChatMessage != null && lastChatMessage.getHash() == hash) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user