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.NetHandlerPlayServer;
6 import net.minecraft.network.play.INetHandlerPlayServer;
7 import net.minecraft.network.play.client.CPacketCustomPayload;
8 import net.minecraft.util.ResourceLocation;
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(CPacketCustomPayload.class)
15 public class MixinCPacketCustomPayload {
17 private ResourceLocation channel;
19 @Redirect(method = "processPacket", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/play/INetHandlerPlayServer;processCustomPayload(Lnet/minecraft/network/play/client/CPacketCustomPayload;)V"))
20 private void processPacket(INetHandlerPlayServer netHandlerPlayServer, CPacketCustomPayload packet) {
21 if (this.channel.toString().equals(SubscribeToServer.NAME)) {
22 CommonInterop.playerSubscribed(((NetHandlerPlayServer) netHandlerPlayServer).player);
24 netHandlerPlayServer.processCustomPayload(packet);