aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorJ10a1n15 <45315647+j10a1n15@users.noreply.github.com>2024-03-22 18:01:54 +0100
committerGitHub <noreply@github.com>2024-03-22 18:01:54 +0100
commit6231ce3132dd22b539ed76d5999d281d9109ae0b (patch)
treee20a76218906d86e25a9b7cb2353d08005f4f0b3 /src/main/java
parentdd99f8ad84abcb08a446a6d02ae471b177326925 (diff)
downloadskyhanni-6231ce3132dd22b539ed76d5999d281d9109ae0b.tar.gz
skyhanni-6231ce3132dd22b539ed76d5999d281d9109ae0b.tar.bz2
skyhanni-6231ce3132dd22b539ed76d5999d281d9109ae0b.zip
Improvement: Add new Alpha Content to Custom Scoreboard (#1238)
Co-authored-by: Cal <cwolfson58@gmail.com> Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/gui/customscoreboard/ScoreboardElements.kt51
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/gui/customscoreboard/ScoreboardPattern.kt12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt3
3 files changed, 48 insertions, 18 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/features/gui/customscoreboard/ScoreboardElements.kt b/src/main/java/at/hannibal2/skyhanni/features/gui/customscoreboard/ScoreboardElements.kt
index 666b2a80b..31accaddb 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/gui/customscoreboard/ScoreboardElements.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/gui/customscoreboard/ScoreboardElements.kt
@@ -90,6 +90,11 @@ enum class ScoreboardElement(
::getHeatShowWhen,
"Heat: §c♨ 0"
),
+ COLD(
+ ::getColdDisplayPair,
+ ::getColdShowWhen,
+ "Cold: §b❄ 0"
+ ),
NORTH_STARS(
::getNorthStarsDisplayPair,
::getNorthStarsShowWhen,
@@ -377,6 +382,21 @@ private fun getHeatDisplayPair(): List<ScoreboardElementType> {
private fun getHeatShowWhen() = inAnyIsland(IslandType.CRYSTAL_HOLLOWS)
&& ScoreboardData.sidebarLinesFormatted.any { ScoreboardPattern.heatPattern.matches(it) }
+private fun getColdDisplayPair(): List<ScoreboardElementType> {
+ val cold = getGroupFromPattern(ScoreboardData.sidebarLinesFormatted, ScoreboardPattern.coldPattern, "cold")
+
+ return listOf(
+ when {
+ informationFilteringConfig.hideEmptyLines && cold == "0" -> "<hidden>"
+ displayConfig.displayNumbersFirst -> "§b❄ $cold Cold"
+ else -> "Cold: §b❄ $cold"
+ } to HorizontalAlignment.LEFT
+ )
+}
+
+private fun getColdShowWhen() = inAnyIsland(IslandType.DWARVEN_MINES, IslandType.MINESHAFT)
+ && ScoreboardData.sidebarLinesFormatted.any { ScoreboardPattern.coldPattern.matches(it) }
+
private fun getNorthStarsDisplayPair(): List<ScoreboardElementType> {
val northStars =
getGroupFromPattern(ScoreboardData.sidebarLinesFormatted, ScoreboardPattern.northstarsPattern, "northstars")
@@ -597,32 +617,33 @@ private fun getQuiverShowWhen(): Boolean {
}
private fun getPowderDisplayPair() = buildList {
- val mithrilPowder =
- getGroupFromPattern(
+ val powderTypes = listOf(
+ "§2Mithril" to getGroupFromPattern(
TabListData.getTabList(),
ScoreboardPattern.mithrilPowderPattern,
"mithrilpowder"
- )
- .formatNum()
- val gemstonePowder =
- getGroupFromPattern(
+ ).formatNum(),
+ "§dGemstone" to getGroupFromPattern(
TabListData.getTabList(),
ScoreboardPattern.gemstonePowderPattern,
"gemstonepowder"
- )
- .formatNum()
+ ).formatNum(),
+ "§bGlacite" to getGroupFromPattern(
+ TabListData.getTabList(),
+ ScoreboardPattern.glacitePowderPattern,
+ "glacitepowder"
+ ).formatNum(),
+ )
- if (informationFilteringConfig.hideEmptyLines && mithrilPowder == "0" && gemstonePowder == "0") {
+ if (informationFilteringConfig.hideEmptyLines && powderTypes.all { it.second == "0" }) {
add("<hidden>" to HorizontalAlignment.LEFT)
} else {
add("§9§lPowder" to HorizontalAlignment.LEFT)
- if (displayConfig.displayNumbersFirst) {
- add(" §7- §2$mithrilPowder Mithril" to HorizontalAlignment.LEFT)
- add(" §7- §d$gemstonePowder Gemstone" to HorizontalAlignment.LEFT)
- } else {
- add(" §7- §fMithril: §2$mithrilPowder" to HorizontalAlignment.LEFT)
- add(" §7- §fGemstone: §d$gemstonePowder" to HorizontalAlignment.LEFT)
+ for ((type, value) in powderTypes) {
+ if (value != "0") {
+ add(" §7- §f$type: $value" to HorizontalAlignment.LEFT)
+ }
}
}
}
diff --git a/src/main/java/at/hannibal2/skyhanni/features/gui/customscoreboard/ScoreboardPattern.kt b/src/main/java/at/hannibal2/skyhanni/features/gui/customscoreboard/ScoreboardPattern.kt
index cc9717ab3..916b5cc8f 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/gui/customscoreboard/ScoreboardPattern.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/gui/customscoreboard/ScoreboardPattern.kt
@@ -18,6 +18,10 @@ object ScoreboardPattern {
"heat",
"^Heat: (?<heat>.*)$"
) // this line is weird (either text or number), ill leave it as is; it even has different colors?
+ val coldPattern by mainSb.pattern(
+ "cold",
+ "^Cold: §.❄ (?<cold>-?\\d+)$"
+ )
val copperPattern by mainSb.pattern(
"copper",
"^(§.)*Copper: (§.)*(?<copper>[\\d,]+).*$"
@@ -167,7 +171,7 @@ object ScoreboardPattern {
private val miningSb = scoreboardGroup.group("mining")
val powderPattern by miningSb.pattern(
"powder",
- "(§.)*᠅ §f(Gemstone|Mithril)( Powder)?(§.)*:?.*$"
+ "(§.)*᠅ §.(Gemstone|Mithril|Glacite)( Powder)?(§.)*:?.*$"
)
val windCompassPattern by miningSb.pattern(
"windcompass",
@@ -279,7 +283,7 @@ object ScoreboardPattern {
private val miscSb = scoreboardGroup.group("misc")
val essencePattern by miscSb.pattern(
"essence",
- "^\\s*(.*)?Essence: §.(?<essence>-?\\d+(:?,\\d{3})*(?:\\.\\d+)?)$"
+ "^\\s*.*Essence: §.(?<essence>-?\\d+(:?,\\d{3})*(?:\\.\\d+)?)$"
)
val brokenRedstonePattern by miscSb.pattern(
"brokenredstone",
@@ -399,6 +403,10 @@ object ScoreboardPattern {
"gemstonepowder",
"^\\s*Gemstone Powder: (?:§.)+(?<gemstonepowder>[\\d,\\.]+)$"
)
+ val glacitePowderPattern by tablistGroup.pattern(
+ "glacitepowder",
+ "^\\s*Glacite Powder: (?:§.)+(?<glacitepowder>[\\d,\\.]+)$"
+ )
val eventNamePattern by tablistGroup.pattern(
"event",
"^\\s*§e§lEvent: §r(?<name>§.*)$"
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt
index ed0af59eb..0c267e6c0 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt
@@ -366,7 +366,8 @@ object LorenzUtils {
@Deprecated("moved", ReplaceWith("ChatUtils.sendMessageToServer(message)"))
fun sendMessageToServer(message: String) = ChatUtils.sendMessageToServer(message)
- fun inAdvancedMiningIsland() = IslandType.DWARVEN_MINES.isInIsland() || IslandType.CRYSTAL_HOLLOWS.isInIsland()
+ fun inAdvancedMiningIsland() =
+ IslandType.DWARVEN_MINES.isInIsland() || IslandType.CRYSTAL_HOLLOWS.isInIsland() || IslandType.MINESHAFT.isInIsland()
fun inMiningIsland() = IslandType.GOLD_MINES.isInIsland() || IslandType.DEEP_CAVERNS.isInIsland()
|| inAdvancedMiningIsland()