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