package me.xmrvizzy.skyblocker.mixin; import net.minecraft.client.gui.screen.ChatScreen; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.widget.TextFieldWidget; import net.minecraft.text.Text; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; @Mixin(ChatScreen.class) public class ChatScreenMixin extends Screen { @Shadow protected TextFieldWidget chatField; protected ChatScreenMixin(Text title) { super(title); } @Inject(method = "keyPressed", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/MinecraftClient;openScreen(Lnet/minecraft/client/gui/screen/Screen;)V", ordinal = 1), cancellable = true) public void keyPressed(int keyCode, int scanCode, int modifiers, CallbackInfoReturnable cir) { String[] split = this.chatField.getText().trim().toLowerCase().split(" "); if (split.length > 0 && split[0].contentEquals("/skb")) { cir.setReturnValue(true); } } }