diff options
| author | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2022-09-24 19:46:16 +0200 |
|---|---|---|
| committer | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2022-09-24 19:46:16 +0200 |
| commit | 8473e51483dfed0acf3ce7539a001022fa04231b (patch) | |
| tree | 73c472e7372536c5a6ebdb5e325dbed9e0aa4c37 /src/main/java/at/hannibal2/skyhanni/data | |
| parent | d72c67ce53f5114152294df4317b6c9d3639ddf3 (diff) | |
| download | SkyHanni-8473e51483dfed0acf3ce7539a001022fa04231b.tar.gz SkyHanni-8473e51483dfed0acf3ce7539a001022fa04231b.tar.bz2 SkyHanni-8473e51483dfed0acf3ce7539a001022fa04231b.zip | |
slayer quest warnings and slayer drops
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
3 files changed, 100 insertions, 12 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt b/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt index 929515283..fc458b6d2 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/HypixelData.kt @@ -1,6 +1,6 @@ package at.hannibal2.skyhanni.data -import at.hannibal2.skyhanni.events.LocationChangeEvent +import at.hannibal2.skyhanni.events.IslandChangeEvent import at.hannibal2.skyhanni.events.LorenzChatEvent import at.hannibal2.skyhanni.events.ProfileJoinEvent import at.hannibal2.skyhanni.utils.LorenzLogger @@ -17,10 +17,21 @@ class HypixelData { companion object { var hypixel = false var skyblock = false - var skyBlockArea: String = "" + var skyBlockIsland: String = "" + + fun readSkyBlockArea(): String { + for (line in ScoreboardData.sidebarLinesFormatted()) { + if (line.startsWith(" §7⏣ ")) { + return line.substring(5).removeColor() + } + } + + return "invalid" + } + } - var loggerLocationChange = LorenzLogger("debug/location_change") + var loggerIslandChange = LorenzLogger("debug/island_change") @SubscribeEvent fun onConnect(event: FMLNetworkEvent.ClientConnectedToServerEvent) { @@ -79,24 +90,24 @@ class HypixelData { } private fun checkMode() { - var newArea = "" + var newIsland = "" var guesting = false for (line in TabListUtils.getTabList()) { if (line.startsWith("§r§b§lArea: ")) { - newArea = line.split(": ")[1].removeColor() + newIsland = line.split(": ")[1].removeColor() } if (line == "§r Status: §r§9Guest§r") { guesting = true } } if (guesting) { - newArea = "$newArea guesting" + newIsland = "$newIsland guesting" } - if (skyBlockArea != newArea) { - LocationChangeEvent(newArea, skyBlockArea).postAndCatch() - loggerLocationChange.log(newArea) - skyBlockArea = newArea + if (skyBlockIsland != newIsland) { + IslandChangeEvent(newIsland, skyBlockIsland).postAndCatch() + loggerIslandChange.log(newIsland) + skyBlockIsland = newIsland } } diff --git a/src/main/java/at/hannibal2/skyhanni/data/ScoreboardData.kt b/src/main/java/at/hannibal2/skyhanni/data/ScoreboardData.kt index 4fe80a0ac..495deabb9 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/ScoreboardData.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/ScoreboardData.kt @@ -11,6 +11,42 @@ import net.minecraftforge.fml.common.gameevent.TickEvent class ScoreboardData { companion object { + + private val splitIcons = listOf( + "\uD83C\uDF6B", + "\uD83D\uDCA3", + "\uD83D\uDC7D", + "\uD83D\uDD2E", + "\uD83D\uDC0D", + "\uD83D\uDC7E", + "\uD83C\uDF20", + "\uD83C\uDF6D", + "⚽", + "\uD83C\uDFC0", + "\uD83D\uDC79", + "\uD83C\uDF81", + "\uD83C\uDF89", + "\uD83C\uDF82", + ) + + fun sidebarLinesFormatted(): List<String> { + val list = mutableListOf<String>() + for (line in sidebarLinesRaw) { + val seperator = splitIcons.find { line.contains(it) }!! + val split = line.split(seperator) + val start = split[0] + var end = split[1] + if (end.length >= 2) { + end = end.substring(2) + } + + list.add(start+end) + + } + + return list + } + var sidebarLines: List<String> = emptyList() var sidebarLinesRaw: List<String> = emptyList() } @@ -33,8 +69,7 @@ class ScoreboardData { 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("#") + input != null && input.playerName != null && !input.playerName.startsWith("#") } scores = if (list.size > 15) { list.drop(15) diff --git a/src/main/java/at/hannibal2/skyhanni/data/SendTitleHelper.kt b/src/main/java/at/hannibal2/skyhanni/data/SendTitleHelper.kt new file mode 100644 index 000000000..eda151f97 --- /dev/null +++ b/src/main/java/at/hannibal2/skyhanni/data/SendTitleHelper.kt @@ -0,0 +1,42 @@ +package at.hannibal2.skyhanni.data + +import at.hannibal2.skyhanni.config.core.util.render.TextRenderUtils +import net.minecraft.client.Minecraft +import net.minecraft.client.gui.ScaledResolution +import net.minecraft.client.renderer.GlStateManager +import net.minecraftforge.client.event.RenderGameOverlayEvent +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +class SendTitleHelper { + + companion object { + private var textToRender = "" + private var endTime = 0L + + fun sendTitle(text: String, duration: Int) { + textToRender = text + endTime = System.currentTimeMillis() + duration + } + } + + @SubscribeEvent + fun renderOverlay(event: RenderGameOverlayEvent.Post) { + if (event.type != RenderGameOverlayEvent.ElementType.ALL) return + + if (System.currentTimeMillis() > endTime) return + + val scaledResolution = ScaledResolution(Minecraft.getMinecraft()) + val width = scaledResolution.scaledWidth + val height = scaledResolution.scaledHeight + + GlStateManager.enableBlend() + GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0) + val renderer = Minecraft.getMinecraft().fontRendererObj + + GlStateManager.pushMatrix() + GlStateManager.translate((width / 2).toFloat(), (height / 1.8).toFloat(), 0.0f) + GlStateManager.scale(4.0f, 4.0f, 4.0f) + TextRenderUtils.drawStringCenteredScaledMaxWidth(textToRender, renderer, 0f, 0f, false, 75, 0) + GlStateManager.popMatrix() + } +}
\ No newline at end of file |
