]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/mixin/network/play/client/MixinCCustomPayloadPacket.java
Setup for 1.15.2-Fabric
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / mixin / network / play / client / MixinCCustomPayloadPacket.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.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;
13
14 @Mixin(CustomPayloadC2SPacket.class)
15 public class MixinCCustomPayloadPacket {
16     @Shadow
17     private Identifier channel;
18
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);
23         } else {
24             netHandlerPlayServer.onCustomPayload(packet);
25         }
26     }
27 }