diff --git a/src/main/java/baritone/launch/mixins/MixinEntityPlayerSP.java b/src/main/java/baritone/launch/mixins/MixinEntityPlayerSP.java new file mode 100644 index 00000000..bae0cc5c --- /dev/null +++ b/src/main/java/baritone/launch/mixins/MixinEntityPlayerSP.java @@ -0,0 +1,32 @@ +package baritone.launch.mixins; + +import baritone.util.ChatCommand; +import net.minecraft.client.entity.EntityPlayerSP; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import java.lang.reflect.InvocationTargetException; + +/** + * @author Brady + * @since 8/1/2018 5:06 PM + */ +@Mixin(EntityPlayerSP.class) +public class MixinEntityPlayerSP { + + @Inject( + method = "sendChatMessage", + at = @At("HEAD"), + cancellable = true + ) + private void sendChatMessage(String msg, CallbackInfo ci) { + try { + if (ChatCommand.message(msg)) + ci.cancel(); + } catch (IllegalAccessException | InvocationTargetException e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/baritone/launch/mixins/MixinGuiScreen.java b/src/main/java/baritone/launch/mixins/MixinGuiScreen.java index 09275514..c934ae2c 100755 --- a/src/main/java/baritone/launch/mixins/MixinGuiScreen.java +++ b/src/main/java/baritone/launch/mixins/MixinGuiScreen.java @@ -1,17 +1,10 @@ package baritone.launch.mixins; import baritone.bot.Baritone; -import baritone.util.ChatCommand; import net.minecraft.client.gui.GuiScreen; -import java.util.List; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Redirect; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import java.lang.reflect.InvocationTargetException; /** * @author Brady @@ -34,16 +27,4 @@ public class MixinGuiScreen { private static boolean isKeyDown(int keyCode) { return Baritone.INSTANCE.getInputOverrideHandler().isKeyDown(keyCode); } - - @Inject(method="sendChatMessage",at=@At("HEAD")) - public void sendChatMessage(String msg, CallbackInfo cir) - { - try { - ChatCommand.message(msg); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } catch (InvocationTargetException e) { - e.printStackTrace(); - } - } } diff --git a/src/main/resources/mixins.baritone.json b/src/main/resources/mixins.baritone.json index 068def0e..79845291 100755 --- a/src/main/resources/mixins.baritone.json +++ b/src/main/resources/mixins.baritone.json @@ -5,6 +5,7 @@ "compatibilityLevel": "JAVA_8", "verbose": false, "client": [ + "MixinEntityPlayerSP", "MixinGameSettings", "MixinGuiContainer", "MixinGuiOverlayDebug",