From 6eb085f4e2ba69e98934ffa9489c8679ba23d244 Mon Sep 17 00:00:00 2001 From: Thunderblade73 <85900443+Thunderblade73@users.noreply.github.com> Date: Sun, 23 Jun 2024 20:06:17 +0200 Subject: Feature: Reforge helper (#1437) Co-authored-by: CalMWolfs <94038482+CalMWolfs@users.noreply.github.com> Co-authored-by: hannibal2 <24389977+hannibal002@users.noreply.github.com> Co-authored-by: Cal Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../skyhanni/utils/json/SkyHanniTypeAdapters.kt | 29 ++++++++++++++-------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'src/main/java/at/hannibal2/skyhanni/utils/json') diff --git a/src/main/java/at/hannibal2/skyhanni/utils/json/SkyHanniTypeAdapters.kt b/src/main/java/at/hannibal2/skyhanni/utils/json/SkyHanniTypeAdapters.kt index dc50eef74..7859853ca 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/json/SkyHanniTypeAdapters.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/json/SkyHanniTypeAdapters.kt @@ -1,6 +1,7 @@ package at.hannibal2.skyhanni.utils.json import at.hannibal2.skyhanni.data.IslandType +import at.hannibal2.skyhanni.data.model.SkyblockStat import at.hannibal2.skyhanni.features.fishing.trophy.TrophyRarity import at.hannibal2.skyhanni.features.garden.CropType import at.hannibal2.skyhanni.features.garden.pests.PestType @@ -24,22 +25,22 @@ object SkyHanniTypeAdapters { val UUID: TypeAdapter = SimpleStringTypeAdapter( { this.toString() }, - { java.util.UUID.fromString(this) } + { java.util.UUID.fromString(this) }, ) val INTERNAL_NAME: TypeAdapter = SimpleStringTypeAdapter( { this.asString() }, - { this.asInternalName() } + { this.asInternalName() }, ) val VEC_STRING: TypeAdapter = SimpleStringTypeAdapter( { "$x:$y:$z" }, - { LorenzVec.decodeFromString(this) } + { LorenzVec.decodeFromString(this) }, ) val TROPHY_RARITY: TypeAdapter = SimpleStringTypeAdapter( { name }, - { TrophyRarity.getByName(this) ?: error("Could not parse TrophyRarity from '$this'") } + { TrophyRarity.getByName(this) ?: error("Could not parse TrophyRarity from '$this'") }, ) val TIME_MARK: TypeAdapter = object : TypeAdapter() { @@ -54,12 +55,17 @@ object SkyHanniTypeAdapters { val CROP_TYPE: TypeAdapter = SimpleStringTypeAdapter( { name }, - { CropType.getByName(this) } + { CropType.getByName(this) }, ) val PEST_TYPE: TypeAdapter = SimpleStringTypeAdapter( { name }, - { PestType.getByName(this) } + { PestType.getByName(this) }, + ) + + val SKYBLOCK_STAT: TypeAdapter = SimpleStringTypeAdapter( + { name.lowercase() }, + { SkyblockStat.valueOf(this.uppercase()) }, ) val TRACKER_DISPLAY_MODE = SimpleStringTypeAdapter.forEnum() @@ -70,10 +76,13 @@ object SkyHanniTypeAdapters { crossinline write: (JsonWriter, T) -> Unit, crossinline read: (JsonReader) -> T, ): GsonBuilder { - this.registerTypeAdapter(T::class.java, object : TypeAdapter() { - override fun write(out: JsonWriter, value: T) = write(out, value) - override fun read(reader: JsonReader) = read(reader) - }.nullSafe()) + this.registerTypeAdapter( + T::class.java, + object : TypeAdapter() { + override fun write(out: JsonWriter, value: T) = write(out, value) + override fun read(reader: JsonReader) = read(reader) + }.nullSafe(), + ) return this } } -- cgit