diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2025-08-16 06:19:02 -0400 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2025-08-17 13:56:47 +0200 |
commit | d4ad7c937a380fea675592053ad6a2ee32be9bd3 (patch) | |
tree | 618e20eebf29abd8c642044cff01c9a2789a2361 | |
parent | e3b4611da91527c39fbc9ac501f2e131170bf43d (diff) | |
download | Firmament-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)
-rw-r--r-- | src/main/kotlin/apis/Profiles.kt | 2 | ||||
-rw-r--r-- | src/main/kotlin/util/json/InstantAsLongSerializer.kt | 6 | ||||
-rw-r--r-- | src/main/kotlin/util/mc/SkullItemData.kt | 5 |
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) { |