Skip to content

Commit 55b0c8f

Browse files
committed
refactor(render): cleanup consolidate triplicated stencil implementations into shared utility
- Create unified StencilUtils.kt with all stencil functionality - Migrate 6 files from Stencil/StencilUtil to StencilUtils - Remove duplicate Stencil.java and StencilUtil.java - Add deprecation warnings to RenderUtils delegates - Reduce codebase by 191 lines of duplicate code"
1 parent 459bf3c commit 55b0c8f

10 files changed

Lines changed: 313 additions & 331 deletions

File tree

src/main/java/net/ccbluex/liquidbounce/ui/client/clickgui/style/styles/fdpdropdown/DropdownCategory.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import net.ccbluex.liquidbounce.utils.animations.impl.DecelerateAnimation
1616
import net.ccbluex.liquidbounce.ui.client.clickgui.style.styles.fdpdropdown.utils.normal.Main
1717
import net.ccbluex.liquidbounce.ui.client.clickgui.style.styles.fdpdropdown.utils.normal.Screen
1818
import net.ccbluex.liquidbounce.utils.render.RenderUtils
19-
import net.ccbluex.liquidbounce.ui.client.clickgui.style.styles.fdpdropdown.utils.render.StencilUtil
19+
import net.ccbluex.liquidbounce.utils.render.StencilUtils
2020
import net.ccbluex.liquidbounce.ui.font.Fonts
2121
import net.ccbluex.liquidbounce.utils.client.MinecraftInstance.Companion.mc
2222
import net.ccbluex.liquidbounce.utils.extensions.roundToHalf
@@ -165,7 +165,7 @@ class DropdownCategory(private val category: Category) : Screen {
165165
)
166166

167167
// Draw modules inside a scissored region for scrolling
168-
StencilUtil.initStencilToWrite()
168+
StencilUtils.initStencilToWrite()
169169
RenderUtils.drawGradientRect(
170170
(x - 100).toDouble(),
171171
(y + categoryRectHeight).toDouble(),
@@ -175,7 +175,7 @@ class DropdownCategory(private val category: Category) : Screen {
175175
-1,
176176
0F
177177
)
178-
StencilUtil.readStencilBuffer(1)
178+
StencilUtils.readStencilBuffer(1)
179179

180180
val scroll = category.scroll.scroll.toDouble()
181181
var count = 0.0
@@ -205,7 +205,7 @@ class DropdownCategory(private val category: Category) : Screen {
205205
category.scroll.maxScroll = max(0.0, hiddenHeight.toDouble()).toFloat()
206206
}
207207

208-
StencilUtil.uninitStencilBuffer()
208+
StencilUtils.uninitStencilBuffer()
209209
}
210210

211211
override fun mouseClicked(mouseX: Int, mouseY: Int, button: Int) {

src/main/java/net/ccbluex/liquidbounce/ui/client/clickgui/style/styles/fdpdropdown/utils/render/StencilUtil.java

Lines changed: 0 additions & 68 deletions
This file was deleted.

src/main/java/net/ccbluex/liquidbounce/ui/client/clickgui/style/styles/nlclickgui/NeverloseGui.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import net.ccbluex.liquidbounce.FDPClient.CLIENT_NAME
1212
import net.ccbluex.liquidbounce.features.module.Category
1313
import net.ccbluex.liquidbounce.features.module.modules.client.SpotifyModule
1414
import net.ccbluex.liquidbounce.ui.client.clickgui.style.styles.fdpdropdown.SideGui.SideGui
15-
import net.ccbluex.liquidbounce.ui.client.clickgui.style.styles.fdpdropdown.utils.render.StencilUtil
15+
import net.ccbluex.liquidbounce.utils.render.StencilUtils
1616
import net.ccbluex.liquidbounce.ui.client.clickgui.style.styles.nlclickgui.Config.Configs
1717
import net.ccbluex.liquidbounce.ui.client.clickgui.style.styles.nlclickgui.Config.NeverloseConfigManager
1818
import net.ccbluex.liquidbounce.utils.animations.Animation
@@ -136,11 +136,11 @@ class NeverloseGui : GuiScreen() {
136136
RoundedUtil.drawRound(x.toFloat(), y.toFloat(), w.toFloat(), h.toFloat(), 4f, if (light) Color(240, 245, 248, 230) else Color(7, 13, 23, 230))
137137
bloomFramebuffer.unbindFramebuffer()
138138
BloomUtil.renderBlur(bloomFramebuffer.framebufferTexture, 6, 3)
139-
StencilUtil.initStencilToWrite()
139+
StencilUtils.initStencilToWrite()
140140
RoundedUtil.drawRound(x.toFloat(), y.toFloat(), w.toFloat(), h.toFloat(), 4f, if (light) Color(240, 245, 248, 230) else Color(7, 13, 23, 230))
141-
StencilUtil.readStencilBuffer(1)
141+
StencilUtils.readStencilBuffer(1)
142142
GaussianBlur.renderBlur(10F)
143-
StencilUtil.uninitStencilBuffer()
143+
StencilUtils.uninitStencilBuffer()
144144
RoundedUtil.drawRound(x.toFloat(), y.toFloat(), w.toFloat(), h.toFloat(), 2f, if (light) Color(240, 245, 248, 230) else Color(7, 13, 23, 230))
145145
RoundedUtil.drawRound((x + 90).toFloat(), (y + HEADER_HEIGHT).toFloat(), (w - 90).toFloat(), (h - HEADER_HEIGHT).toFloat(), 1f, if (light) Color(255, 255, 255) else Color(9, 9, 9))
146146
RoundedUtil.drawRound((x + 90).toFloat(), y.toFloat(), (w - 90).toFloat(), HEADER_HEIGHT.toFloat(), 1f, if (light) Color(255, 255, 255) else Color(9, 9, 9))

src/main/java/net/ccbluex/liquidbounce/ui/client/hud/element/elements/Notifications.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import net.ccbluex.liquidbounce.ui.font.Fonts.fontSemibold35
2020
import net.ccbluex.liquidbounce.utils.io.APIConnectorUtils
2121
import net.ccbluex.liquidbounce.utils.render.RenderUtils
2222
import net.ccbluex.liquidbounce.utils.render.RenderUtils.drawRect
23-
import net.ccbluex.liquidbounce.utils.render.Stencil
23+
import net.ccbluex.liquidbounce.utils.render.StencilUtils
2424
import net.ccbluex.liquidbounce.utils.render.animation.AnimationUtil.easeInBackNotify
2525
import net.ccbluex.liquidbounce.utils.render.animation.AnimationUtil.easeOutBackNotify
2626
import net.ccbluex.liquidbounce.utils.render.ColorUtils.fade
@@ -248,7 +248,7 @@ class Notification(
248248
val y = firstYz
249249
val kek = -x - 1 - 20F
250250
resetColor()
251-
Stencil.write(true)
251+
StencilUtils.write(true)
252252
when (type) {
253253
Type.ERROR -> {
254254
drawRect(
@@ -307,9 +307,9 @@ class Notification(
307307
)
308308
}
309309
}
310-
Stencil.erase(true)
310+
StencilUtils.erase(true)
311311
resetColor()
312-
Stencil.dispose()
312+
StencilUtils.dispose()
313313
GL11.glPushMatrix()
314314
GlStateManager.disableAlpha()
315315
resetColor()

src/main/java/net/ccbluex/liquidbounce/ui/client/hud/element/elements/targets/impl/ChillTH.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import net.ccbluex.liquidbounce.ui.client.hud.element.elements.targets.TargetSty
1414
import net.ccbluex.liquidbounce.ui.client.hud.element.elements.targets.utils.CharRenderer
1515
import net.ccbluex.liquidbounce.utils.extensions.darker
1616
import net.ccbluex.liquidbounce.utils.render.RenderUtils
17-
import net.ccbluex.liquidbounce.utils.render.Stencil
17+
import net.ccbluex.liquidbounce.utils.render.StencilUtils
1818
import net.minecraft.client.renderer.GlStateManager
1919
import net.minecraft.entity.EntityLivingBase
2020
import org.lwjgl.opengl.GL11
@@ -54,16 +54,16 @@ class ChillTH(inst: Targets) : TargetStyle("Chill", inst, true) {
5454
GL11.glColor4f(1F, 1F, 1F, 1F)
5555

5656
if (playerInfo != null) {
57-
Stencil.write(false)
57+
StencilUtils.write(false)
5858
GL11.glDisable(GL11.GL_TEXTURE_2D)
5959
GL11.glEnable(GL11.GL_BLEND)
6060
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA)
6161
RenderUtils.fastRoundedRect(4F, 4F, 34F, 34F, 7F)
6262
GL11.glDisable(GL11.GL_BLEND)
6363
GL11.glEnable(GL11.GL_TEXTURE_2D)
64-
Stencil.erase(true)
64+
StencilUtils.erase(true)
6565
drawHead(playerInfo.locationSkin, 4, 4, 30, 30, (1F - targetInstance.getFadeProgress()).toInt().toFloat())
66-
Stencil.dispose()
66+
StencilUtils.dispose()
6767
}
6868

6969
GlStateManager.resetColor()
@@ -85,13 +85,13 @@ class ChillTH(inst: Targets) : TargetStyle("Chill", inst, true) {
8585

8686
RenderUtils.drawRoundedRect(4F, 38F, tWidth - 4F, 44F, 3F, targetInstance.barColor.darker(0.5F).rgb)
8787

88-
Stencil.write(false)
88+
StencilUtils.write(false)
8989
GL11.glDisable(GL11.GL_TEXTURE_2D)
9090
GL11.glEnable(GL11.GL_BLEND)
9191
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA)
9292
RenderUtils.fastRoundedRect(4F, 38F, tWidth - 4F, 44F, 3F)
9393
GL11.glDisable(GL11.GL_BLEND)
94-
Stencil.erase(true)
94+
StencilUtils.erase(true)
9595
if (chillRoundValue)
9696
RenderUtils.customRounded(
9797
4F,
@@ -112,7 +112,7 @@ class ChillTH(inst: Targets) : TargetStyle("Chill", inst, true) {
112112
44F,
113113
targetInstance.barColor.rgb
114114
)
115-
Stencil.dispose()
115+
StencilUtils.dispose()
116116
}
117117

118118
override fun getBorder(entity: EntityLivingBase?): Border {

src/main/java/net/ccbluex/liquidbounce/ui/client/hud/element/elements/targets/impl/CrossSineTH.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import net.ccbluex.liquidbounce.utils.render.RenderUtils.drawRoundedGradientRect
1515
import net.ccbluex.liquidbounce.utils.render.RenderUtils.drawRoundedRect
1616
import net.ccbluex.liquidbounce.utils.render.RenderUtils.drawHead
1717
import net.ccbluex.liquidbounce.utils.render.RenderUtils.fastRoundedRect
18-
import net.ccbluex.liquidbounce.utils.render.Stencil
18+
import net.ccbluex.liquidbounce.utils.render.StencilUtils
1919
import net.minecraft.client.renderer.GlStateManager.disableAlpha
2020
import net.minecraft.client.renderer.GlStateManager.disableBlend
2121
import net.minecraft.client.renderer.GlStateManager.enableBlend
@@ -68,16 +68,16 @@ class CrossSineTH(inst: Targets) : TargetStyle("CrossSine", inst, true) {
6868
glPushMatrix()
6969
glTranslatef(7f, 7f, 0f)
7070
glColor4f(1f, 1 - entity.hurtPercent, 1 - entity.hurtPercent, 1f)
71-
Stencil.write(false)
71+
StencilUtils.write(false)
7272
glDisable(GL_TEXTURE_2D)
7373
glEnable(GL_BLEND)
7474
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
7575
fastRoundedRect(-2F, -3F, 33F, 33F, 8F)
7676
glDisable(GL_BLEND)
7777
glEnable(GL_TEXTURE_2D)
78-
Stencil.erase(true)
78+
StencilUtils.erase(true)
7979
drawHead(entity.skin, -2, -3, 35, 35, Color(255, 255, 255, fadeAlpha(255)).rgb)
80-
Stencil.dispose()
80+
StencilUtils.dispose()
8181
glPopMatrix()
8282
disableAlpha()
8383
disableBlend()

src/main/java/net/ccbluex/liquidbounce/ui/client/hud/element/elements/targets/impl/ModernTH.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import net.ccbluex.liquidbounce.utils.client.ClientThemesUtils.getColorWithAlpha
1313
import net.ccbluex.liquidbounce.utils.extensions.hurtPercent
1414
import net.ccbluex.liquidbounce.utils.extensions.skin
1515
import net.ccbluex.liquidbounce.utils.render.RenderUtils
16-
import net.ccbluex.liquidbounce.utils.render.Stencil
16+
import net.ccbluex.liquidbounce.utils.render.StencilUtils
1717
import net.minecraft.client.renderer.GlStateManager
1818
import net.minecraft.entity.EntityLivingBase
1919
import org.lwjgl.opengl.GL11
@@ -46,16 +46,16 @@ class ModernTH(inst: Targets) : TargetStyle("Modern", inst, true) {
4646
GL11.glPushMatrix()
4747
GL11.glTranslatef(9f, 10f, 0f)
4848
GL11.glColor4f(1f, 1 - entity.hurtPercent, 1 - entity.hurtPercent, 1f)
49-
Stencil.write(false)
49+
StencilUtils.write(false)
5050
GL11.glDisable(GL11.GL_TEXTURE_2D)
5151
GL11.glEnable(GL11.GL_BLEND)
5252
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA)
5353
RenderUtils.fastRoundedRect(-2F, -3F, 33F, 33F, 8F)
5454
GL11.glDisable(GL11.GL_BLEND)
5555
GL11.glEnable(GL11.GL_TEXTURE_2D)
56-
Stencil.erase(true)
56+
StencilUtils.erase(true)
5757
RenderUtils.drawHead(entity.skin, -2, -3, 35, 35, Color(255,255,255,fadeAlpha(255)).rgb)
58-
Stencil.dispose()
58+
StencilUtils.dispose()
5959
GL11.glPopMatrix()
6060
GlStateManager.disableAlpha()
6161
GlStateManager.disableBlend()

0 commit comments

Comments
 (0)