aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/util/skyblock/stats/StatFormatting.kt
blob: 28a329ea01245560e86d43554959e2479211af4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package util.skyblock.stats

import net.minecraft.util.Formatting

data class StatFormatting(
	val name: String,
	val postFix: String,
	val color: Formatting,
	val isStarAffected: Boolean = true,
) {
	companion object {
		fun statIdToName(statId: String): String {
			val segments = statId.split("_")
			return segments.joinToString(" ") { it.replaceFirstChar { it.uppercaseChar() } }
		}
		fun findForName(name: String) =
			formattingOverrides[name] ?: StatFormatting(name, "", Formatting.GREEN)

		fun findForId(id: String) = findForName(statIdToName(id))

		val allFormattingOverrides = listOf(
			StatFormatting("Sea Creature Chance", "%", Formatting.RED),
			StatFormatting("Strength", "", Formatting.RED),
			StatFormatting("Damage", "", Formatting.RED),
			StatFormatting("Bonus Attack Speed", "%", Formatting.RED),
			StatFormatting("Shot Cooldown", "s", Formatting.GREEN, false),
			StatFormatting("Ability Damage", "%", Formatting.RED),
			StatFormatting("Crit Damage", "%", Formatting.RED),
			StatFormatting("Crit Chance", "%", Formatting.RED),
			StatFormatting("Ability Damage", "%", Formatting.RED),
			StatFormatting("Trophy Fish Chance", "%", Formatting.GREEN),
			StatFormatting("Health", "", Formatting.GREEN),
			StatFormatting("Defense", "", Formatting.GREEN),
			StatFormatting("Fishing Speed", "", Formatting.GREEN),
			StatFormatting("Double Hook Chance", "%", Formatting.GREEN),
			StatFormatting("Mining Speed", "", Formatting.GREEN),
			StatFormatting("Mining Fortune", "", Formatting.GREEN),
			StatFormatting("Heat Resistance", "", Formatting.GREEN),
			StatFormatting("Swing Range", "", Formatting.GREEN),
			StatFormatting("Rift Time", "", Formatting.GREEN),
			StatFormatting("Speed", "", Formatting.GREEN),
			StatFormatting("Farming Fortune", "", Formatting.GREEN),
			StatFormatting("True Defense", "", Formatting.GREEN),
			StatFormatting("Mending", "", Formatting.GREEN),
			StatFormatting("Foraging Wisdom", "", Formatting.GREEN),
			StatFormatting("Farming Wisdom", "", Formatting.GREEN),
			StatFormatting("Foraging Fortune", "", Formatting.GREEN),
			StatFormatting("Magic Find", "", Formatting.GREEN),
			StatFormatting("Ferocity", "", Formatting.GREEN),
			StatFormatting("Bonus Pest Chance", "%", Formatting.GREEN),
			StatFormatting("Cold Resistance", "", Formatting.GREEN),
			StatFormatting("Pet Luck", "", Formatting.GREEN),
			StatFormatting("Fear", "", Formatting.GREEN),
			StatFormatting("Mana Regen", "%", Formatting.GREEN),
			StatFormatting("Rift Damage", "", Formatting.GREEN),
			StatFormatting("Hearts", "", Formatting.GREEN),
			StatFormatting("Vitality", "", Formatting.GREEN),
			// TODO: make this a repo json
		)
		val formattingOverrides = allFormattingOverrides.associateBy { it.name }

	}
}