Fix rift collections

This commit is contained in:
nea
2023-08-24 18:18:13 +02:00
parent b0cb9a70cd
commit b1962ce66c
3 changed files with 16 additions and 5 deletions

View File

@@ -10,7 +10,7 @@ package moe.nea.firmament.apis
import io.github.moulberry.repo.constants.Leveling import io.github.moulberry.repo.constants.Leveling
import io.github.moulberry.repo.data.Rarity import io.github.moulberry.repo.data.Rarity
import java.util.UUID import java.util.*
import kotlinx.datetime.Instant import kotlinx.datetime.Instant
import kotlinx.serialization.SerialName import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
@@ -90,6 +90,15 @@ enum class Skill(val accessor: KProperty1<Member, Double>, val color: DyeColor,
} }
} }
enum class CollectionCategory(val skill: Skill?, val color: DyeColor, val icon: SkyblockId) {
FARMING(Skill.FARMING, DyeColor.YELLOW, SkyblockId("ROOKIE_HOE")),
FORAGING(Skill.FORAGING, DyeColor.BROWN, SkyblockId("TREECAPITATOR_AXE")),
MINING(Skill.MINING, DyeColor.LIGHT_GRAY, SkyblockId("DIAMOND_PICKAXE")),
FISHING(Skill.FISHING, DyeColor.BLUE, SkyblockId("FARMER_ROD")),
COMBAT(Skill.COMBAT, DyeColor.RED, SkyblockId("UNDEAD_SWORD")),
RIFT(null, DyeColor.PURPLE, SkyblockId("SKYBLOCK_MOTE")),
}
@Serializable @Serializable
@JvmInline @JvmInline
value class CollectionType(val string: String) { value class CollectionType(val string: String) {

View File

@@ -24,6 +24,7 @@ import net.minecraft.text.Style
import net.minecraft.text.Text import net.minecraft.text.Text
import net.minecraft.util.DyeColor import net.minecraft.util.DyeColor
import net.minecraft.util.Formatting import net.minecraft.util.Formatting
import moe.nea.firmament.apis.CollectionCategory
import moe.nea.firmament.apis.CollectionInfo import moe.nea.firmament.apis.CollectionInfo
import moe.nea.firmament.apis.CollectionType import moe.nea.firmament.apis.CollectionType
import moe.nea.firmament.apis.Member import moe.nea.firmament.apis.Member
@@ -97,9 +98,9 @@ object SkillPage : ProfilePage {
return WTabPanel().also { return WTabPanel().also {
val data = HypixelStaticData.collectionData val data = HypixelStaticData.collectionData
val panels = mutableListOf<WPanel>() val panels = mutableListOf<WPanel>()
for ((skill, collections) in data.entries) { for ((collectionKind, collections) in data.entries) {
val skillT = Skill.values().find { it.name == skill } val skillT = CollectionCategory.values().find { it.name == collectionKind }
val color = skillT?.color ?: DyeColor.BLACK val color = skillT?.color ?: DyeColor.WHITE
val icon = skillT?.icon?.let { RepoManager.getNEUItem(it).asItemStack() } ?: ItemStack(Items.ITEM_FRAME) val icon = skillT?.icon?.let { RepoManager.getNEUItem(it).asItemStack() } ?: ItemStack(Items.ITEM_FRAME)
val panel = WBox(Axis.HORIZONTAL).also { val panel = WBox(Axis.HORIZONTAL).also {
it.horizontalAlignment = HorizontalAlignment.CENTER it.horizontalAlignment = HorizontalAlignment.CENTER
@@ -121,7 +122,7 @@ object SkillPage : ProfilePage {
panels.add(panel) panels.add(panel)
it.add(panel) { it.add(panel) {
it.tooltip( it.tooltip(
Text.translatable("firmament.pv.skills.${skill.lowercase()}") Text.translatable("firmament.pv.skills.${collectionKind.lowercase()}")
.styled { it.withColor(color.toTextColor()) }) .styled { it.withColor(color.toTextColor()) })
it.icon(ItemIcon(icon)) it.icon(ItemIcon(icon))
} }

View File

@@ -57,6 +57,7 @@
"firmament.pv.skills.carpentry": "Carpentry", "firmament.pv.skills.carpentry": "Carpentry",
"firmament.pv.skills.combat": "Combat", "firmament.pv.skills.combat": "Combat",
"firmament.pv.skills.social": "Social", "firmament.pv.skills.social": "Social",
"firmament.pv.skills.rift": "Rift",
"firmament.pv.skills.enchanting": "Enchanting", "firmament.pv.skills.enchanting": "Enchanting",
"firmament.pv.skills.total": "Total Exp: %s", "firmament.pv.skills.total": "Total Exp: %s",
"firmament.pv.lookingup": "Looking up %s", "firmament.pv.lookingup": "Looking up %s",