Forge 1.12 сохранение команды

import net.minecraftforge.client.event.ClientChatEvent;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.util.text.TextComponentString;
 
@Mod.EventBusSubscriber(modid = "yourmodid", bus = Mod.EventBusSubscriber.Bus.FORGE)
public class ChatHandler {
 
    @SubscribeEvent
    public static void onClientChat(ClientChatEvent event) {
        // Get the message typed by the player
        String message = event.getMessage();
 
        // If the message starts with "/sayhello", it's our custom command
        if (message.startsWith("/sayhello")) {
            // Cancel the message from showing in chat
            event.setCanceled(true);
 
            // Send a custom message back to the player
            String responseMessage = "Hello, " + event.getSender().getName() + "!";
            event.getSender().sendMessage(new TextComponentString(responseMessage));
 
            // Manually add the command to the chat history (this is a workaround)
            Minecraft minecraft = Minecraft.getMinecraft();
            EntityPlayerSP player = minecraft.player;
            if (player != null) {
                // Add the original command to the chat history so it shows when the player presses the up arrow
                minecraft.ingameGUI.getChatGUI().addToSentMessages(message);
            }
        }
    }
}