VmodExtras/src/main/java/space/eptaproject/vmodaddon/mixins/PhysicsTrackControllerMixin...

38 lines
1.1 KiB
Java

package space.eptaproject.vmodaddon.mixins;
import edn.stratodonut.trackwork.tracks.forces.PhysicsTrackController;
import org.joml.Math;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
import space.eptaproject.vmodaddon.IPhysicsTrackController;
@Mixin(PhysicsTrackController.class)
public abstract class PhysicsTrackControllerMixin implements IPhysicsTrackController {
@Shadow private volatile float suspensionStiffness;
@Unique
private volatile float damperCoefficient = 0;
@Override
public void SetRawDamperCoefficient(float delta) {
this.damperCoefficient = delta;
}
@Override
public float GetRawDamperCoefficient() {
return damperCoefficient;
}
/**
* @author
* @reason
*/
@Overwrite(remap = false)
public final float setDamperCoefficient(float delta) {
this.suspensionStiffness = Math.clamp(1.0F, 50.0F, this.suspensionStiffness + delta);
return this.suspensionStiffness;
}
}