mirror of
https://github.com/Aust1n46/VentureChat.git
synced 2025-05-22 18:09:06 +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.IOException;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
@ -553,37 +552,47 @@ public class MineverseChat extends JavaPlugin implements PluginMessageListener {
|
||||
this.protocolManager.addPacketListener(this.packetListener);
|
||||
}
|
||||
|
||||
public static String toPlainText(Object o, Class<?> c) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
|
||||
//System.out.println(o.getClass().getName());
|
||||
//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());
|
||||
}*/
|
||||
public static String toPlainText(Object o, Class<?> c) {
|
||||
List<Object> finalList = new ArrayList<>();
|
||||
StringBuilder stringbuilder = new StringBuilder();
|
||||
for(Object component : list) {
|
||||
if(VersionHandler.is1_7_10()) {
|
||||
stringbuilder.append((String) component.getClass().getMethod("e").invoke(component));
|
||||
}
|
||||
else {
|
||||
stringbuilder.append((String) component.getClass().getMethod("getText").invoke(component));
|
||||
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));
|
||||
}
|
||||
}
|
||||
}
|
||||
//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());
|
||||
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 {
|
||||
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() {
|
||||
try {
|
||||
|
@ -142,6 +142,7 @@ public class Removemessage extends MineverseCommand {
|
||||
}*/
|
||||
//System.out.println(message.getComponent().getJson());
|
||||
playerPackets.add(Removemessage.this.createPacketPlayOutChat(message.getComponent()));
|
||||
|
||||
}
|
||||
if(resend) {
|
||||
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.versions.VersionHandler;
|
||||
import net.md_5.bungee.api.chat.BaseComponent;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
import net.md_5.bungee.chat.ComponentSerializer;
|
||||
|
||||
import com.comphenix.protocol.PacketType;
|
||||
@ -98,22 +97,15 @@ public class PacketListener extends PacketAdapter {
|
||||
WrappedChatComponent originalChat = (WrappedChatComponent) event.getPacket().getChatComponents().read(0);
|
||||
String message = null;
|
||||
int hash = -1;
|
||||
try {
|
||||
//System.out.println(chat.getJson());
|
||||
//message = TextComponent.toPlainText(new TextComponent(chat.getJson()));
|
||||
//message = (String) MineverseChat.messageMethod.invoke(chat.getHandle(), new Object[0]);
|
||||
//System.out.println(MineverseChat.lastChatMessage.getMessage());
|
||||
|
||||
message = MineverseChat.toPlainText(chat.getHandle(), chat.getHandleType());
|
||||
//System.out.println(chat.getJson());
|
||||
//System.out.println(message + " message");
|
||||
hash = message != null ? message.hashCode() : -1;
|
||||
}
|
||||
catch(Exception ex) {
|
||||
message = TextComponent.toPlainText(new TextComponent(chat.getJson()));
|
||||
//System.out.println(message);
|
||||
//ex.printStackTrace();
|
||||
}
|
||||
//System.out.println(chat.getJson());
|
||||
//message = TextComponent.toPlainText(new TextComponent(chat.getJson()));
|
||||
//message = (String) MineverseChat.messageMethod.invoke(chat.getHandle(), new Object[0]);
|
||||
//System.out.println(MineverseChat.lastChatMessage.getMessage());
|
||||
message = MineverseChat.toPlainText(chat.getHandle(), chat.getHandleType());
|
||||
//System.out.println(chat.getJson());
|
||||
//System.out.println(message + " message");
|
||||
hash = message != null ? message.hashCode() : -1;
|
||||
//System.out.println("remover goes in here?");
|
||||
ChatMessage lastChatMessage = MineverseChat.lastChatMessage;
|
||||
MineverseChatPlayer mcp = MineverseChatAPI.getMineverseChatPlayer(event.getPlayer());
|
||||
if(lastChatMessage != null && lastChatMessage.getHash() == hash) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user