package org.dynmap.fabric_1_17_1.mixin; import net.minecraft.server.filter.TextStream; import net.minecraft.server.network.ServerPlayNetworkHandler; import net.minecraft.server.network.ServerPlayerEntity; import org.dynmap.fabric_1_17_1.event.ServerChatEvents; 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.CallbackInfo; @Mixin(ServerPlayNetworkHandler.class) public abstract class ServerPlayNetworkHandlerMixin { @Shadow public ServerPlayerEntity player; @Inject( method = "handleMessage", at = @At( value = "INVOKE", target = "Lnet/minecraft/server/PlayerManager;broadcast(Lnet/minecraft/text/Text;Ljava/util/function/Function;Lnet/minecraft/network/MessageType;Ljava/util/UUID;)V", shift = At.Shift.BEFORE ) ) public void onGameMessage(TextStream.Message message, CallbackInfo info) { ServerChatEvents.EVENT.invoker().onChatMessage(player, message.getRaw()); } }