aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2025-08-16 06:19:02 -0400
committerLinnea Gräf <nea@nea.moe>2025-08-17 13:56:47 +0200
commitd4ad7c937a380fea675592053ad6a2ee32be9bd3 (patch)
tree618e20eebf29abd8c642044cff01c9a2789a2361 /src
parente3b4611da91527c39fbc9ac501f2e131170bf43d (diff)
downloadFirmament-d4ad7c937a380fea675592053ad6a2ee32be9bd3.tar.gz
Firmament-d4ad7c937a380fea675592053ad6a2ee32be9bd3.tar.bz2
Firmament-d4ad7c937a380fea675592053ad6a2ee32be9bd3.zip
Fix Instant crashes
Uses Java's Instant instead since its more stable and other places seemed to use Java's time APIs as well. (cherry picked from commit 096f1da17cbdd39a4cace3aea0121228be30e576)
Diffstat (limited to 'src')
-rw-r--r--src/main/kotlin/apis/Profiles.kt2
-rw-r--r--src/main/kotlin/util/json/InstantAsLongSerializer.kt6
-rw-r--r--src/main/kotlin/util/mc/SkullItemData.kt5
3 files changed, 6 insertions, 7 deletions
diff --git a/src/main/kotlin/apis/Profiles.kt b/src/main/kotlin/apis/Profiles.kt
index 156de89..a6c334b 100644
--- a/src/main/kotlin/apis/Profiles.kt
+++ b/src/main/kotlin/apis/Profiles.kt
@@ -6,7 +6,7 @@ package moe.nea.firmament.apis
import io.github.moulberry.repo.constants.Leveling
import io.github.moulberry.repo.data.Rarity
-import kotlinx.datetime.Instant
+import java.time.Instant
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable
import kotlinx.serialization.UseSerializers
diff --git a/src/main/kotlin/util/json/InstantAsLongSerializer.kt b/src/main/kotlin/util/json/InstantAsLongSerializer.kt
index ad738dc..51b5f0a 100644
--- a/src/main/kotlin/util/json/InstantAsLongSerializer.kt
+++ b/src/main/kotlin/util/json/InstantAsLongSerializer.kt
@@ -2,7 +2,7 @@
package moe.nea.firmament.util.json
-import kotlinx.datetime.Instant
+import java.time.Instant
import kotlinx.serialization.KSerializer
import kotlinx.serialization.descriptors.PrimitiveKind
import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
@@ -13,10 +13,10 @@ import kotlinx.serialization.encoding.Encoder
object InstantAsLongSerializer : KSerializer<Instant> {
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("InstantAsLongSerializer", PrimitiveKind.LONG)
override fun deserialize(decoder: Decoder): Instant {
- return Instant.fromEpochMilliseconds(decoder.decodeLong())
+ return Instant.ofEpochMilli(decoder.decodeLong())
}
override fun serialize(encoder: Encoder, value: Instant) {
- encoder.encodeLong(value.toEpochMilliseconds())
+ encoder.encodeLong(value.toEpochMilli())
}
}
diff --git a/src/main/kotlin/util/mc/SkullItemData.kt b/src/main/kotlin/util/mc/SkullItemData.kt
index 1b7dcba..3a4c508 100644
--- a/src/main/kotlin/util/mc/SkullItemData.kt
+++ b/src/main/kotlin/util/mc/SkullItemData.kt
@@ -5,9 +5,8 @@ package moe.nea.firmament.util.mc
import com.mojang.authlib.GameProfile
import com.mojang.authlib.minecraft.MinecraftProfileTexture
import com.mojang.authlib.properties.Property
+import java.time.Instant
import java.util.UUID
-import kotlinx.datetime.Clock
-import kotlinx.datetime.Instant
import kotlinx.serialization.Serializable
import kotlinx.serialization.UseSerializers
import net.minecraft.component.DataComponentTypes
@@ -32,7 +31,7 @@ data class MinecraftTexturesPayloadKt(
val profileId: UUID? = null,
val profileName: String? = null,
val isPublic: Boolean = true,
- val timestamp: Instant = Clock.System.now(),
+ val timestamp: Instant = Instant.now(),
)
fun GameProfile.setTextures(textures: MinecraftTexturesPayloadKt) {