-
-
Save Densamisten/104cdc3569a4865293eeca8ded41cfa2 to your computer and use it in GitHub Desktop.
A Mixin in Java for Fabric (Minecraft 1.20.1) which prints "Player is typing: <output>" each time a letter is written manually in the chat box.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package io.github.densamisten.mixin.client; | |
| import net.minecraft.client.MinecraftClient; | |
| import net.minecraft.client.gui.widget.TextFieldWidget; | |
| import net.minecraft.text.Text; | |
| import org.spongepowered.asm.mixin.Mixin; | |
| import org.spongepowered.asm.mixin.Unique; | |
| import org.spongepowered.asm.mixin.injection.At; | |
| import org.spongepowered.asm.mixin.injection.Inject; | |
| import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; | |
| import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; | |
| @Mixin(TextFieldWidget.class) | |
| public class TextFieldWidgetMixin { | |
| @Inject(at = @At("RETURN"), method = "charTyped") | |
| private void onCharTyped(char chr, int modifiers, CallbackInfoReturnable<Boolean> cir) { | |
| TextFieldWidget textField = (TextFieldWidget)(Object)this; // Cast to TextFieldWidget | |
| String text = textField.getText(); // Get the text from the widget | |
| MinecraftClient client = MinecraftClient.getInstance(); | |
| if (client.player != null) { | |
| String message = client.player.getName().getString() + " is typing: " + text; | |
| client.player.sendMessage(Text.of(message)); | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment