]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/mixin/network/play/client/MixinCPacketCustomPayload.java
2bcbd71cda3b202028a274b33e8a2200fbbffc72
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / mixin / network / play / client / MixinCPacketCustomPayload.java
1 package com.irtimaled.bbor.mixin.network.play.client;
2
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;
13
14 @Mixin(CCustomPayloadPacket.class)
15 public class MixinCPacketCustomPayload {
16     @Shadow
17     private ResourceLocation channel;
18
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);
23         } else {
24             netHandlerPlayServer.processCustomPayload(packet);
25         }
26     }
27 }