1 package com.irtimaled.bbor.mixin.network.play.client;
3 import com.irtimaled.bbor.common.interop.CommonInterop;
4 import com.irtimaled.bbor.common.messages.SubscribeToServer;
5 import net.minecraft.network.listener.ServerPlayPacketListener;
6 import net.minecraft.server.network.ServerPlayNetworkHandler;
7 import net.minecraft.server.network.packet.CustomPayloadC2SPacket;
8 import net.minecraft.util.Identifier;
9 import org.spongepowered.asm.mixin.Mixin;
10 import org.spongepowered.asm.mixin.Shadow;
11 import org.spongepowered.asm.mixin.injection.At;
12 import org.spongepowered.asm.mixin.injection.Redirect;
14 @Mixin(CustomPayloadC2SPacket.class)
15 public class MixinCCustomPayloadPacket {
17 private Identifier channel;
19 @Redirect(method = "apply", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/listener/ServerPlayPacketListener;onCustomPayload(Lnet/minecraft/server/network/packet/CustomPayloadC2SPacket;)V"))
20 private void processPacket(ServerPlayPacketListener netHandlerPlayServer, CustomPayloadC2SPacket packet) {
21 if (this.channel.toString().equals(SubscribeToServer.NAME)) {
22 CommonInterop.playerSubscribed(((ServerPlayNetworkHandler) netHandlerPlayServer).player);
24 netHandlerPlayServer.onCustomPayload(packet);