summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils/json
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils/json')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/json/SkyHanniTypeAdapters.kt29
1 files changed, 19 insertions, 10 deletions
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<UUID> = SimpleStringTypeAdapter(
{ this.toString() },
- { java.util.UUID.fromString(this) }
+ { java.util.UUID.fromString(this) },
)
val INTERNAL_NAME: TypeAdapter<NEUInternalName> = SimpleStringTypeAdapter(
{ this.asString() },
- { this.asInternalName() }
+ { this.asInternalName() },
)
val VEC_STRING: TypeAdapter<LorenzVec> = SimpleStringTypeAdapter(
{ "$x:$y:$z" },
- { LorenzVec.decodeFromString(this) }
+ { LorenzVec.decodeFromString(this) },
)
val TROPHY_RARITY: TypeAdapter<TrophyRarity> = 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<SimpleTimeMark> = object : TypeAdapter<SimpleTimeMark>() {
@@ -54,12 +55,17 @@ object SkyHanniTypeAdapters {
val CROP_TYPE: TypeAdapter<CropType> = SimpleStringTypeAdapter(
{ name },
- { CropType.getByName(this) }
+ { CropType.getByName(this) },
)
val PEST_TYPE: TypeAdapter<PestType> = SimpleStringTypeAdapter(
{ name },
- { PestType.getByName(this) }
+ { PestType.getByName(this) },
+ )
+
+ val SKYBLOCK_STAT: TypeAdapter<SkyblockStat> = SimpleStringTypeAdapter(
+ { name.lowercase() },
+ { SkyblockStat.valueOf(this.uppercase()) },
)
val TRACKER_DISPLAY_MODE = SimpleStringTypeAdapter.forEnum<SkyHanniTracker.DefaultDisplayMode>()
@@ -70,10 +76,13 @@ object SkyHanniTypeAdapters {
crossinline write: (JsonWriter, T) -> Unit,
crossinline read: (JsonReader) -> T,
): GsonBuilder {
- this.registerTypeAdapter(T::class.java, object : TypeAdapter<T>() {
- 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<T>() {
+ override fun write(out: JsonWriter, value: T) = write(out, value)
+ override fun read(reader: JsonReader) = read(reader)
+ }.nullSafe(),
+ )
return this
}
}