generated from MrSphay/codex-agent-repository-kit
43 lines
1.4 KiB
Java
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);
|
|
}
|
|
}
|
|
|