aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/core/config/gui/GuiPositionEditor.kt21
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/TitleManager.kt7
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/chroma/ChromaShader.kt3
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/gui/customscoreboard/RenderBackground.kt7
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/inventory/HarpFeatures.kt13
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/RoundedRectangleOutlineShader.kt4
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/compacttablist/TabListRenderer.kt5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/features/misc/visualwords/VisualWordGui.kt5
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt50
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/compat/GuiScreenUtils.kt12
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/renderables/RenderableTooltips.kt17
11 files changed, 67 insertions, 77 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/config/core/config/gui/GuiPositionEditor.kt b/src/main/java/at/hannibal2/skyhanni/config/core/config/gui/GuiPositionEditor.kt
index 0adf1bed5..bd50b46e3 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/core/config/gui/GuiPositionEditor.kt
+++ b/src/main/java/at/hannibal2/skyhanni/config/core/config/gui/GuiPositionEditor.kt
@@ -30,7 +30,6 @@ import at.hannibal2.skyhanni.utils.KeyboardManager
import at.hannibal2.skyhanni.utils.NumberUtil.roundTo
import at.hannibal2.skyhanni.utils.compat.GuiScreenUtils
import at.hannibal2.skyhanni.utils.compat.SkyhanniBaseScreen
-import net.minecraft.client.Minecraft
import net.minecraft.client.gui.inventory.GuiContainer
import net.minecraft.client.renderer.GlStateManager
import org.lwjgl.input.Keyboard
@@ -115,8 +114,9 @@ class GuiPositionEditor(
GlStateManager.pushMatrix()
width = getScaledWidth()
height = getScaledHeight()
- val mouseX = Mouse.getX() * width / Minecraft.getMinecraft().displayWidth
- val mouseY = height - Mouse.getY() * height / Minecraft.getMinecraft().displayHeight - 1
+
+ val (mouseX, mouseY) = GuiScreenUtils.mousePos
+
for ((index, position) in positions.withIndex()) {
var elementWidth = position.getDummySize(true).x
var elementHeight = position.getDummySize(true).y
@@ -154,8 +154,8 @@ class GuiPositionEditor(
override fun mouseClicked(originalX: Int, priginalY: Int, mouseButton: Int) {
super.mouseClicked(originalX, priginalY, mouseButton)
- val mouseX = Mouse.getX() * width / Minecraft.getMinecraft().displayWidth
- val mouseY = height - Mouse.getY() * height / Minecraft.getMinecraft().displayHeight - 1
+ val (mouseX, mouseY) = GuiScreenUtils.mousePos
+
for (i in positions.indices.reversed()) {
val position = positions[i]
val elementWidth = position.getDummySize().x
@@ -222,8 +222,8 @@ class GuiPositionEditor(
for (position in positions) {
if (!position.clicked) continue
- val mouseX = Mouse.getX() * width / Minecraft.getMinecraft().displayWidth
- val mouseY = height - Mouse.getY() * height / Minecraft.getMinecraft().displayHeight - 1
+ val (mouseX, mouseY) = GuiScreenUtils.mousePos
+
val elementWidth = position.getDummySize(true).x
val elementHeight = position.getDummySize(true).y
grabbedX += position.moveX(mouseX - grabbedX, elementWidth)
@@ -236,13 +236,14 @@ class GuiPositionEditor(
super.handleMouseInput()
val mw = Mouse.getEventDWheel()
if (mw == 0) return
- val mx = Mouse.getEventX() * width / mc.displayWidth
- val my = height - Mouse.getEventY() * height / mc.displayHeight - 1
+
+ val (mouseX, mouseY) = GuiScreenUtils.mousePos
+
val hovered = positions.firstOrNull { it.clicked }
?: positions.lastOrNull {
val size = it.getDummySize()
GuiRenderUtils.isPointInRect(
- mx, my,
+ mouseX, mouseY,
it.getAbsX() - border, it.getAbsY() - border,
size.x + border * 2, size.y + border * 2,
)
diff --git a/src/main/java/at/hannibal2/skyhanni/data/TitleManager.kt b/src/main/java/at/hannibal2/skyhanni/data/TitleManager.kt
index 95dbe1577..2647768db 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/TitleManager.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/TitleManager.kt
@@ -5,9 +5,9 @@ import at.hannibal2.skyhanni.events.ProfileJoinEvent
import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule
import at.hannibal2.skyhanni.utils.ChatUtils
import at.hannibal2.skyhanni.utils.SimpleTimeMark
+import at.hannibal2.skyhanni.utils.compat.GuiScreenUtils
import io.github.notenoughupdates.moulconfig.internal.TextRenderUtils
import net.minecraft.client.Minecraft
-import net.minecraft.client.gui.ScaledResolution
import net.minecraft.client.renderer.GlStateManager
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent
import org.lwjgl.opengl.GL11
@@ -61,9 +61,8 @@ object TitleManager {
fun onRenderOverlay(event: GuiRenderEvent.GuiOverlayRenderEvent) {
if (endTime.isInPast()) return
- val scaledResolution = ScaledResolution(Minecraft.getMinecraft())
- val width = scaledResolution.scaledWidth
- val height = scaledResolution.scaledHeight
+ val width = GuiScreenUtils.scaledWindowWidth
+ val height = GuiScreenUtils.scaledWindowHeight
GlStateManager.enableBlend()
GlStateManager.tryBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0)
diff --git a/src/main/java/at/hannibal2/skyhanni/features/chroma/ChromaShader.kt b/src/main/java/at/hannibal2/skyhanni/features/chroma/ChromaShader.kt
index bb78592fa..0f34258fb 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/chroma/ChromaShader.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/chroma/ChromaShader.kt
@@ -3,6 +3,7 @@ package at.hannibal2.skyhanni.features.chroma
import at.hannibal2.skyhanni.config.features.chroma.ChromaConfig.Direction
import at.hannibal2.skyhanni.data.MinecraftData
import at.hannibal2.skyhanni.mixins.transformers.AccessorMinecraft
+import at.hannibal2.skyhanni.utils.compat.GuiScreenUtils
import at.hannibal2.skyhanni.utils.shader.Shader
import at.hannibal2.skyhanni.utils.shader.Uniform
import net.minecraft.client.Minecraft
@@ -17,7 +18,7 @@ abstract class ChromaShader(vertex: String, fragment: String) : Shader(vertex, f
override fun registerUniforms() {
registerUniform(Uniform.UniformType.FLOAT, "chromaSize") {
- ChromaManager.config.chromaSize * (Minecraft.getMinecraft().displayWidth / 100f)
+ ChromaManager.config.chromaSize * (GuiScreenUtils.displayWidth / 100f)
}
registerUniform(Uniform.UniformType.FLOAT, "timeOffset") {
var ticks =
diff --git a/src/main/java/at/hannibal2/skyhanni/features/gui/customscoreboard/RenderBackground.kt b/src/main/java/at/hannibal2/skyhanni/features/gui/customscoreboard/RenderBackground.kt
index 357b61a0c..6a44d5861 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/gui/customscoreboard/RenderBackground.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/gui/customscoreboard/RenderBackground.kt
@@ -7,9 +7,8 @@ import at.hannibal2.skyhanni.data.GuiEditManager.getAbsY
import at.hannibal2.skyhanni.features.gui.customscoreboard.CustomScoreboard.backgroundConfig
import at.hannibal2.skyhanni.utils.ColorUtils.toChromaColor
import at.hannibal2.skyhanni.utils.RenderUtils
+import at.hannibal2.skyhanni.utils.compat.GuiScreenUtils
import at.hannibal2.skyhanni.utils.renderables.Renderable
-import net.minecraft.client.Minecraft
-import net.minecraft.client.gui.ScaledResolution
import net.minecraft.util.ResourceLocation
object RenderBackground {
@@ -74,8 +73,8 @@ object RenderBackground {
val position = CustomScoreboard.config.position
- val scaledWidth = ScaledResolution(Minecraft.getMinecraft()).scaledWidth
- val scaledHeight = ScaledResolution(Minecraft.getMinecraft()).scaledHeight
+ val scaledWidth = GuiScreenUtils.scaledWindowWidth
+ val scaledHeight = GuiScreenUtils.scaledWindowHeight
val elementWidth = (renderable.width * position.effectiveScale).toInt()
val elementHeight = (renderable.height * position.effectiveScale).toInt()
diff --git a/src/main/java/at/hannibal2/skyhanni/features/inventory/HarpFeatures.kt b/src/main/java/at/hannibal2/skyhanni/features/inventory/HarpFeatures.kt
index 05cdf94c3..604e3a7d0 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/inventory/HarpFeatures.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/inventory/HarpFeatures.kt
@@ -20,9 +20,9 @@ import at.hannibal2.skyhanni.utils.LorenzUtils
import at.hannibal2.skyhanni.utils.RegexUtils.anyMatches
import at.hannibal2.skyhanni.utils.RegexUtils.matches
import at.hannibal2.skyhanni.utils.SimpleTimeMark
+import at.hannibal2.skyhanni.utils.compat.GuiScreenUtils
import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern
import net.minecraft.client.Minecraft
-import net.minecraft.client.gui.ScaledResolution
import net.minecraft.client.gui.inventory.GuiChest
import net.minecraft.client.player.inventory.ContainerLocalMenu
import net.minecraft.item.Item
@@ -37,7 +37,7 @@ object HarpFeatures {
private val config get() = SkyHanniMod.feature.inventory.helper.harp
private var lastClick = SimpleTimeMark.farPast()
- private const val closeButtonSlot = 40
+ private const val CLOSE_BUTTON_SLOT = 40
private val buttonColors = listOf('d', 'e', 'a', '2', '5', '9', 'b')
@@ -118,10 +118,9 @@ object HarpFeatures {
}
// Copied from Minecraft Code to update the scale
val minecraft = Minecraft.getMinecraft()
- val scaledresolution = ScaledResolution(minecraft)
- val i = scaledresolution.scaledWidth
- val j = scaledresolution.scaledHeight
- minecraft.currentScreen.setWorldAndResolution(minecraft, i, j)
+ val width = GuiScreenUtils.scaledWindowWidth
+ val height = GuiScreenUtils.scaledWindowHeight
+ minecraft.currentScreen.setWorldAndResolution(minecraft, width, height)
}
@SubscribeEvent
@@ -170,7 +169,7 @@ object HarpFeatures {
if (!config.quickRestart) return
if (!isMenuGui(InventoryUtils.openInventoryName())) return
- if (event.slot?.slotNumber != closeButtonSlot) return
+ if (event.slot?.slotNumber != CLOSE_BUTTON_SLOT) return
if (openTime.passedSince() > 2.seconds) return
event.container.inventory.filterNotNull().indexOfFirst {
songSelectedPattern.anyMatches(it.getLore())
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/RoundedRectangleOutlineShader.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/RoundedRectangleOutlineShader.kt
index 2a5e131fa..ed43b348d 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/misc/RoundedRectangleOutlineShader.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/misc/RoundedRectangleOutlineShader.kt
@@ -1,8 +1,8 @@
package at.hannibal2.skyhanni.features.misc
+import at.hannibal2.skyhanni.utils.compat.GuiScreenUtils
import at.hannibal2.skyhanni.utils.shader.Shader
import at.hannibal2.skyhanni.utils.shader.Uniform
-import net.minecraft.client.Minecraft
object RoundedRectangleOutlineShader : Shader("rounded_rect_outline", "rounded_rect_outline") {
@@ -14,7 +14,7 @@ object RoundedRectangleOutlineShader : Shader("rounded_rect_outline", "rounded_r
var halfSize: FloatArray = floatArrayOf(0f, 0f)
var centerPos: FloatArray = floatArrayOf(0f, 0f)
set(value) {
- field = floatArrayOf(value[0], Minecraft.getMinecraft().displayHeight - value[1])
+ field = floatArrayOf(value[0], GuiScreenUtils.displayHeight - value[1])
}
var borderThickness: Float = 5f
var borderBlur: Float = 0.3f
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/compacttablist/TabListRenderer.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/compacttablist/TabListRenderer.kt
index e95c02e8b..6fa91f7bf 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/misc/compacttablist/TabListRenderer.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/misc/compacttablist/TabListRenderer.kt
@@ -10,10 +10,10 @@ import at.hannibal2.skyhanni.utils.KeyboardManager.isActive
import at.hannibal2.skyhanni.utils.LorenzUtils
import at.hannibal2.skyhanni.utils.RegexUtils.matches
import at.hannibal2.skyhanni.utils.TabListData
+import at.hannibal2.skyhanni.utils.compat.GuiScreenUtils
import at.hannibal2.skyhanni.utils.repopatterns.RepoPattern
import net.minecraft.client.Minecraft
import net.minecraft.client.gui.Gui
-import net.minecraft.client.gui.ScaledResolution
import net.minecraft.client.renderer.GlStateManager
import net.minecraft.entity.player.EnumPlayerModelParts
import net.minecraftforge.client.event.RenderGameOverlayEvent
@@ -100,8 +100,7 @@ object TabListRenderer {
}
val minecraft = Minecraft.getMinecraft()
- val scaledResolution = ScaledResolution(minecraft)
- val screenWidth = scaledResolution.scaledWidth / 2
+ val screenWidth = GuiScreenUtils.scaledWindowWidth / 2
val x = screenWidth - totalWidth / 2
val y = 10
diff --git a/src/main/java/at/hannibal2/skyhanni/features/misc/visualwords/VisualWordGui.kt b/src/main/java/at/hannibal2/skyhanni/features/misc/visualwords/VisualWordGui.kt
index 5fa8f6b78..b4e12945c 100644
--- a/src/main/java/at/hannibal2/skyhanni/features/misc/visualwords/VisualWordGui.kt
+++ b/src/main/java/at/hannibal2/skyhanni/features/misc/visualwords/VisualWordGui.kt
@@ -14,6 +14,7 @@ import at.hannibal2.skyhanni.utils.OSUtils
import at.hannibal2.skyhanni.utils.RegexUtils.matchMatcher
import at.hannibal2.skyhanni.utils.SoundUtils
import at.hannibal2.skyhanni.utils.StringUtils.convertToFormatted
+import at.hannibal2.skyhanni.utils.compat.GuiScreenUtils
import com.google.gson.JsonObject
import kotlinx.coroutines.launch
import net.minecraft.client.Minecraft
@@ -106,8 +107,8 @@ open class VisualWordGui : GuiScreen() {
guiLeft = (width - sizeX) / 2
guiTop = (height - sizeY) / 2
- mouseX = Mouse.getX() * width / Minecraft.getMinecraft().displayWidth
- mouseY = height - Mouse.getY() * height / Minecraft.getMinecraft().displayHeight - 1
+ mouseX = GuiScreenUtils.mouseX
+ mouseY = GuiScreenUtils.mouseY
GlStateManager.pushMatrix()
drawRect(guiLeft, guiTop, guiLeft + sizeX, guiTop + sizeY, 0x50000000)
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt
index 7cf104269..be2904f87 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt
@@ -40,7 +40,6 @@ import net.minecraft.item.ItemStack
import net.minecraft.util.AxisAlignedBB
import net.minecraft.util.MathHelper
import net.minecraft.util.ResourceLocation
-import org.lwjgl.input.Mouse
import org.lwjgl.opengl.GL11
import java.awt.Color
import java.nio.FloatBuffer
@@ -96,15 +95,6 @@ object RenderUtils {
highlight(color, x, y)
}
- fun getMouseX(): Int {
- return Mouse.getX() * GuiScreenUtils.scaledWindowWidth / Minecraft.getMinecraft().displayWidth
- }
-
- fun getMouseY(): Int {
- val height = GuiScreenUtils.scaledWindowHeight
- return height - Mouse.getY() * height / Minecraft.getMinecraft().displayHeight - 1
- }
-
fun highlight(color: Color, x: Int, y: Int) {
GlStateManager.disableLighting()
GlStateManager.disableDepth()
@@ -514,8 +504,8 @@ object RenderUtils {
fun Position.transform(): Pair<Int, Int> {
GlStateManager.translate(getAbsX().toFloat(), getAbsY().toFloat(), 0F)
GlStateManager.scale(effectiveScale, effectiveScale, 1F)
- val x = ((getMouseX() - getAbsX()) / effectiveScale).toInt()
- val y = ((getMouseY() - getAbsY()) / effectiveScale).toInt()
+ val x = ((GuiScreenUtils.mouseX - getAbsX()) / effectiveScale).toInt()
+ val y = ((GuiScreenUtils.mouseY - getAbsY()) / effectiveScale).toInt()
return x to y
}
@@ -1760,13 +1750,13 @@ object RenderUtils {
return
}
- val scaledRes = ScaledResolution(Minecraft.getMinecraft())
- val widthIn = width * scaledRes.scaleFactor
- val heightIn = height * scaledRes.scaleFactor
- val xIn = x * scaledRes.scaleFactor
- val yIn = y * scaledRes.scaleFactor
+ val scaleFactor = ScaledResolution(Minecraft.getMinecraft()).scaleFactor
+ val widthIn = width * scaleFactor
+ val heightIn = height * scaleFactor
+ val xIn = x * scaleFactor
+ val yIn = y * scaleFactor
- RoundedTextureShader.scaleFactor = scaledRes.scaleFactor.toFloat()
+ RoundedTextureShader.scaleFactor = scaleFactor.toFloat()
RoundedTextureShader.radius = radius.toFloat()
RoundedTextureShader.smoothness = smoothness.toFloat()
RoundedTextureShader.halfSize = floatArrayOf(widthIn / 2f, heightIn / 2f)
@@ -1795,13 +1785,13 @@ object RenderUtils {
* It is best kept at its default.
*/
fun drawRoundRect(x: Int, y: Int, width: Int, height: Int, color: Int, radius: Int = 10, smoothness: Int = 1) {
- val scaledRes = ScaledResolution(Minecraft.getMinecraft())
- val widthIn = width * scaledRes.scaleFactor
- val heightIn = height * scaledRes.scaleFactor
- val xIn = x * scaledRes.scaleFactor
- val yIn = y * scaledRes.scaleFactor
+ val scaleFactor = ScaledResolution(Minecraft.getMinecraft()).scaleFactor
+ val widthIn = width * scaleFactor
+ val heightIn = height * scaleFactor
+ val xIn = x * scaleFactor
+ val yIn = y * scaleFactor
- RoundedRectangleShader.scaleFactor = scaledRes.scaleFactor.toFloat()
+ RoundedRectangleShader.scaleFactor = scaleFactor.toFloat()
RoundedRectangleShader.radius = radius.toFloat()
RoundedRectangleShader.smoothness = smoothness.toFloat()
RoundedRectangleShader.halfSize = floatArrayOf(widthIn / 2f, heightIn / 2f)
@@ -1841,15 +1831,15 @@ object RenderUtils {
radius: Int = 10,
blur: Float = 0.7f,
) {
- val scaledRes = ScaledResolution(Minecraft.getMinecraft())
- val widthIn = width * scaledRes.scaleFactor
- val heightIn = height * scaledRes.scaleFactor
- val xIn = x * scaledRes.scaleFactor
- val yIn = y * scaledRes.scaleFactor
+ val scaleFactor = ScaledResolution(Minecraft.getMinecraft()).scaleFactor
+ val widthIn = width * scaleFactor
+ val heightIn = height * scaleFactor
+ val xIn = x * scaleFactor
+ val yIn = y * scaleFactor
val borderAdjustment = borderThickness / 2
- RoundedRectangleOutlineShader.scaleFactor = scaledRes.scaleFactor.toFloat()
+ RoundedRectangleOutlineShader.scaleFactor = scaleFactor.toFloat()
RoundedRectangleOutlineShader.radius = radius.toFloat()
RoundedRectangleOutlineShader.halfSize = floatArrayOf(widthIn / 2f, heightIn / 2f)
RoundedRectangleOutlineShader.centerPos = floatArrayOf(xIn + (widthIn / 2f), yIn + (heightIn / 2f))
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/compat/GuiScreenUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/compat/GuiScreenUtils.kt
index 376ecec74..d2f22dc57 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/compat/GuiScreenUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/compat/GuiScreenUtils.kt
@@ -5,7 +5,9 @@ import net.minecraft.client.gui.ScaledResolution
import org.lwjgl.input.Mouse
object GuiScreenUtils {
+
private val mc get() = Minecraft.getMinecraft()
+
val scaledWindowHeight
get() =
//#if MC < 1.16
@@ -30,7 +32,6 @@ object GuiScreenUtils {
//$$ mc.window.width
//#endif
-
val displayHeight
get() =
//#if MC < 1.16
@@ -39,11 +40,11 @@ object GuiScreenUtils {
//$$ mc.window.height
//#endif
- val globalMouseX get() = Mouse.getX()
- val globalMouseY get() = Mouse.getY()
+ private val globalMouseX get() = Mouse.getX()
+ private val globalMouseY get() = Mouse.getY()
+
+ val mouseX get() = globalMouseX * scaledWindowWidth / displayWidth
- val mouseX
- get() = globalMouseX * scaledWindowWidth / displayWidth
val mouseY: Int
get() {
val height = this.scaledWindowHeight
@@ -56,4 +57,5 @@ object GuiScreenUtils {
//#endif
}
+ val mousePos: Pair<Int, Int> get() = mouseX to mouseY
}
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/renderables/RenderableTooltips.kt b/src/main/java/at/hannibal2/skyhanni/utils/renderables/RenderableTooltips.kt
index b6c4225ba..906371bf4 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/renderables/RenderableTooltips.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/renderables/RenderableTooltips.kt
@@ -4,9 +4,9 @@ import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule
import at.hannibal2.skyhanni.utils.ItemUtils.getLore
import at.hannibal2.skyhanni.utils.LorenzColor
import at.hannibal2.skyhanni.utils.RenderUtils
+import at.hannibal2.skyhanni.utils.compat.GuiScreenUtils
import at.hannibal2.skyhanni.utils.renderables.RenderableUtils.renderXAligned
import net.minecraft.client.Minecraft
-import net.minecraft.client.gui.ScaledResolution
import net.minecraft.client.renderer.GlStateManager
import net.minecraft.client.renderer.RenderHelper
import net.minecraft.item.ItemStack
@@ -43,10 +43,9 @@ object RenderableTooltips {
val tips = tooltip.tips
if (tips.isEmpty()) return
- val x = RenderUtils.getMouseX() + 12
- val y = RenderUtils.getMouseY() - if (tips.size > 1) 1 else -7
+ val x = GuiScreenUtils.mouseX + 12
+ val y = GuiScreenUtils.mouseY - if (tips.size > 1) 1 else -7
val borderColorStart = tooltip.getBorderColor()
- val scaled = ScaledResolution(Minecraft.getMinecraft())
val isSpacedTitle = tooltip.isSpacedTitle()
val tooltipTextWidth = tips.maxOf { it.width }
@@ -54,19 +53,19 @@ object RenderableTooltips {
val tooltipY = when {
y < 16 -> 4 // Limit Top
- y + tooltipHeight > scaled.scaledHeight -> {
- if (tooltip.snapsToTopIfToLong && tooltipHeight + 8 > scaled.scaledHeight)
+ y + tooltipHeight > GuiScreenUtils.scaledWindowHeight -> {
+ if (tooltip.snapsToTopIfToLong && tooltipHeight + 8 > GuiScreenUtils.scaledWindowHeight)
4 // Snap to Top if to Long
else
- scaled.scaledHeight - tooltipHeight - 6 // Limit Bottom
+ GuiScreenUtils.scaledWindowHeight - tooltipHeight - 6 // Limit Bottom
}
else -> {
y - 10 // normal
}
}
- val tooltipX = if (x + tooltipTextWidth + 4 > scaled.scaledWidth) {
- scaled.scaledWidth - tooltipTextWidth - 4 // Limit Right
+ val tooltipX = if (x + tooltipTextWidth + 4 > GuiScreenUtils.scaledWindowWidth) {
+ GuiScreenUtils.scaledWindowWidth - tooltipTextWidth - 4 // Limit Right
} else {
x // normal
}