Merge branch '1.20.2' into 1.20.4

This commit is contained in:
Sollace 2024-02-24 16:31:33 +00:00
commit 7ba42552a4
No known key found for this signature in database
GPG key ID: E52FACE7B5C773DB

View file

@ -1,5 +1,7 @@
package com.minelittlepony.unicopia.util;
import com.minelittlepony.unicopia.Unicopia;
import net.minecraft.util.Util;
import net.minecraft.util.math.MathHelper;
@ -23,14 +25,30 @@ public class Lerp {
}
public boolean update(float newTarget, long changeDuration) {
if (Float.isNaN(newTarget) || Float.isInfinite(newTarget)) {
Unicopia.LOGGER.error("Invalid lerp target. Target cannot be NaN or Infinity");
}
if (MathHelper.approximatelyEquals(end, newTarget)) {
return false;
}
if (changeDuration == 0) {
start = newTarget;
end = newTarget;
finished = true;
return false;
}
start = getValue();
startTime = Util.getMeasuringTimeMs();
end = newTarget;
duration = changeDuration;
finished = false;
if (Float.isNaN(start) || Float.isInfinite(start)) {
Unicopia.LOGGER.error("Invalid lerp start. Value cannot be NaN or Infinity");
}
if (Float.isNaN(end) || Float.isInfinite(end)) {
Unicopia.LOGGER.error("Invalid lerp end. Value cannot be NaN or Infinity");
}
return true;
}
@ -55,6 +73,9 @@ public class Lerp {
}
private float getDelta() {
if (duration == 0) {
return 1;
}
return MathHelper.clamp((float)(Util.getMeasuringTimeMs() - startTime) / (float)duration, 0, 1);
}
}