diff options
| author | CalMWolfs <94038482+CalMWolfs@users.noreply.github.com> | 2024-06-13 02:31:30 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-12 18:31:30 +0200 |
| commit | 51caf09cc9b0c24aec9c9f82e895ff1529cc8cb1 (patch) | |
| tree | b7a871fae8a96560fddbb2a4999756079c84d58e /src/main/java/at/hannibal2/skyhanni/utils | |
| parent | 488c0e3de136943604e21bee4f49969bd3121895 (diff) | |
| download | skyhanni-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.kt | 53 |
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, |
