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

67 lines
2.1 KiB
Java

/*
* Decompiled with CFR 0.152.
*/
package com.vinlanx.explosionoverhaul;
import com.vinlanx.explosionoverhaul.client.ConcussionAudioEffect;
import java.util.function.Supplier;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.network.NetworkEvent;
public class StartConcussionPacket {
private final float power;
private final double distance;
private final boolean hasDirectLineOfSight;
private final boolean explosionInCave;
public StartConcussionPacket(float power, double distance, boolean hasDirectLineOfSight, boolean explosionInCave) {
this.power = power;
this.distance = distance;
this.hasDirectLineOfSight = hasDirectLineOfSight;
this.explosionInCave = explosionInCave;
}
public StartConcussionPacket(FriendlyByteBuf buf) {
this.power = buf.readFloat();
this.distance = buf.readDouble();
this.hasDirectLineOfSight = buf.readBoolean();
this.explosionInCave = buf.readBoolean();
}
public void encode(FriendlyByteBuf buf) {
buf.writeFloat(this.power);
buf.writeDouble(this.distance);
buf.writeBoolean(this.hasDirectLineOfSight);
buf.writeBoolean(this.explosionInCave);
}
public static StartConcussionPacket decode(FriendlyByteBuf buf) {
return new StartConcussionPacket(buf);
}
public float getPower() {
return this.power;
}
public double getDistance() {
return this.distance;
}
public boolean hasDirectLineOfSight() {
return this.hasDirectLineOfSight;
}
public boolean isExplosionInCave() {
return this.explosionInCave;
}
public static void handle(StartConcussionPacket packet, Supplier<NetworkEvent.Context> ctxSupplier) {
NetworkEvent.Context ctx = ctxSupplier.get();
ctx.enqueueWork(() -> DistExecutor.unsafeRunWhenOn((Dist)Dist.CLIENT, () -> () -> ConcussionAudioEffect.start(packet.power, packet.distance, packet.hasDirectLineOfSight, packet.isExplosionInCave())));
ctx.setPacketHandled(true);
}
}