package io.gitlab.jfronny.googlechat.mixin; import io.gitlab.jfronny.googlechat.*; import net.minecraft.client.gui.hud.*; import net.minecraft.client.network.*; import net.minecraft.network.message.*; import net.minecraft.text.*; import org.spongepowered.asm.mixin.*; import org.spongepowered.asm.mixin.injection.*; @Mixin(ClientPlayNetworkHandler.class) public class ClientPlayNetworkHandlerMixin { @Redirect(method = "handleMessage(Lnet/minecraft/network/message/MessageType;Lnet/minecraft/network/message/SignedMessage;Lnet/minecraft/network/message/MessageSender;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/InGameHud;onChatMessage(Lnet/minecraft/network/message/MessageType;Lnet/minecraft/text/Text;Lnet/minecraft/network/message/MessageSender;)V")) private void googlechat$interceptChatMessage(InGameHud hud, MessageType type, Text message, MessageSender sender) { if (!GoogleChat.isSelf(sender.uuid())) message = GoogleChat.translateIfNeeded(message, GoogleChat.Direction.S2C, true); hud.onChatMessage(type, message, sender); } }