Начинающий
- Статус
- Оффлайн
- Регистрация
- 24 Авг 2022
- Сообщения
- 196
- Реакции
- 1
Java:
package im.expensive.functions.impl.hyeta;
import com.google.common.eventbus.Subscribe;
import net.minecraft.client.gui.NewChatGui;
import net.minecraft.network.play.server.SChatPacket;
import net.minecraft.util.text.ChatType;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TextFormatting;
import im.expensive.events.EventPacket;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
@FunctionRegister(name = "BetterChat", type = Category.Misc)
public class BetterChat extends Function {
private String lastMessage = "";
private int amount = 1;
private int line = 0;
@Subscribe
private void onPacket(EventPacket e) {
if (e.getPacket() instanceof SChatPacket chatPacket) {
final StringTextComponent message = new StringTextComponent(chatPacket.getChatComponent().getString());
final String rawMessage = message.getUnformattedComponentText();
final NewChatGui chatGui = mc.ingameGUI.getChatGUI();
if (this.lastMessage.equals(rawMessage)) {
chatGui.deleteChatLine(this.line);
this.amount++;
message.append(new StringTextComponent(TextFormatting.GRAY + " [x" + this.amount + "]"));
} else {
this.amount = 1;
}
this.line++;
this.lastMessage = rawMessage;
chatGui.printChatMessageWithOptionalDeletion(message, this.line);
if (this.line > 256) {
this.line = 0;
}
e.cancel();
}
}
}