Skip to content

Commit 953e58b

Browse files
committed
Use RenderEvent.GUI.Fixed event to render text
1 parent 20d17c7 commit 953e58b

File tree

4 files changed

+20
-62
lines changed

4 files changed

+20
-62
lines changed

common/src/main/java/com/lambda/mixin/render/GenericContainerScreenMixin.java

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

common/src/main/kotlin/com/lambda/event/events/RenderEvent.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,6 @@ sealed class RenderEvent {
4242
class Scaled(scaleFactor: Double) : GUI(scaleFactor)
4343
class HUD(scaleFactor: Double) : GUI(scaleFactor)
4444
class Fixed : GUI(1.0)
45-
class Container(val genericContainerScreen: GenericContainerScreen, val drawContext: DrawContext, val mouseX: Int, val mouseY: Int, val delta: Float) : GUI(1.0) {
46-
val mouse = Vec2d(mouseX, mouseY)
47-
}
4845

4946
val screenSize = Vec2d(mc.window.framebufferWidth, mc.window.framebufferHeight) / scale
5047
}

common/src/main/kotlin/com/lambda/module/modules/network/PacketLimiter.kt

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,21 @@ import com.lambda.event.events.PacketEvent
2121
import com.lambda.event.events.PlayerEvent
2222
import com.lambda.event.events.RenderEvent
2323
import com.lambda.event.listener.SafeListener.Companion.listen
24+
import com.lambda.graphics.renderer.gui.FontRenderer
2425
import com.lambda.module.Module
2526
import com.lambda.module.tag.ModuleTag
2627
import com.lambda.util.Communication.info
2728
import com.lambda.util.collections.LimitedDecayQueue
28-
import com.mojang.blaze3d.systems.RenderSystem
29-
import net.minecraft.client.gui.DrawContext
30-
import net.minecraft.client.gui.screen.ingame.HandledScreen
29+
import com.lambda.util.math.Vec2d
30+
import net.minecraft.client.gui.screen.ingame.GenericContainerScreen
3131
import net.minecraft.network.packet.c2s.common.CommonPongC2SPacket
3232
import net.minecraft.network.packet.c2s.play.ClickSlotC2SPacket
33-
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket.*
33+
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket.Full
34+
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket.LookAndOnGround
35+
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket.OnGroundOnly
36+
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket.PositionAndOnGround
3437
import net.minecraft.network.packet.c2s.play.TeleportConfirmC2SPacket
35-
import net.minecraft.text.Text
38+
import java.awt.Color
3639
import kotlin.math.floor
3740

3841
// ToDo: HUD info
@@ -92,34 +95,33 @@ object PacketLimiter : Module(
9295
}
9396
}
9497

95-
// [email protected]("Packet sent: ${it.packet::class.simpleName} (${packetQueue.size} / $limit) ${Instant.now()}")
98+
// [email protected]("Packet sent: ${it.packet::class.simpleName} (${packetQueue.size} / $limit) ${Instant.now()}")
9699
if (packetQueue.add(it)) return@listen
97100

98101
it.cancel()
99102
this@PacketLimiter.info("Packet limit reached, dropping packet: ${it.packet::class.simpleName} (${packetQueue.size} / $limit)")
100103
}
101104

102-
listen<PlayerEvent.SlotClick>{
105+
listen<PlayerEvent.SlotClick> {
103106
if (!limitClickPackets) return@listen
104107
if (!canSendClickPackets(1)) {
105108
it.cancel()
106109
return@listen
107110
}
108111
}
109112

110-
listen<RenderEvent.GUI.Container> {
111-
if (!limitClickRender) return@listen
112-
val renderScreen: HandledScreen<*> = it.genericContainerScreen
113-
val context: DrawContext = it.drawContext
114-
val x = renderScreen.x
115-
val y = renderScreen.y
116-
117-
RenderSystem.disableDepthTest()
113+
listen<RenderEvent.GUI.Fixed> {
114+
if (!limitClickRender) {
115+
return@listen
116+
}
117+
val sh = mc.currentScreen as? GenericContainerScreen ?: return@listen
118118
val remainingText = "Clicks Remaining: $clickPacketsRemaining"
119-
context.drawText(renderScreen.textRenderer, Text.literal(remainingText), x + renderScreen.backgroundWidth, y, 4210752, false)
120-
RenderSystem.enableDepthTest()
119+
val mcScale = mc.window.scaleFactor
120+
val fontScale = mcScale * 1.5
121+
val fontHeight = FontRenderer.getHeight(fontScale)
122+
FontRenderer.drawString(remainingText, Vec2d(sh.x * mcScale, sh.y * mcScale - fontHeight), Color(0x9DFFFF), fontScale, false)
121123
}
122124
}
123125

124-
fun canSendClickPackets(packets: Int) = clickPacketQueue.size + packets < clickPacketsWindowAmount
126+
fun canSendClickPackets(packets: Int) = clickPacketQueue.size + packets <= clickPacketsWindowAmount
125127
}

common/src/main/resources/lambda.mixins.common.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
"render.DebugHudMixin",
3838
"render.ElytraFeatureRendererMixin",
3939
"render.GameRendererMixin",
40-
"render.GenericContainerScreenMixin",
4140
"render.GlStateManagerMixin",
4241
"render.HandledScreenMixin",
4342
"render.InGameHudMixin",

0 commit comments

Comments
 (0)