summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/data
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-02-26 15:37:56 +0100
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-02-26 15:37:56 +0100
commitc15c3d2db212f2fb73e6063aa5ff3cc2b5a7a4f5 (patch)
treedf378748160d120637459ef5e6e0b658cf899fce /src/main/java/at/hannibal2/skyhanni/data
parent52a6ff3c2ce36c2e0c8bccea09f412e6f86c922a (diff)
downloadskyhanni-c15c3d2db212f2fb73e6063aa5ff3cc2b5a7a4f5.tar.gz
skyhanni-c15c3d2db212f2fb73e6063aa5ff3cc2b5a7a4f5.tar.bz2
skyhanni-c15c3d2db212f2fb73e6063aa5ff3cc2b5a7a4f5.zip
Start fixing gui rendering logic.
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/RenderGuiData.kt33
1 files changed, 29 insertions, 4 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/RenderGuiData.kt b/src/main/java/at/hannibal2/skyhanni/data/RenderGuiData.kt
index b9a217fbc..4de1f5c51 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/RenderGuiData.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/RenderGuiData.kt
@@ -1,6 +1,10 @@
package at.hannibal2.skyhanni.data
import at.hannibal2.skyhanni.events.GuiRenderEvent
+import net.minecraft.client.Minecraft
+import net.minecraft.client.gui.inventory.GuiChest
+import net.minecraft.client.gui.inventory.GuiInventory
+import net.minecraft.client.renderer.GlStateManager
import net.minecraftforge.client.event.GuiScreenEvent
import net.minecraftforge.client.event.RenderGameOverlayEvent
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
@@ -8,13 +12,34 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
class RenderGuiData {
@SubscribeEvent
- fun onRenderOverlay(event: RenderGameOverlayEvent.Post) {
- if (event.type != RenderGameOverlayEvent.ElementType.ALL) return
- GuiRenderEvent(GuiRenderEvent.RenderType.IN_WORLD).postAndCatch()
+ fun onRenderOverlay(event: RenderGameOverlayEvent.Pre) {
+ if (event.type != RenderGameOverlayEvent.ElementType.HOTBAR) return
+
+ val currentScreen = Minecraft.getMinecraft().currentScreen
+ if (currentScreen != null) {
+ if (currentScreen is GuiInventory || currentScreen is GuiChest) return
+ }
+
+ GlStateManager.pushMatrix()
+ GlStateManager.translate(0f, 0f, -1f)
+ GlStateManager.enableDepth()
+
+ GuiRenderEvent.GameOverlayRenderEvent().postAndCatch()
+
+ GlStateManager.popMatrix()
}
@SubscribeEvent
fun onBackgroundDraw(event: GuiScreenEvent.BackgroundDrawnEvent) {
- GuiRenderEvent(GuiRenderEvent.RenderType.INVENTORY_BACKGROUND).postAndCatch()
+ val currentScreen = Minecraft.getMinecraft().currentScreen ?: return
+
+ if (currentScreen !is GuiInventory && currentScreen !is GuiChest) return
+
+ GlStateManager.pushMatrix()
+ GlStateManager.enableDepth()
+
+ GuiRenderEvent.ChestBackgroundRenderEvent().postAndCatch()
+
+ GlStateManager.popMatrix()
}
} \ No newline at end of file