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