try catch it for now so i can see what caused it

This commit is contained in:
Chayapak 2023-05-03 07:19:32 +07:00
parent 87e6dc5889
commit 8dede5fa23

View file

@ -60,114 +60,127 @@ public class ChatPlugin extends Bot.Listener {
} }
public void packetReceived (ClientboundSystemChatPacket packet) { public void packetReceived (ClientboundSystemChatPacket packet) {
final Component component = packet.getContent();
try { try {
final String key = ((TranslatableComponent) component).key(); final Component component = packet.getContent();
if ( try {
key.equals("advMode.setCommand.success") || final String key = ((TranslatableComponent) component).key();
key.equals("advMode.notAllowed")
) return;
} catch (ClassCastException ignored) {}
PlayerMessage playerMessage = null; if (
key.equals("advMode.setCommand.success") ||
key.equals("advMode.notAllowed")
) return;
} catch (ClassCastException ignored) {
}
for (ChatParser parser : chatParsers) { PlayerMessage playerMessage = null;
playerMessage = parser.parse(component);
if (playerMessage != null) break;
}
PlayerMessage commandSpyMessage; for (ChatParser parser : chatParsers) {
commandSpyMessage = commandSpyParser.parse(component); playerMessage = parser.parse(component);
if (playerMessage != null) break;
}
for (ChatListener listener : listeners) { PlayerMessage commandSpyMessage;
listener.systemMessageReceived(component); commandSpyMessage = commandSpyParser.parse(component);
if (playerMessage != null) listener.playerMessageReceived(playerMessage);
if (commandSpyMessage != null) listener.commandSpyMessageReceived(commandSpyMessage); for (ChatListener listener : listeners) {
listener.systemMessageReceived(component);
if (playerMessage != null) listener.playerMessageReceived(playerMessage);
if (commandSpyMessage != null) listener.commandSpyMessageReceived(commandSpyMessage);
}
} catch (Exception e) {
e.printStackTrace();
} }
} }
public void packetReceived (ClientboundPlayerChatPacket packet) { public void packetReceived (ClientboundPlayerChatPacket packet) {
final UUID senderUUID = packet.getSender(); try {
final UUID senderUUID = packet.getSender();
final MutablePlayerListEntry entry = bot.players().getEntry(senderUUID); final MutablePlayerListEntry entry = bot.players().getEntry(senderUUID);
if (entry == null) return; if (entry == null) return;
final PlayerMessage playerMessage = new PlayerMessage( final PlayerMessage playerMessage = new PlayerMessage(
entry, entry,
packet.getName(), packet.getName(),
Component.text(packet.getContent()) Component.text(packet.getContent())
); );
for (ChatListener listener : listeners) { for (ChatListener listener : listeners) {
listener.playerMessageReceived(playerMessage); listener.playerMessageReceived(playerMessage);
if (packet.getChatType() == 4) { // type 4 is /say if (packet.getChatType() == 4) { // type 4 is /say
final Component component = Component.translatable( final Component component = Component.translatable(
"chat.type.announcement", "chat.type.announcement",
playerMessage.displayName(), playerMessage.displayName(),
playerMessage.contents() playerMessage.contents()
); );
listener.systemMessageReceived(component); listener.systemMessageReceived(component);
} else { } else {
final Component unsignedContent = packet.getUnsignedContent(); final Component unsignedContent = packet.getUnsignedContent();
if (unsignedContent == null) return; if (unsignedContent == null) return;
listener.systemMessageReceived(unsignedContent); listener.systemMessageReceived(unsignedContent);
}
} }
} catch (Exception e) {
e.printStackTrace();
} }
} }
public void packetReceived (ClientboundDisguisedChatPacket packet) { public void packetReceived (ClientboundDisguisedChatPacket packet) {
// totallynotskidded from chipmunkbot and modified i guess // totallynotskidded from chipmunkbot and modified i guess
final int type = packet.getChatType(); try {
final int type = packet.getChatType();
// i think im missing other types // i think im missing other types
if (type == 1 || type == 4) { // type 1 is /me, type 4 is /say if (type == 1 || type == 4) { // type 1 is /me, type 4 is /say
final Component name = packet.getName(); final Component name = packet.getName();
final Component content = packet.getMessage(); final Component content = packet.getMessage();
for (ChatParser parser : chatParsers) { for (ChatParser parser : chatParsers) {
final Component component = Component.translatable( final Component component = Component.translatable(
type == 1 ? "chat.type.emote" : "chat.type.announcement", type == 1 ? "chat.type.emote" : "chat.type.announcement",
name, name,
content content
); );
final PlayerMessage parsed = parser.parse(component); final PlayerMessage parsed = parser.parse(component);
if (parsed == null) continue; if (parsed == null) continue;
final PlayerMessage playerMessage = new PlayerMessage(parsed.sender(), packet.getName(), parsed.contents()); final PlayerMessage playerMessage = new PlayerMessage(parsed.sender(), packet.getName(), parsed.contents());
for (ChatListener listener : listeners) {
listener.playerMessageReceived(playerMessage);
listener.systemMessageReceived(component);
}
}
} else {
final Component component = packet.getMessage();
PlayerMessage parsedFromMessage = null;
for (ChatParser parser : chatParsers) {
parsedFromMessage = parser.parse(component);
if (parsedFromMessage != null) break;
}
if (parsedFromMessage == null) return;
final PlayerMessage playerMessage = new PlayerMessage(parsedFromMessage.sender(), packet.getName(), parsedFromMessage.contents());
for (ChatListener listener : listeners) { for (ChatListener listener : listeners) {
listener.playerMessageReceived(playerMessage); listener.playerMessageReceived(playerMessage);
listener.systemMessageReceived(component); listener.systemMessageReceived(component);
} }
} }
} else { } catch (Exception e) {
final Component component = packet.getMessage(); e.printStackTrace();
PlayerMessage parsedFromMessage = null;
for (ChatParser parser : chatParsers) {
parsedFromMessage = parser.parse(component);
if (parsedFromMessage != null) break;
}
if (parsedFromMessage == null) return;
final PlayerMessage playerMessage = new PlayerMessage(parsedFromMessage.sender(), packet.getName(), parsedFromMessage.contents());
for (ChatListener listener : listeners) {
listener.playerMessageReceived(playerMessage);
listener.systemMessageReceived(component);
}
} }
} }