2025-11-24 22:52:51 +03:00

68 lines
2.9 KiB
Java

/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* com.mojang.datafixers.kinds.App
* com.mojang.datafixers.kinds.Applicative
* com.mojang.serialization.Codec
* com.mojang.serialization.codecs.RecordCodecBuilder
*/
package net.minecraft.world.entity.player;
import com.mojang.datafixers.kinds.App;
import com.mojang.datafixers.kinds.Applicative;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
public class Abilities {
private static final boolean DEFAULT_INVULNERABLE = false;
private static final boolean DEFAULY_FLYING = false;
private static final boolean DEFAULT_MAY_FLY = false;
private static final boolean DEFAULT_INSTABUILD = false;
private static final boolean DEFAULT_MAY_BUILD = true;
private static final float DEFAULT_FLYING_SPEED = 0.05f;
private static final float DEFAULT_WALKING_SPEED = 0.1f;
public boolean invulnerable;
public boolean flying;
public boolean mayfly;
public boolean instabuild;
public boolean mayBuild = true;
private float flyingSpeed = 0.05f;
private float walkingSpeed = 0.1f;
public float getFlyingSpeed() {
return this.flyingSpeed;
}
public void setFlyingSpeed(float value) {
this.flyingSpeed = value;
}
public float getWalkingSpeed() {
return this.walkingSpeed;
}
public void setWalkingSpeed(float value) {
this.walkingSpeed = value;
}
public Packed pack() {
return new Packed(this.invulnerable, this.flying, this.mayfly, this.instabuild, this.mayBuild, this.flyingSpeed, this.walkingSpeed);
}
public void apply(Packed packed) {
this.invulnerable = packed.invulnerable;
this.flying = packed.flying;
this.mayfly = packed.mayFly;
this.instabuild = packed.instabuild;
this.mayBuild = packed.mayBuild;
this.flyingSpeed = packed.flyingSpeed;
this.walkingSpeed = packed.walkingSpeed;
}
public record Packed(boolean invulnerable, boolean flying, boolean mayFly, boolean instabuild, boolean mayBuild, float flyingSpeed, float walkingSpeed) {
public static final Codec<Packed> CODEC = RecordCodecBuilder.create(i -> i.group((App)Codec.BOOL.fieldOf("invulnerable").orElse((Object)false).forGetter(Packed::invulnerable), (App)Codec.BOOL.fieldOf("flying").orElse((Object)false).forGetter(Packed::flying), (App)Codec.BOOL.fieldOf("mayfly").orElse((Object)false).forGetter(Packed::mayFly), (App)Codec.BOOL.fieldOf("instabuild").orElse((Object)false).forGetter(Packed::instabuild), (App)Codec.BOOL.fieldOf("mayBuild").orElse((Object)true).forGetter(Packed::mayBuild), (App)Codec.FLOAT.fieldOf("flySpeed").orElse((Object)Float.valueOf(0.05f)).forGetter(Packed::flyingSpeed), (App)Codec.FLOAT.fieldOf("walkSpeed").orElse((Object)Float.valueOf(0.1f)).forGetter(Packed::walkingSpeed)).apply((Applicative)i, Packed::new));
}
}