feat: add chat packet types [S] [P] [D] to logger and console, but not discord, irc, nor any other places to save space since they have limited message length
This commit is contained in:
@@ -1 +1 @@
|
||||
3504
|
||||
3506
|
||||
@@ -1,7 +1,13 @@
|
||||
package me.chayapak1.chomens_bot.data.chat;
|
||||
|
||||
public enum ChatPacketType {
|
||||
PLAYER,
|
||||
DISGUISED,
|
||||
SYSTEM
|
||||
PLAYER("P"),
|
||||
DISGUISED("D"),
|
||||
SYSTEM("S");
|
||||
|
||||
public final String shortName;
|
||||
|
||||
ChatPacketType (final String shortName) {
|
||||
this.shortName = shortName;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ public interface Listener {
|
||||
|
||||
// chat
|
||||
default boolean onPlayerMessageReceived (final PlayerMessage message, final ChatPacketType packetType) { return true; }
|
||||
default boolean onSystemMessageReceived (final Component component, final String string, final String ansi) { return true; }
|
||||
default boolean onSystemMessageReceived (final Component component, final ChatPacketType packetType, final String string, final String ansi) { return true; }
|
||||
|
||||
// commandspy
|
||||
default void onCommandSpyMessageReceived (final PlayerEntry sender, final String command) { }
|
||||
|
||||
@@ -126,7 +126,7 @@ public class ChatPlugin implements Listener {
|
||||
|
||||
final PlayerMessage finalPlayerMessage = playerMessage; // ???
|
||||
bot.listener.dispatchWithCheck(listener -> {
|
||||
if (!listener.onSystemMessageReceived(component, string, ansi)) return false;
|
||||
if (!listener.onSystemMessageReceived(component, ChatPacketType.SYSTEM, string, ansi)) return false;
|
||||
|
||||
return finalPlayerMessage == null
|
||||
|| listener.onPlayerMessageReceived(finalPlayerMessage, ChatPacketType.SYSTEM);
|
||||
@@ -233,7 +233,7 @@ public class ChatPlugin implements Listener {
|
||||
|
||||
bot.listener.dispatchWithCheck(listener -> {
|
||||
if (!listener.onPlayerMessageReceived(playerMessage, ChatPacketType.PLAYER)) return false;
|
||||
return listener.onSystemMessageReceived(systemComponent, string, ansi);
|
||||
return listener.onSystemMessageReceived(systemComponent, ChatPacketType.PLAYER, string, ansi);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -258,8 +258,8 @@ public class ChatPlugin implements Listener {
|
||||
final String string = ComponentUtilities.stringify(chatTypeComponent);
|
||||
final String ansi = ComponentUtilities.stringifyAnsi(chatTypeComponent);
|
||||
|
||||
bot.listener.dispatchWithCheck(listener ->
|
||||
listener.onSystemMessageReceived(chatTypeComponent, string, ansi));
|
||||
bot.listener.dispatchWithCheck(listener -> listener.onSystemMessageReceived(
|
||||
chatTypeComponent, ChatPacketType.DISGUISED, string, ansi));
|
||||
|
||||
for (final ChatParser parser : chatParsers) {
|
||||
final PlayerMessage parsed = parser.parse(chatTypeComponent);
|
||||
@@ -290,7 +290,7 @@ public class ChatPlugin implements Listener {
|
||||
|
||||
bot.listener.dispatchWithCheck(listener -> {
|
||||
if (!listener.onPlayerMessageReceived(playerMessage, ChatPacketType.DISGUISED)) return false;
|
||||
return listener.onSystemMessageReceived(component, string, ansi);
|
||||
return listener.onSystemMessageReceived(component, ChatPacketType.DISGUISED, string, ansi);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ import me.chayapak1.chomens_bot.chomeNSMod.clientboundPackets.ClientboundMessage
|
||||
import me.chayapak1.chomens_bot.chomeNSMod.serverboundPackets.ServerboundRunCommandPacket;
|
||||
import me.chayapak1.chomens_bot.chomeNSMod.serverboundPackets.ServerboundRunCoreCommandPacket;
|
||||
import me.chayapak1.chomens_bot.chomeNSMod.serverboundPackets.ServerboundSuccessfulHandshakePacket;
|
||||
import me.chayapak1.chomens_bot.data.chat.ChatPacketType;
|
||||
import me.chayapak1.chomens_bot.data.chomeNSMod.PayloadMetadata;
|
||||
import me.chayapak1.chomens_bot.data.chomeNSMod.PayloadState;
|
||||
import me.chayapak1.chomens_bot.data.listener.Listener;
|
||||
@@ -209,10 +210,16 @@ public class ChomeNSModIntegrationPlugin implements Listener {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onSystemMessageReceived (final Component component, final String string, final String ansi) {
|
||||
public boolean onSystemMessageReceived (
|
||||
final Component component,
|
||||
final ChatPacketType packetType,
|
||||
final String string,
|
||||
final String ansi
|
||||
) {
|
||||
if (
|
||||
!(component instanceof final TranslatableComponent translatableComponent) ||
|
||||
!translatableComponent.key().isEmpty()
|
||||
packetType != ChatPacketType.SYSTEM
|
||||
|| !(component instanceof final TranslatableComponent translatableComponent)
|
||||
|| !translatableComponent.key().isEmpty()
|
||||
) return true;
|
||||
|
||||
final List<TranslationArgument> arguments = translatableComponent.arguments();
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package me.chayapak1.chomens_bot.plugins;
|
||||
|
||||
import me.chayapak1.chomens_bot.Bot;
|
||||
import me.chayapak1.chomens_bot.data.chat.ChatPacketType;
|
||||
import me.chayapak1.chomens_bot.data.listener.Listener;
|
||||
import me.chayapak1.chomens_bot.data.player.PlayerEntry;
|
||||
import me.chayapak1.chomens_bot.util.ComponentUtilities;
|
||||
@@ -20,11 +21,17 @@ public class CommandSpyPlugin implements Listener {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onSystemMessageReceived (final Component component, final String string, final String ansi) {
|
||||
public boolean onSystemMessageReceived (
|
||||
final Component component,
|
||||
final ChatPacketType packetType,
|
||||
final String string,
|
||||
final String ansi
|
||||
) {
|
||||
final List<Component> children = component.children();
|
||||
|
||||
if (
|
||||
!(component instanceof final TextComponent textComponent)
|
||||
packetType != ChatPacketType.SYSTEM
|
||||
|| !(component instanceof final TextComponent textComponent)
|
||||
|| children.size() != 2
|
||||
|| textComponent.style().isEmpty()
|
||||
|| (textComponent.color() != NamedTextColor.AQUA && textComponent.color() != NamedTextColor.YELLOW)
|
||||
|
||||
@@ -2,6 +2,7 @@ package me.chayapak1.chomens_bot.plugins;
|
||||
|
||||
import me.chayapak1.chomens_bot.Bot;
|
||||
import me.chayapak1.chomens_bot.command.Command;
|
||||
import me.chayapak1.chomens_bot.data.chat.ChatPacketType;
|
||||
import me.chayapak1.chomens_bot.data.listener.Listener;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.JoinConfiguration;
|
||||
@@ -23,11 +24,17 @@ public class CommandSuggestionPlugin implements Listener {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onSystemMessageReceived (final Component component, final String string, final String ansi) {
|
||||
public boolean onSystemMessageReceived (
|
||||
final Component component,
|
||||
final ChatPacketType packetType,
|
||||
final String string,
|
||||
final String ansi
|
||||
) {
|
||||
final List<Component> children = component.children();
|
||||
|
||||
if (
|
||||
!(component instanceof final TextComponent idComponent)
|
||||
packetType != ChatPacketType.SYSTEM
|
||||
|| !(component instanceof final TextComponent idComponent)
|
||||
|| !idComponent.content().equals(id)
|
||||
|| children.size() != 1
|
||||
|| !(children.getFirst() instanceof final TextComponent playerComponent)
|
||||
|
||||
@@ -4,6 +4,7 @@ import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
|
||||
import me.chayapak1.chomens_bot.Bot;
|
||||
import me.chayapak1.chomens_bot.Configuration;
|
||||
import me.chayapak1.chomens_bot.Main;
|
||||
import me.chayapak1.chomens_bot.data.chat.ChatPacketType;
|
||||
import me.chayapak1.chomens_bot.data.listener.Listener;
|
||||
import me.chayapak1.chomens_bot.discord.DirectMessageEventHandler;
|
||||
import me.chayapak1.chomens_bot.discord.GuildMessageEventHandler;
|
||||
@@ -99,7 +100,12 @@ public class DiscordPlugin {
|
||||
|
||||
bot.listener.addListener(new Listener() {
|
||||
@Override
|
||||
public boolean onSystemMessageReceived (final Component component, final String string, final String _ansi) {
|
||||
public boolean onSystemMessageReceived (
|
||||
final Component component,
|
||||
final ChatPacketType packetType,
|
||||
final String string,
|
||||
final String unusedAnsi
|
||||
) {
|
||||
if (string.length() > MAX_ANSI_MESSAGE_LENGTH) {
|
||||
sendMessage(CodeBlockUtilities.escape(string), channelId);
|
||||
} else {
|
||||
|
||||
@@ -4,6 +4,7 @@ import me.chayapak1.chomens_bot.Bot;
|
||||
import me.chayapak1.chomens_bot.Configuration;
|
||||
import me.chayapak1.chomens_bot.Main;
|
||||
import me.chayapak1.chomens_bot.command.contexts.IRCCommandContext;
|
||||
import me.chayapak1.chomens_bot.data.chat.ChatPacketType;
|
||||
import me.chayapak1.chomens_bot.data.listener.Listener;
|
||||
import me.chayapak1.chomens_bot.util.ColorUtilities;
|
||||
import me.chayapak1.chomens_bot.util.I18nUtilities;
|
||||
@@ -72,7 +73,12 @@ public class IRCPlugin extends ListenerAdapter {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onSystemMessageReceived (final Component component, final String string, final String ansi) {
|
||||
public boolean onSystemMessageReceived (
|
||||
final Component component,
|
||||
final ChatPacketType packetType,
|
||||
final String string,
|
||||
final String ansi
|
||||
) {
|
||||
IRCPlugin.this.systemMessageReceived(bot, ansi);
|
||||
|
||||
return true;
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package me.chayapak1.chomens_bot.plugins;
|
||||
|
||||
import me.chayapak1.chomens_bot.Bot;
|
||||
import me.chayapak1.chomens_bot.data.chat.ChatPacketType;
|
||||
import me.chayapak1.chomens_bot.data.listener.Listener;
|
||||
import me.chayapak1.chomens_bot.data.logging.LogType;
|
||||
import me.chayapak1.chomens_bot.util.ExceptionUtilities;
|
||||
import me.chayapak1.chomens_bot.util.I18nUtilities;
|
||||
import me.chayapak1.chomens_bot.util.LoggerUtilities;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.format.NamedTextColor;
|
||||
import org.geysermc.mcprotocollib.network.event.session.ConnectedEvent;
|
||||
import org.geysermc.mcprotocollib.network.event.session.DisconnectedEvent;
|
||||
|
||||
@@ -81,8 +83,21 @@ public class LoggerPlugin implements Listener {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onSystemMessageReceived (final Component component, final String string, final String ansi) {
|
||||
log(LogType.CHAT, component);
|
||||
public boolean onSystemMessageReceived (
|
||||
final Component component,
|
||||
final ChatPacketType packetType,
|
||||
final String string,
|
||||
final String ansi
|
||||
) {
|
||||
log(
|
||||
LogType.CHAT,
|
||||
Component.translatable(
|
||||
"[%s] %s",
|
||||
NamedTextColor.DARK_GRAY,
|
||||
Component.text(packetType.shortName, NamedTextColor.GRAY),
|
||||
component.colorIfAbsent(NamedTextColor.WHITE)
|
||||
)
|
||||
);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package me.chayapak1.chomens_bot.plugins;
|
||||
import it.unimi.dsi.fastutil.Pair;
|
||||
import it.unimi.dsi.fastutil.objects.ObjectObjectImmutablePair;
|
||||
import me.chayapak1.chomens_bot.Bot;
|
||||
import me.chayapak1.chomens_bot.data.chat.ChatPacketType;
|
||||
import me.chayapak1.chomens_bot.data.listener.Listener;
|
||||
import me.chayapak1.chomens_bot.util.RandomStringUtilities;
|
||||
import net.kyori.adventure.text.*;
|
||||
@@ -50,10 +51,16 @@ public class QueryPlugin implements Listener {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onSystemMessageReceived (final Component component, final String string, final String ansi) {
|
||||
public boolean onSystemMessageReceived (
|
||||
final Component component,
|
||||
final ChatPacketType packetType,
|
||||
final String string,
|
||||
final String ansi
|
||||
) {
|
||||
if (
|
||||
!(component instanceof final TranslatableComponent rootTranslatable) ||
|
||||
!rootTranslatable.key().equals(ID)
|
||||
packetType != ChatPacketType.SYSTEM
|
||||
|| !(component instanceof final TranslatableComponent rootTranslatable)
|
||||
|| !rootTranslatable.key().equals(ID)
|
||||
) return true;
|
||||
|
||||
final List<TranslationArgument> arguments = rootTranslatable.arguments();
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package me.chayapak1.chomens_bot.plugins;
|
||||
|
||||
import me.chayapak1.chomens_bot.Bot;
|
||||
import me.chayapak1.chomens_bot.data.chat.ChatPacketType;
|
||||
import me.chayapak1.chomens_bot.data.listener.Listener;
|
||||
import me.chayapak1.chomens_bot.data.player.PlayerEntry;
|
||||
import me.chayapak1.chomens_bot.data.selfCare.SelfCare;
|
||||
@@ -64,7 +65,12 @@ public class SelfCarePlugin implements Listener {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onSystemMessageReceived (final Component component, final String string, final String ansi) {
|
||||
public boolean onSystemMessageReceived (
|
||||
final Component component,
|
||||
final ChatPacketType packetType,
|
||||
final String string,
|
||||
final String ansi
|
||||
) {
|
||||
for (final SelfCare selfCare : selfCares) selfCare.onMessageReceived(component, string);
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user