38 lines
1.1 KiB
Java
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;
|
|
}
|
|
}
|