Files
Explosion-Overhaul/build/decompiled/com/vinlanx/explosionoverhaul/CameraShakeConcussionPacket.java
2026-05-04 10:03:58 +00:00

43 lines
1.4 KiB
Java

/*
* 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<NetworkEvent.Context> 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);
}
}