summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils
diff options
context:
space:
mode:
authorCalMWolfs <94038482+CalMWolfs@users.noreply.github.com>2024-06-13 02:31:30 +1000
committerGitHub <noreply@github.com>2024-06-12 18:31:30 +0200
commit51caf09cc9b0c24aec9c9f82e895ff1529cc8cb1 (patch)
treeb7a871fae8a96560fddbb2a4999756079c84d58e /src/main/java/at/hannibal2/skyhanni/utils
parent488c0e3de136943604e21bee4f49969bd3121895 (diff)
downloadskyhanni-51caf09cc9b0c24aec9c9f82e895ff1529cc8cb1.tar.gz
skyhanni-51caf09cc9b0c24aec9c9f82e895ff1529cc8cb1.tar.bz2
skyhanni-51caf09cc9b0c24aec9c9f82e895ff1529cc8cb1.zip
Backend: No more GriffinUtils, move drawWaypointFilled to RenderUtils (#1930)
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt53
1 files changed, 51 insertions, 2 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt
index e3c4b6d7b..7cb382d42 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/RenderUtils.kt
@@ -13,7 +13,6 @@ import at.hannibal2.skyhanni.events.LorenzRenderWorldEvent
import at.hannibal2.skyhanni.events.RenderGuiItemOverlayEvent
import at.hannibal2.skyhanni.features.misc.RoundedRectangleOutlineShader
import at.hannibal2.skyhanni.features.misc.RoundedRectangleShader
-import at.hannibal2.skyhanni.test.GriffinUtils.drawWaypointFilled
import at.hannibal2.skyhanni.test.command.ErrorManager
import at.hannibal2.skyhanni.utils.CollectionUtils.zipWithNext3
import at.hannibal2.skyhanni.utils.ColorUtils.getFirstColorCode
@@ -204,7 +203,14 @@ object RenderUtils {
* @author Moulberry
* @author Mojang
*/
- fun renderBeaconBeam(x: Double, y: Double, z: Double, rgb: Int, alphaMultiplier: Float, partialTicks: Float) {
+ private fun renderBeaconBeam(
+ x: Double,
+ y: Double,
+ z: Double,
+ rgb: Int,
+ alphaMultiplier: Float,
+ partialTicks: Float
+ ) {
val height = 300
val bottomOffset = 0
val topOffset = bottomOffset + height
@@ -295,6 +301,49 @@ object RenderUtils {
tessellator.draw()
}
+ fun LorenzRenderWorldEvent.drawWaypointFilled(
+ location: LorenzVec,
+ color: Color,
+ seeThroughBlocks: Boolean = false,
+ beacon: Boolean = false,
+ extraSize: Double = 0.0,
+ extraSizeTopY: Double = extraSize,
+ extraSizeBottomY: Double = extraSize,
+ minimumAlpha: Float = 0.2f,
+ inverseAlphaScale: Boolean = false,
+ ) {
+ val (viewerX, viewerY, viewerZ) = getViewerPos(partialTicks)
+ val x = location.x - viewerX
+ val y = location.y - viewerY
+ val z = location.z - viewerZ
+ val distSq = x * x + y * y + z * z
+
+ if (seeThroughBlocks) {
+ GlStateManager.disableDepth()
+ }
+
+ GlStateManager.disableCull()
+ drawFilledBoundingBox(
+ @Suppress("ktlint:standard:argument-list-wrapping")
+ AxisAlignedBB(
+ x - extraSize, y - extraSizeBottomY, z - extraSize,
+ x + 1 + extraSize, y + 1 + extraSizeTopY, z + 1 + extraSize,
+ ).expandBlock(),
+ color,
+ if (inverseAlphaScale) (1.0f - 0.005f * distSq.toFloat()).coerceAtLeast(minimumAlpha)
+ else (0.1f + 0.005f * distSq.toFloat()).coerceAtLeast(minimumAlpha),
+ )
+ GlStateManager.disableTexture2D()
+ if (distSq > 5 * 5 && beacon) renderBeaconBeam(x, y + 1, z, color.rgb, 1.0f, partialTicks)
+ GlStateManager.disableLighting()
+ GlStateManager.enableTexture2D()
+ GlStateManager.enableCull()
+
+ if (seeThroughBlocks) {
+ GlStateManager.enableDepth()
+ }
+ }
+
fun LorenzRenderWorldEvent.drawString(
location: LorenzVec,
text: String,