diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/HUDRenderer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/HUDRenderer.kt
index 13dbe98b2..ff69dfa88 100644
--- a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/HUDRenderer.kt
+++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/HUDRenderer.kt
@@ -84,6 +84,7 @@ class HUDRenderer(
registerElement(TabListHUDElement)
registerElement(BreakProgressHUDElement)
registerElement(HotbarHUDElement)
+ registerElement(WorldInfoHUDElement)
}
override fun init() {
diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/WorldInfoHUDElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/WorldInfoHUDElement.kt
new file mode 100644
index 000000000..f5197bb81
--- /dev/null
+++ b/src/main/java/de/bixilon/minosoft/gui/rendering/gui/hud/elements/WorldInfoHUDElement.kt
@@ -0,0 +1,46 @@
+/*
+ * Minosoft
+ * Copyright (C) 2021 Moritz Zwerger
+ *
+ * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with this program. If not, see .
+ *
+ * This software is not affiliated with Mojang AB, the original developer of Minecraft.
+ */
+
+package de.bixilon.minosoft.gui.rendering.gui.hud.elements
+
+import de.bixilon.minosoft.data.registries.ResourceLocation
+import de.bixilon.minosoft.gui.rendering.gui.elements.text.TextElement
+import de.bixilon.minosoft.gui.rendering.gui.hud.HUDRenderer
+import de.bixilon.minosoft.util.KUtil.toResourceLocation
+import de.bixilon.minosoft.util.MMath.round10
+import glm_.vec2.Vec2i
+
+class WorldInfoHUDElement(hudRenderer: HUDRenderer) : HUDElement(hudRenderer) {
+ override val layout: TextElement = TextElement(hudRenderer, "")
+
+ override val layoutOffset: Vec2i = Vec2i(2, 2)
+
+ private var fps = -1.0
+
+ override fun apply() {
+ val fps = hudRenderer.renderWindow.renderStats.smoothAvgFPS.round10
+ if (this.fps == fps) {
+ return
+ }
+ layout.text = "FPS $fps"
+ this.fps = fps
+ }
+
+ companion object : HUDBuilder {
+ override val RESOURCE_LOCATION: ResourceLocation = "minosoft:world_info".toResourceLocation()
+
+ override fun build(hudRenderer: HUDRenderer): WorldInfoHUDElement {
+ return WorldInfoHUDElement(hudRenderer)
+ }
+ }
+}