/* * Decompiled with CFR 0.152. */ package com.vinlanx.explosionoverhaul; import com.vinlanx.explosionoverhaul.client.CameraShakeConcussionEffect; import java.util.function.Supplier; import net.minecraft.network.FriendlyByteBuf; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.network.NetworkEvent; public class CameraShakeConcussionPacket { private final int durationSeconds; private final float intensity; public CameraShakeConcussionPacket(int durationSeconds, float intensity) { this.durationSeconds = durationSeconds; this.intensity = intensity; } public static void encode(CameraShakeConcussionPacket msg, FriendlyByteBuf buf) { buf.writeInt(msg.durationSeconds); buf.writeFloat(msg.intensity); } public static CameraShakeConcussionPacket decode(FriendlyByteBuf buf) { return new CameraShakeConcussionPacket(buf.readInt(), buf.readFloat()); } public static void handle(CameraShakeConcussionPacket msg, Supplier ctxSupplier) { NetworkEvent.Context ctx = ctxSupplier.get(); ctx.enqueueWork(() -> CameraShakeConcussionPacket.handleClient(msg)); ctx.setPacketHandled(true); } @OnlyIn(value=Dist.CLIENT) private static void handleClient(CameraShakeConcussionPacket msg) { CameraShakeConcussionEffect.start(msg.durationSeconds, msg.intensity); } }