From 76356b8ebea6ed95a4b56d4336455edcb7b54cd4 Mon Sep 17 00:00:00 2001 From: Daniel Orr Date: Sun, 12 Jan 2025 14:43:42 +0000 Subject: [PATCH] feat: extra codecs --- gradle.properties | 14 +++++----- gradle/wrapper/gradle-wrapper.properties | 2 +- .../kotlin/dev/andante/codex/ExtraCodecs.kt | 26 +++++++++++++++++++ 3 files changed, 34 insertions(+), 8 deletions(-) create mode 100644 src/main/kotlin/dev/andante/codex/ExtraCodecs.kt diff --git a/gradle.properties b/gradle.properties index 5b49866..46c5e0a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,18 +3,18 @@ org.gradle.jvmargs=-Xmx1G org.gradle.parallel=true # minecraft -minecraft_version=1.21.3 +minecraft_version=1.21.4 # fabric -yarn_build=2 -loader_version=0.16.9 -fabric_version=0.109.0+1.21.3 +yarn_build=8 +loader_version=0.16.10 +fabric_version=0.114.2+1.21.4 # kotlin -kotlin_version=2.0.21 -fabric_kotlin_version=1.12.3 +kotlin_version=2.1.0 +fabric_kotlin_version=1.13.0 # mod properties -mod_version=1.0 +mod_version=1.1 maven_group=net.mcbrawls mod_id=codex diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 21d5e09..18362b7 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/kotlin/dev/andante/codex/ExtraCodecs.kt b/src/main/kotlin/dev/andante/codex/ExtraCodecs.kt new file mode 100644 index 0000000..6540473 --- /dev/null +++ b/src/main/kotlin/dev/andante/codex/ExtraCodecs.kt @@ -0,0 +1,26 @@ +package dev.andante.codex + +import com.mojang.serialization.Codec +import net.minecraft.util.math.Vec2f +import org.joml.Vector2f +import org.joml.Vector3d +import kotlin.time.Duration + +object ExtraCodecs { + val VECTOR_3D: Codec = Codec.DOUBLE.listOf().xmap( + { list -> Vector3d(list[0], list[1], list[2]) }, + { vect -> listOf(vect.x, vect.y, vect.z) } + ) + + val VECTOR_2F: Codec = Codec.FLOAT.listOf().xmap( + { list -> Vector2f(list[0], list[1]) }, + { vect -> listOf(vect.x, vect.y) } + ) + + val VEC_2F: Codec = VECTOR_2F.xmap( + { vector -> Vec2f(vector.x, vector.y) }, + { vec -> Vector2f(vec.x, vec.y) } + ) + + val DURATION: Codec = Codec.STRING.xmap(Duration::parse, Duration::toString) +}