Files
SableGravity/src/main/java/dev/nightly/sablegravity/mixin/EntityGravityStateMixin.java
T

50 lines
3.5 KiB
Java

package dev.nightly.sablegravity.mixin;
import dev.nightly.sablegravity.GravityEntityState;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.phys.Vec3;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import java.util.UUID;
/** Per-entity frame state. It is runtime state, not saved NBT: every load/warp re-resolves safely. */
@Mixin(Entity.class)
public abstract class EntityGravityStateMixin implements GravityEntityState {
@Unique private boolean sablegravity$inLocalSimulation;
@Unique private boolean sablegravity$localStateValid;
@Unique private Vec3 sablegravity$localPosition = Vec3.ZERO;
@Unique private Vec3 sablegravity$localVelocity = Vec3.ZERO;
@Unique private UUID sablegravity$frameId;
@Unique private ResourceLocation sablegravity$frameProvider;
@Unique private ResourceLocation sablegravity$frameDimension;
@Unique private boolean sablegravity$gravitySampleValid;
@Unique private double sablegravity$gravitySample;
@Unique private boolean sablegravity$frameHandoffPending;
@Unique private int sablegravity$frameHandoffExpiryTick;
@Override public boolean sablegravity$isInLocalSimulation() { return sablegravity$inLocalSimulation; }
@Override public void sablegravity$setInLocalSimulation(boolean value) { sablegravity$inLocalSimulation = value; }
@Override public boolean sablegravity$isLocalStateValid() { return sablegravity$localStateValid; }
@Override public void sablegravity$setLocalStateValid(boolean value) { sablegravity$localStateValid = value; }
@Override public Vec3 sablegravity$getLocalPosition() { return sablegravity$localPosition; }
@Override public void sablegravity$setLocalPosition(Vec3 value) { sablegravity$localPosition = value; }
@Override public Vec3 sablegravity$getLocalVelocity() { return sablegravity$localVelocity; }
@Override public void sablegravity$setLocalVelocity(Vec3 value) { sablegravity$localVelocity = value; }
@Override public UUID sablegravity$getFrameId() { return sablegravity$frameId; }
@Override public void sablegravity$setFrameId(UUID value) { sablegravity$frameId = value; }
@Override public ResourceLocation sablegravity$getFrameProvider() { return sablegravity$frameProvider; }
@Override public void sablegravity$setFrameProvider(ResourceLocation value) { sablegravity$frameProvider = value; }
@Override public ResourceLocation sablegravity$getFrameDimension() { return sablegravity$frameDimension; }
@Override public void sablegravity$setFrameDimension(ResourceLocation value) { sablegravity$frameDimension = value; }
@Override public boolean sablegravity$isGravitySampleValid() { return sablegravity$gravitySampleValid; }
@Override public void sablegravity$setGravitySampleValid(boolean value) { sablegravity$gravitySampleValid = value; }
@Override public double sablegravity$getGravitySample() { return sablegravity$gravitySample; }
@Override public void sablegravity$setGravitySample(double value) { sablegravity$gravitySample = value; }
@Override public boolean sablegravity$isFrameHandoffPending() { return sablegravity$frameHandoffPending; }
@Override public void sablegravity$setFrameHandoffPending(boolean value) { sablegravity$frameHandoffPending = value; }
@Override public int sablegravity$getFrameHandoffExpiryTick() { return sablegravity$frameHandoffExpiryTick; }
@Override public void sablegravity$setFrameHandoffExpiryTick(int value) { sablegravity$frameHandoffExpiryTick = value; }
}