Skip to content
This repository was archived by the owner on Nov 27, 2024. It is now read-only.

Commit 437a7e0

Browse files
committed
only render hud widget in modify screen if they should be rendered normally
1 parent 83207d7 commit 437a7e0

File tree

6 files changed

+22
-18
lines changed

6 files changed

+22
-18
lines changed

src/main/kotlin/dev/nyon/skylper/extensions/render/hud/HudWidget.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ interface HudWidget {
4646
}
4747

4848
fun clear()
49+
fun shouldRender(): Boolean
4950

5051
fun update() {
5152
clear()

src/main/kotlin/dev/nyon/skylper/skyblock/mining/hollows/render/TotalPowderWidget.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import dev.nyon.skylper.extensions.math.format
77
import dev.nyon.skylper.extensions.render.hud.TableHudWidget
88
import dev.nyon.skylper.extensions.render.hud.components.PlainTextHudComponent
99
import dev.nyon.skylper.independentScope
10+
import dev.nyon.skylper.skyblock.data.online.IslandGroups
11+
import dev.nyon.skylper.skyblock.data.session.PlayerSessionData
1012
import dev.nyon.skylper.skyblock.data.skylper.currentProfile
1113
import kotlinx.coroutines.delay
1214
import kotlinx.coroutines.launch
@@ -74,6 +76,10 @@ object TotalPowderWidget :
7476
)
7577
}
7678

79+
override fun shouldRender(): Boolean {
80+
return IslandGroups.groups.mining.contains(PlayerSessionData.currentArea) && config.mining.totalPowderOverlay.enabled
81+
}
82+
7783
init {
7884
init()
7985

src/main/kotlin/dev/nyon/skylper/skyblock/mining/hollows/tracker/nucleus/CrystalCompletionWidget.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import dev.nyon.skylper.extensions.render.hud.TableHudWidget
66
import dev.nyon.skylper.extensions.render.hud.components.PlainTextHudComponent
77
import dev.nyon.skylper.independentScope
88
import dev.nyon.skylper.skyblock.data.skylper.currentProfile
9+
import dev.nyon.skylper.skyblock.mining.hollows.HollowsModule
910
import kotlinx.coroutines.delay
1011
import kotlinx.coroutines.launch
1112
import net.minecraft.network.chat.Component
@@ -37,6 +38,10 @@ object CrystalCompletionWidget : TableHudWidget(
3738
}
3839
}
3940

41+
override fun shouldRender(): Boolean {
42+
return HollowsModule.isPlayerInHollows && config.mining.crystalHollows.crystalOverlay.enabled
43+
}
44+
4045
init {
4146
init()
4247

src/main/kotlin/dev/nyon/skylper/skyblock/mining/hollows/tracker/powder/PowderGrindingTracker.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,10 @@ object PowderGrindingTracker : Tracker<PowderGrindingData>("hollows.powder_grind
139139
override val updateTriggerEvents: List<KClass<out Event<out Any>>> =
140140
listOf(BossBarNameUpdate::class, MessageEvent::class)
141141

142+
override fun shouldRender(): Boolean {
143+
return HollowsModule.isPlayerInHollows && dev.nyon.skylper.config.config.mining.crystalHollows.powderGrindingOverlay.enabled && PowderGrindingTracker.isGrinding
144+
}
145+
142146
init {
143147
init()
144148
}
Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,26 @@
11
package dev.nyon.skylper.skyblock.render
22

3-
import dev.nyon.skylper.config.config
43
import dev.nyon.skylper.extensions.event.EventHandler.listenEvent
54
import dev.nyon.skylper.extensions.event.RenderHudEvent
65
import dev.nyon.skylper.extensions.render.hud.HudWidget
7-
import dev.nyon.skylper.skyblock.data.online.IslandGroups
8-
import dev.nyon.skylper.skyblock.data.session.PlayerSessionData
96
import dev.nyon.skylper.skyblock.mining.hollows.render.TotalPowderWidget
10-
import dev.nyon.skylper.skyblock.mining.hollows.HollowsModule
117
import dev.nyon.skylper.skyblock.mining.hollows.tracker.nucleus.CrystalCompletionWidget
128
import dev.nyon.skylper.skyblock.mining.hollows.tracker.powder.PowderGrindingTracker
139
import net.minecraft.client.gui.GuiGraphics
1410

1511
object SkylperHud {
1612
fun init() {
1713
listenEvent<RenderHudEvent, Unit> {
18-
context.renderWidget(CrystalCompletionWidget) {
19-
HollowsModule.isPlayerInHollows && config.mining.crystalHollows.crystalOverlay.enabled
20-
}
21-
22-
context.renderWidget(PowderGrindingTracker) {
23-
HollowsModule.isPlayerInHollows && config.mining.crystalHollows.powderGrindingOverlay.enabled && PowderGrindingTracker.isGrinding
24-
}
25-
26-
context.renderWidget(TotalPowderWidget) {
27-
IslandGroups.groups.mining.contains(PlayerSessionData.currentArea) && config.mining.totalPowderOverlay.enabled
28-
}
14+
context.renderWidget(CrystalCompletionWidget)
15+
context.renderWidget(PowderGrindingTracker)
16+
context.renderWidget(TotalPowderWidget)
2917
}
3018
}
3119

3220
private fun GuiGraphics.renderWidget(
33-
widget: HudWidget, condition: () -> Boolean
21+
widget: HudWidget
3422
) {
35-
if (!condition()) return
23+
if (!widget.shouldRender()) return
3624
widget.render(this, 0, 0)
3725
}
3826
}

src/main/kotlin/dev/nyon/skylper/skyblock/render/SkylperHudModifier.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class SkylperHudModifier(private val parent: Screen?) :
3434
ChatFormatting.GRAY.color!!
3535
)
3636

37-
enabledWidgets.forEach {
37+
enabledWidgets.filter(HudWidget::shouldRender).forEach {
3838
it.render(guiGraphics, mouseX, mouseY)
3939
}
4040
}

0 commit comments

Comments
 (0)