Начинающий
- Статус
- Оффлайн
- Регистрация
- 10 Фев 2024
- Сообщения
- 180
- Реакции
- 2
Как сделать так что когда оно пишет новое сообщение с [xN] то удаляло старое
Пример: чел пишет два раза привет и что б прошлое сообщение удалилось а осталось только привет [x2]
(база Excellent)
Пример: чел пишет два раза привет и что б прошлое сообщение удалилось а осталось только привет [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();
}
};
}