diff --git a/ReadMe.md b/ReadMe.md index da6696681..c24e9750c 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -6,6 +6,7 @@ Minosoft is an open source minecraft client, written from scratch in java. It ai [![](https://jitpack.io/v/de.bixilon.gitlab.bixilon/minosoft.svg)](https://jitpack.io/#de.bixilon.gitlab.bixilon/minosoft)

Notice: I am not responsible for anti cheat banned accounts, this project is heavily in development!

+ ## Feature overview - Rendering diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/HUDRenderer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/HUDRenderer.kt index df9e1c372..c54671737 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/HUDRenderer.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/HUDRenderer.kt @@ -94,16 +94,17 @@ class HUDRenderer(val connection: PlayConnection, val renderWindow: RenderWindow enabled = false, )) addElement(ElementsNames.CHAT_RESOURCE_LOCATION, ChatBoxHUDElement(this), HUDElementProperties( - position = Vec2(0f, -1.0f), + position = Vec2(0.0f, -1.0f), + xBinding = HUDElementProperties.PositionBindings.CENTER, )) } fun addElement(resourceLocation: ResourceLocation, hudElement: HUDElement, defaultProperties: HUDElementProperties) { var needToSafeConfig = false - val properties = Minosoft.getConfig().config.game.elements.entries.getOrPut(resourceLocation, { + val properties = Minosoft.getConfig().config.game.elements.entries.getOrPut(resourceLocation) { needToSafeConfig = true defaultProperties - }) + } if (needToSafeConfig) { Minosoft.getConfig().saveToFile() } @@ -182,7 +183,7 @@ class HUDRenderer(val connection: PlayConnection, val renderWindow: RenderWindow if (forcePrepare || needsUpdate) { for ((elementProperties, hudElement) in enabledHUDElement.values) { val realScaleFactor = elementProperties.scale * Minosoft.getConfig().config.game.hud.scale - val realSize = Vec2i(hudElement.layout.fakeX ?: hudElement.layout.size.x, hudElement.layout.fakeY ?: hudElement.layout.size.y) * realScaleFactor + val realSize = Vec2i(hudElement.layout.fakeX ?: (hudElement.layout.size.x * realScaleFactor), hudElement.layout.fakeY ?: (hudElement.layout.size.y * realScaleFactor)) val elementStart = getRealPosition(realSize, elementProperties, renderWindow.screenDimensions) diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/chat/ChatBoxHUDElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/chat/ChatBoxHUDElement.kt index dd8a75e50..c929c7eae 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/chat/ChatBoxHUDElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/chat/ChatBoxHUDElement.kt @@ -17,6 +17,7 @@ import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames import de.bixilon.minosoft.gui.rendering.hud.HUDRenderer import de.bixilon.minosoft.gui.rendering.hud.elements.HUDElement import de.bixilon.minosoft.gui.rendering.hud.elements.input.SubmittableTextField +import glm_.vec2.Vec2i class ChatBoxHUDElement(hudRenderer: HUDRenderer) : HUDElement(hudRenderer) { private lateinit var inputField: SubmittableTextField @@ -43,6 +44,10 @@ class ChatBoxHUDElement(hudRenderer: HUDRenderer) : HUDElement(hudRenderer) { } } + override fun screenChangeResizeCallback(screenDimensions: Vec2i) { + layout.fakeX = screenDimensions.x + } + fun openChat() { hudRenderer.renderWindow.currentKeyConsumer = inputField hudRenderer.renderWindow.currentElement.remove(KeyBindingsNames.WHEN_IN_GAME)