From 4434668d70d7c63b176a811c2f710c0bcae1db87 Mon Sep 17 00:00:00 2001 From: Kevin <92656833+kevinthegreat1@users.noreply.github.com> Date: Fri, 27 Dec 2024 18:07:13 -0500 Subject: Accept integer names (#1110) --- src/main/java/de/hysky/skyblocker/utils/waypoint/NamedWaypoint.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/de/hysky/skyblocker/utils/waypoint/NamedWaypoint.java b/src/main/java/de/hysky/skyblocker/utils/waypoint/NamedWaypoint.java index 2b9cb26e..ee3a098b 100644 --- a/src/main/java/de/hysky/skyblocker/utils/waypoint/NamedWaypoint.java +++ b/src/main/java/de/hysky/skyblocker/utils/waypoint/NamedWaypoint.java @@ -19,6 +19,7 @@ import net.minecraft.util.math.Vec3d; import java.util.Objects; import java.util.Optional; import java.util.OptionalDouble; +import java.util.function.Function; import java.util.function.Supplier; public class NamedWaypoint extends Waypoint { @@ -36,7 +37,7 @@ public class NamedWaypoint extends Waypoint { Codec.INT.fieldOf("x").forGetter(waypoint -> waypoint.pos.getX()), Codec.INT.fieldOf("y").forGetter(waypoint -> waypoint.pos.getY()), Codec.INT.fieldOf("z").forGetter(waypoint -> waypoint.pos.getZ()), - Codec.either(Codec.STRING, Codec.INT).xmap(either -> either.map(str -> str, Object::toString), Either::left).fieldOf("name").forGetter(waypoint -> waypoint.name.getString()), + Codec.either(Codec.STRING, Codec.INT).xmap(either -> either.map(Function.identity(), Object::toString), Either::left).fieldOf("name").forGetter(waypoint -> waypoint.name.getString()), Codec.INT.optionalFieldOf("color", ColorHelper.getArgb(128, 0, 255, 0)).forGetter(waypoint -> (int) (waypoint.alpha * 255) << 24 | (int) (waypoint.colorComponents[0] * 255) << 16 | (int) (waypoint.colorComponents[1] * 255) << 8 | (int) (waypoint.colorComponents[2] * 255)), Codec.BOOL.fieldOf("enabled").forGetter(Waypoint::isEnabled) ).apply(instance, NamedWaypoint::fromSkytils)); @@ -159,7 +160,7 @@ public class NamedWaypoint extends Waypoint { private record ColeweightOptions(Optional name) { public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( - Codec.STRING.optionalFieldOf("name").forGetter(ColeweightOptions::name) + Codec.either(Codec.STRING, Codec.INT).xmap(either -> either.map(Function.identity(), Object::toString), Either::left).optionalFieldOf("name").forGetter(ColeweightOptions::name) ).apply(instance, ColeweightOptions::new)); } } -- cgit