Skip to content

Commit 70404ae

Browse files
Revert Nametag changes in #7590 (#7594)
This reverts Nametag changes in commit a7864cf.
1 parent 8f16579 commit 70404ae

File tree

3 files changed

+31
-43
lines changed

3 files changed

+31
-43
lines changed

src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/render/nametags/ModuleNametags.kt

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
*/
1919
package net.ccbluex.liquidbounce.features.module.modules.render.nametags
2020

21-
import net.ccbluex.fastutil.Pool
2221
import net.ccbluex.liquidbounce.event.events.OverlayRenderEvent
2322
import net.ccbluex.liquidbounce.event.handler
2423
import net.ccbluex.liquidbounce.features.module.Category
@@ -55,12 +54,11 @@ object ModuleNametags : ClientModule("Nametags", Category.RENDER) {
5554
val fontRenderer
5655
get() = FontManager.FONT_RENDERER
5756

58-
private val nametagsToRender = mutableListOf<NametagRenderState>()
59-
private val nametagPool = Pool(::NametagRenderState, NametagRenderState::clear)
57+
private val nametagsToRender = mutableListOf<Nametag>()
6058

6159
override fun onDisabled() {
6260
RenderedEntities.unsubscribe(this)
63-
nametagPool.recycleAll(nametagsToRender)
61+
nametagsToRender.clear()
6462
}
6563

6664
override fun onEnabled() {
@@ -89,10 +87,9 @@ object ModuleNametags : ClientModule("Nametags", Category.RENDER) {
8987

9088
/**
9189
* Collects all entities that should be rendered, gets the screen position, where the name tag should be displayed,
92-
* add what should be rendered. The nametags are sorted in order of rendering.
90+
* add what should be rendered ([Nametag]). The nametags are sorted in order of rendering.
9391
*/
9492
private fun collectAndSortNametagsToRender() {
95-
nametagPool.recycleAll(nametagsToRender)
9693
nametagsToRender.clear()
9794
val maximumDistanceSquared = maximumDistance.sq()
9895

@@ -101,13 +98,13 @@ object ModuleNametags : ClientModule("Nametags", Category.RENDER) {
10198
continue
10299
}
103100

104-
nametagsToRender += nametagPool.borrow().update(entity)
101+
nametagsToRender += Nametag(entity)
105102
}
106103
nametagsToRender.sortWith(NAMETAG_COMPARATOR)
107104
}
108105

109-
private val NAMETAG_COMPARATOR = Comparator.comparingDouble<NametagRenderState> { nametag ->
110-
nametag.entity!!.distanceToSqr(mc.cameraEntity!!)
106+
private val NAMETAG_COMPARATOR = Comparator.comparingDouble<Nametag> { nametag ->
107+
nametag.entity.distanceToSqr(mc.cameraEntity!!)
111108
}
112109

113110
fun shouldRenderVanillaNametag(state: EntityRenderState): Boolean {

src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/render/nametags/NametagRenderState.kt renamed to src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/render/nametags/Nametag.kt

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -21,47 +21,39 @@ package net.ccbluex.liquidbounce.features.module.modules.render.nametags
2121
import net.ccbluex.liquidbounce.render.engine.type.Vec3f
2222
import net.ccbluex.liquidbounce.utils.entity.interpolateCurrentPosition
2323
import net.ccbluex.liquidbounce.utils.render.WorldToScreen
24-
import net.ccbluex.liquidbounce.utils.text.PlainText
24+
import net.minecraft.network.chat.Component
2525
import net.minecraft.world.entity.Entity
2626
import net.minecraft.world.entity.LivingEntity
2727
import net.minecraft.world.item.ItemStack
28-
import net.minecraft.network.chat.Component
29-
30-
class NametagRenderState {
31-
@JvmField
32-
var entity: Entity? = null
33-
34-
@JvmField
35-
var text: Component = PlainText.EMPTY
3628

37-
@JvmField
38-
var items: List<ItemStack> = emptyList()
29+
class Nametag private constructor(
30+
val entity: Entity,
31+
/**
32+
* The text to render as nametag
33+
*/
34+
val text: Component,
35+
/**
36+
* The items that should be rendered above the name tag
37+
*/
38+
val items: List<ItemStack>
39+
) {
3940

40-
@JvmField
4141
var screenPos: Vec3f? = null
42+
private set
4243

43-
fun update(entity: Entity) = apply {
44-
this.entity = entity
45-
this.text = NametagTextFormatter.format(entity)
46-
if (entity is LivingEntity) {
47-
this.items = NametagEquipment.createItemList(entity)
48-
}
49-
}
44+
constructor(entity: LivingEntity) : this(
45+
entity,
46+
NametagTextFormatter.format(entity),
47+
NametagEquipment.createItemList(entity),
48+
)
5049

5150
fun calculateScreenPos(tickDelta: Float): Vec3f? {
52-
val entity = this.entity ?: return null
5351
val nametagPos = entity.interpolateCurrentPosition(tickDelta)
5452
.add(0.0, entity.getEyeHeight(entity.pose) + 0.55, 0.0)
5553

5654
screenPos = WorldToScreen.calculateScreenPos(nametagPos)
5755
return screenPos
5856
}
5957

60-
fun clear() {
61-
this.entity = null
62-
this.text = PlainText.EMPTY
63-
this.items = emptyList()
64-
this.screenPos = null
65-
}
66-
6758
}
59+

src/main/kotlin/net/ccbluex/liquidbounce/features/module/modules/render/nametags/NametagRenderer.kt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,10 @@ private const val BACKGROUND_Y_OFFSET_TOP = -0.1f
3737
private const val BACKGROUND_Y_OFFSET_BOTTOM = 1.1f
3838
private const val BACKGROUND_X_PADDING = 0.2f * FONT_SIZE
3939

40-
internal fun GuiGraphics.drawNametag(nametag: NametagRenderState, posX: Float, posY: Float) {
41-
val entity = nametag.entity
40+
internal fun GuiGraphics.drawNametag(nametag: Nametag, posX: Float, posY: Float) {
4241
if (nametag.items.any { !it.isEmpty }) {
4342
val currentItemStackRenderer = if (NametagEquipment.showInfo) {
44-
if (entity === player) {
43+
if (nametag.entity === player) {
4544
ItemStackListRenderer.SingleItemStackRenderer.All
4645
} else {
4746
ItemStackListRenderer.SingleItemStackRenderer.ForOtherPlayer
@@ -90,13 +89,13 @@ internal fun GuiGraphics.drawNametag(nametag: NametagRenderState, posX: Float, p
9089
}
9190

9291
// Draw enchantments directly for the entity (regardless of whether items are shown)
93-
if (NametagEnchantmentRenderer.running && entity is LivingEntity) {
94-
val entityPos = entity.position()
92+
if (NametagEnchantmentRenderer.running && nametag.entity is LivingEntity) {
93+
val entityPos = nametag.entity.position()
9594
val worldX = entityPos.x.toFloat()
96-
val worldY = (entityPos.y + entity.bbHeight + 0.5f).toFloat()
95+
val worldY = (entityPos.y + nametag.entity.bbHeight + 0.5f).toFloat()
9796

9897
drawEntityEnchantments(
99-
entity,
98+
nametag.entity,
10099
worldX,
101100
worldY,
102101
)

0 commit comments

Comments
 (0)