Вопрос BetterChat как пофиксить

Начинающий
Статус
Оффлайн
Регистрация
10 Фев 2024
Сообщения
161
Реакции[?]
2
Поинты[?]
2K

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Как сделать так что когда оно пишет новое сообщение с [xN] то удаляло старое
Пример: чел пишет два раза привет и что б прошлое сообщение удалилось а осталось только привет [x2]
(база Excellent)


BetterChat:
package dev.arahis.client.module.impl.misc;

import dev.arahis.api.event.impl.server.PacketEvent;
import dev.arahis.api.interfaces.event.Listener;
import dev.arahis.client.module.api.Category;
import dev.arahis.client.module.api.Module;
import dev.arahis.client.module.api.ModuleInfo;
import net.minecraft.client.gui.NewChatGui;
import net.minecraft.network.play.server.SChatPacket;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting;

@ModuleInfo(name = "BetterChat", description = "Улучшенный чат.", category = Category.MISC)
public class BetterChat extends Module {

    private String lastMessage = "";
    private int amount = 1;
    private int line = 0;

    private final Listener<PacketEvent> onPacket = event -> {
        if (event.getPacket() instanceof SChatPacket chatPacket) {
            if (mc.player == null || mc.world == null || mc.isSingleplayer()) {
                return;
            }
            NewChatGui chat = mc.ingameGUI.getChatGUI();
            ITextComponent originalMessage = chatPacket.getChatComponent();
            String rawMessage = originalMessage.getString();
            if (this.lastMessage.equals(rawMessage)) {
                chat.deleteChatLine(this.line);
                this.amount++;
                ITextComponent countText = new StringTextComponent(TextFormatting.GRAY + " [x" + this.amount + "]");
                ITextComponent combinedMessage = originalMessage.deepCopy();
                combinedMessage.getSiblings().add(countText);
                chat.printChatMessageWithOptionalDeletion(combinedMessage, this.line);
            } else {
                this.amount = 1;
                chat.printChatMessageWithOptionalDeletion(originalMessage, this.line);
            }
            this.lastMessage = rawMessage;
            this.line++;
            if (this.line > 256) {
                this.line = 0;
            }
            event.cancel();
        }
    };
}
 
Сверху Снизу