Skip to content

Commit

Permalink
Added Codecs to Easing and EasingGroup
Browse files Browse the repository at this point in the history
  • Loading branch information
LatvianModder committed Apr 20, 2024
1 parent 7ad3753 commit 3dae275
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
8 changes: 8 additions & 0 deletions src/main/java/dev/latvian/mods/kmath/util/Easing.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package dev.latvian.mods.kmath.util;

import com.mojang.serialization.Codec;
import dev.latvian.mods.kmath.KMath;
import it.unimi.dsi.fastutil.doubles.Double2DoubleFunction;
import net.minecraft.util.dynamic.Codecs;
import net.minecraft.util.math.Vec3d;

import java.util.LinkedHashMap;
Expand All @@ -12,6 +14,7 @@
*/
public final class Easing {
public static final Map<String, Easing> FUNCTIONS = new LinkedHashMap<>();
public static final Codec<Easing> CODEC = Codecs.idChecked(Easing::toString, FUNCTIONS::get);

public static Easing add(String id, Double2DoubleFunction function) {
var easing = add(id, function);
Expand Down Expand Up @@ -99,4 +102,9 @@ public Vec3d lerp(double t, Vec3d a, Vec3d b) {
var e = function.get(t);
return new Vec3d(KMath.lerp(e, a.x, b.x), KMath.lerp(e, a.y, b.y), KMath.lerp(e, a.z, b.z));
}

@Override
public String toString() {
return id;
}
}
9 changes: 9 additions & 0 deletions src/main/java/dev/latvian/mods/kmath/util/EasingGroup.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
package dev.latvian.mods.kmath.util;

import com.mojang.serialization.Codec;
import net.minecraft.util.dynamic.Codecs;

import java.util.LinkedHashMap;
import java.util.Map;

public class EasingGroup {
public static final Map<String, EasingGroup> GROUPS = new LinkedHashMap<>();
public static final Codec<EasingGroup> CODEC = Codecs.idChecked(EasingGroup::toString, GROUPS::get);

public static EasingGroup add(String id, Easing in, Easing out, Easing inOut) {
var group = new EasingGroup(id, in, out, inOut);
Expand Down Expand Up @@ -42,4 +46,9 @@ private EasingGroup(String id, Easing in, Easing out, Easing inOut) {
this.out = out;
this.inOut = inOut;
}

@Override
public String toString() {
return id;
}
}

0 comments on commit 3dae275

Please sign in to comment.