From a36c8f1c0eae969dcee8cf690f12d9121350212d Mon Sep 17 00:00:00 2001 From: nea Date: Sun, 11 Jun 2023 02:43:14 +0200 Subject: Add collection info to skill page --- src/main/kotlin/moe/nea/firmament/apis/Profiles.kt | 57 +++++++++++++++++----- 1 file changed, 45 insertions(+), 12 deletions(-) (limited to 'src/main/kotlin/moe/nea/firmament/apis/Profiles.kt') diff --git a/src/main/kotlin/moe/nea/firmament/apis/Profiles.kt b/src/main/kotlin/moe/nea/firmament/apis/Profiles.kt index 4d4f370..ae23349 100644 --- a/src/main/kotlin/moe/nea/firmament/apis/Profiles.kt +++ b/src/main/kotlin/moe/nea/firmament/apis/Profiles.kt @@ -19,6 +19,32 @@ import moe.nea.firmament.util.json.DashlessUUIDSerializer import moe.nea.firmament.util.json.InstantAsLongSerializer +@Serializable +data class CollectionSkillData( + val items: Map +) + +@Serializable +data class CollectionResponse( + val success: Boolean, + val collections: Map +) + +@Serializable +data class CollectionInfo( + val name: String, + val maxTiers: Int, + val tiers: List +) + +@Serializable +data class CollectionTier( + val tier: Int, + val amountRequired: Long, + val unlocks: List, +) + + @Serializable data class Profiles( val success: Boolean, @@ -35,18 +61,18 @@ data class Profile( val members: Map, ) -enum class Skill(val accessor: KProperty1, val color: DyeColor) { - FARMING(Member::experienceSkillFarming, DyeColor.YELLOW), - FORAGING(Member::experienceSkillForaging, DyeColor.BROWN), - MINING(Member::experienceSkillMining, DyeColor.LIGHT_GRAY), - ALCHEMY(Member::experienceSkillAlchemy, DyeColor.PURPLE), - TAMING(Member::experienceSkillTaming, DyeColor.GREEN), - FISHING(Member::experienceSkillFishing, DyeColor.BLUE), - RUNECRAFTING(Member::experienceSkillRunecrafting, DyeColor.PINK), - CARPENTRY(Member::experienceSkillCarpentry, DyeColor.ORANGE), - COMBAT(Member::experienceSkillCombat, DyeColor.RED), - SOCIAL(Member::experienceSkillSocial, DyeColor.WHITE), - ENCHANTING(Member::experienceSkillEnchanting, DyeColor.MAGENTA), +enum class Skill(val accessor: KProperty1, val color: DyeColor, val icon: SkyblockId) { + FARMING(Member::experienceSkillFarming, DyeColor.YELLOW, SkyblockId("ROOKIE_HOE")), + FORAGING(Member::experienceSkillForaging, DyeColor.BROWN, SkyblockId("TREECAPITATOR_AXE")), + MINING(Member::experienceSkillMining, DyeColor.LIGHT_GRAY, SkyblockId("DIAMOND_PICKAXE")), + ALCHEMY(Member::experienceSkillAlchemy, DyeColor.PURPLE, SkyblockId("BREWING_STAND")), + TAMING(Member::experienceSkillTaming, DyeColor.GREEN, SkyblockId("SUPER_EGG")), + FISHING(Member::experienceSkillFishing, DyeColor.BLUE, SkyblockId("FARMER_ROD")), + RUNECRAFTING(Member::experienceSkillRunecrafting, DyeColor.PINK, SkyblockId("MUSIC_RUNE;1")), + CARPENTRY(Member::experienceSkillCarpentry, DyeColor.ORANGE, SkyblockId("WORKBENCH")), + COMBAT(Member::experienceSkillCombat, DyeColor.RED, SkyblockId("UNDEAD_SWORD")), + SOCIAL(Member::experienceSkillSocial, DyeColor.WHITE, SkyblockId("EGG_HUNT")), + ENCHANTING(Member::experienceSkillEnchanting, DyeColor.MAGENTA, SkyblockId("ENCHANTMENT_TABLE")), ; fun getMaximumLevel(leveling: Leveling) = leveling.maximumLevels[name.lowercase()] ?: TODO("Repo error") @@ -58,6 +84,12 @@ enum class Skill(val accessor: KProperty1, val color: DyeColor) } } +@Serializable +@JvmInline +value class CollectionType(val string: String) { + val skyblockId get() = SkyblockId(string.replace(":", "-").replace("MUSHROOM_COLLECTION", "HUGE_MUSHROOM_2")) +} + @Serializable data class Member( val pets: List = listOf(), @@ -85,6 +117,7 @@ data class Member( val experienceSkillRunecrafting: Double = 0.0, @SerialName("experience_skill_carpentry") val experienceSkillCarpentry: Double = 0.0, + val collection: Map = mapOf() ) @Serializable -- cgit