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 /src | |
| 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)
Diffstat (limited to 'src')
| -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) { |
