mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-15 10:25:06 -04:00
hud: fix experience bar offset
This commit is contained in:
parent
1330911287
commit
7dbb07e2de
@ -37,7 +37,6 @@ open class TextElement(
|
|||||||
var backgroundColor: RGBColor = RenderConstants.TEXT_BACKGROUND_COLOR,
|
var backgroundColor: RGBColor = RenderConstants.TEXT_BACKGROUND_COLOR,
|
||||||
parent: Element? = null,
|
parent: Element? = null,
|
||||||
) : LabeledElement(hudRenderer) {
|
) : LabeledElement(hudRenderer) {
|
||||||
private var previousMaxSize = Vec2i.EMPTY
|
|
||||||
var renderInfo = TextRenderInfo()
|
var renderInfo = TextRenderInfo()
|
||||||
|
|
||||||
override var text: Any = text
|
override var text: Any = text
|
||||||
@ -57,7 +56,6 @@ open class TextElement(
|
|||||||
ChatComponentRenderer.render(Vec2i.EMPTY, Vec2i.EMPTY, prefSize, 0, InfiniteSizeElement(hudRenderer), fontAlignment, renderWindow, null, TextRenderInfo(), value)
|
ChatComponentRenderer.render(Vec2i.EMPTY, Vec2i.EMPTY, prefSize, 0, InfiniteSizeElement(hudRenderer), fontAlignment, renderWindow, null, TextRenderInfo(), value)
|
||||||
}
|
}
|
||||||
_prefSize = prefSize
|
_prefSize = prefSize
|
||||||
cacheUpToDate = false
|
|
||||||
forceApply()
|
forceApply()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,7 +65,6 @@ open class TextElement(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun forceSilentApply() {
|
override fun forceSilentApply() {
|
||||||
val maxSize = maxSize
|
|
||||||
val size = Vec2i.EMPTY
|
val size = Vec2i.EMPTY
|
||||||
if (!emptyMessage) {
|
if (!emptyMessage) {
|
||||||
val renderInfo = TextRenderInfo()
|
val renderInfo = TextRenderInfo()
|
||||||
@ -76,16 +73,12 @@ open class TextElement(
|
|||||||
this.renderInfo = renderInfo
|
this.renderInfo = renderInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
this.previousMaxSize = maxSize
|
|
||||||
this.cacheUpToDate = false
|
this.cacheUpToDate = false
|
||||||
_size = size
|
_size = size
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onChildChange(child: Element?) = error("A TextElement can not have a child!")
|
override fun onChildChange(child: Element?) = error("A TextElement can not have a child!")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
override fun forceRender(offset: Vec2i, z: Int, consumer: GUIVertexConsumer): Int {
|
override fun forceRender(offset: Vec2i, z: Int, consumer: GUIVertexConsumer): Int {
|
||||||
if (emptyMessage) {
|
if (emptyMessage) {
|
||||||
return 0
|
return 0
|
||||||
|
@ -60,13 +60,13 @@ class HotbarElement(hudRenderer: HUDRenderer) : Element(hudRenderer) {
|
|||||||
forceSilentApply()
|
forceSilentApply()
|
||||||
var maxZ = 0
|
var maxZ = 0
|
||||||
|
|
||||||
val maxSize = topLeft.size.max(topRight.size)
|
val topMaxSize = topLeft.size.max(topRight.size)
|
||||||
|
|
||||||
maxZ = max(maxZ, topLeft.render(offset + Vec2i(0, VerticalAlignments.TOP.getOffset(maxSize.y, topLeft.size.y)), z, consumer))
|
maxZ = max(maxZ, topLeft.render(offset + Vec2i(0, VerticalAlignments.BOTTOM.getOffset(topMaxSize.y, topLeft.size.y)), z, consumer))
|
||||||
maxZ = max(maxZ, topRight.render(offset + Vec2i(HorizontalAlignments.RIGHT.getOffset(size.x, topRight.size.x), VerticalAlignments.BOTTOM.getOffset(maxSize.y, topRight.size.y)), z, consumer))
|
maxZ = max(maxZ, topRight.render(offset + Vec2i(HorizontalAlignments.RIGHT.getOffset(size.x, topRight.size.x), VerticalAlignments.BOTTOM.getOffset(topMaxSize.y, topRight.size.y)), z, consumer))
|
||||||
offset.y += maxSize.y
|
offset.y += topMaxSize.y
|
||||||
|
|
||||||
maxZ = max(maxZ, experience.render(offset + Vec2i(HorizontalAlignments.CENTER.getOffset(maxSize.y, experience.size.y), 0), z, consumer))
|
maxZ = max(maxZ, experience.render(offset + Vec2i(HorizontalAlignments.CENTER.getOffset(size.x, experience.size.x), 0), z, consumer))
|
||||||
offset.y += experience.size.y
|
offset.y += experience.size.y
|
||||||
maxZ = max(maxZ, base.render(offset, z, consumer))
|
maxZ = max(maxZ, base.render(offset, z, consumer))
|
||||||
|
|
||||||
|
@ -64,10 +64,12 @@ class HotbarExperienceBarElement(hudRenderer: HUDRenderer) : Element(hudRenderer
|
|||||||
|
|
||||||
progress.render(offset, z + 1, consumer)
|
progress.render(offset, z + 1, consumer)
|
||||||
|
|
||||||
|
if (level > 0) {
|
||||||
// level
|
// level
|
||||||
val text = TextElement(hudRenderer, TextComponent(level).apply { color = RenderConstants.EXPERIENCE_BAR_LEVEL_COLOR }, fontAlignment = HorizontalAlignments.CENTER, true)
|
val text = TextElement(hudRenderer, TextComponent(level).apply { color = RenderConstants.EXPERIENCE_BAR_LEVEL_COLOR }, fontAlignment = HorizontalAlignments.CENTER, true)
|
||||||
|
|
||||||
text.render(offset + Vec2i(HorizontalAlignments.CENTER.getOffset(size.x, text.size.x), -5), z + 2, consumer)
|
text.render(offset + Vec2i(HorizontalAlignments.CENTER.getOffset(size.x, text.size.x), -5), z + 2, consumer)
|
||||||
|
}
|
||||||
|
|
||||||
return 2 + TextElement.LAYERS // background + foreground + text(level)
|
return 2 + TextElement.LAYERS // background + foreground + text(level)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user