diff options
| author | Lorenz <ESs95s3P5z8Pheb> | 2022-07-09 03:20:48 +0200 |
|---|---|---|
| committer | Lorenz <ESs95s3P5z8Pheb> | 2022-07-09 03:20:48 +0200 |
| commit | b1749bd349f8be962fe00469d8d9d754422ff850 (patch) | |
| tree | 6adfe526a4e9cd9e0544df53ff902a56c823bea7 /src/main/java/at/lorenz/mod/misc | |
| parent | aa59a556087370f5b0488b33a01c4876e0d9b7b3 (diff) | |
| download | SkyHanni-b1749bd349f8be962fe00469d8d9d754422ff850.tar.gz SkyHanni-b1749bd349f8be962fe00469d8d9d754422ff850.tar.bz2 SkyHanni-b1749bd349f8be962fe00469d8d9d754422ff850.zip | |
add dungeon api stuff
Diffstat (limited to 'src/main/java/at/lorenz/mod/misc')
| -rw-r--r-- | src/main/java/at/lorenz/mod/misc/HypixelData.kt | 1 | ||||
| -rw-r--r-- | src/main/java/at/lorenz/mod/misc/ScoreboardData.kt | 45 |
2 files changed, 46 insertions, 0 deletions
diff --git a/src/main/java/at/lorenz/mod/misc/HypixelData.kt b/src/main/java/at/lorenz/mod/misc/HypixelData.kt index 0c2de6683..9d83e2679 100644 --- a/src/main/java/at/lorenz/mod/misc/HypixelData.kt +++ b/src/main/java/at/lorenz/mod/misc/HypixelData.kt @@ -1,5 +1,6 @@ package at.lorenz.mod.misc +import at.lorenz.mod.events.DungeonEnterEvent import at.lorenz.mod.events.PacketEvent import at.lorenz.mod.utils.LorenzUtils import net.minecraft.client.Minecraft diff --git a/src/main/java/at/lorenz/mod/misc/ScoreboardData.kt b/src/main/java/at/lorenz/mod/misc/ScoreboardData.kt new file mode 100644 index 000000000..e1735104d --- /dev/null +++ b/src/main/java/at/lorenz/mod/misc/ScoreboardData.kt @@ -0,0 +1,45 @@ +package at.lorenz.mod.misc + +import at.lorenz.mod.utils.LorenzUtils.removeColorCodes +import net.minecraft.client.Minecraft +import net.minecraft.scoreboard.Score +import net.minecraft.scoreboard.ScorePlayerTeam +import net.minecraftforge.fml.common.eventhandler.EventPriority +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent +import net.minecraftforge.fml.common.gameevent.TickEvent + +class ScoreboardData { + + companion object { + var sidebarLines: List<String> = emptyList() + } + + @SubscribeEvent(priority = EventPriority.HIGHEST) + fun onTick(event: TickEvent.ClientTickEvent) { + if (event.phase != TickEvent.Phase.START) return + + sidebarLines = fetchScoreboardLines().map { cleanSB(it) } + } + + private fun cleanSB(scoreboard: String): String { + return scoreboard.removeColorCodes().toCharArray().filter { it.code in 21..126 }.joinToString(separator = "") + } + + fun fetchScoreboardLines(): List<String> { + val scoreboard = Minecraft.getMinecraft().theWorld?.scoreboard ?: return emptyList() + val objective = scoreboard.getObjectiveInDisplaySlot(1) ?: return emptyList() + var scores = scoreboard.getSortedScores(objective) + val list = scores.filter { input: Score? -> + input != null && input.playerName != null && !input.playerName + .startsWith("#") + } + scores = if (list.size > 15) { + list.drop(15) + } else { + list + } + return scores.map { + ScorePlayerTeam.formatPlayerName(scoreboard.getPlayersTeam(it.playerName), it.playerName) + } + } +}
\ No newline at end of file |
