diff options
author | Kevin <92656833+kevinthegreat1@users.noreply.github.com> | 2024-01-01 14:50:01 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-01 01:50:01 -0500 |
commit | 37eb5bfad25b1e0c3326ed27744c38f81513b5e4 (patch) | |
tree | f218b51ff9fe54597f7126115547fb15f12bbb4e /src/main/java/de/hysky/skyblocker/utils | |
parent | 8005dd9afe963a461619ee3da603d8202292840b (diff) | |
download | Skyblocker-37eb5bfad25b1e0c3326ed27744c38f81513b5e4.tar.gz Skyblocker-37eb5bfad25b1e0c3326ed27744c38f81513b5e4.tar.bz2 Skyblocker-37eb5bfad25b1e0c3326ed27744c38f81513b5e4.zip |
Waterboard Solver (#467)
* Add waterboard detection and parsing
* Solve waterboard
* Render lines through walls
* Fix lines
* Add lever highlights
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/utils')
3 files changed, 15 insertions, 2 deletions
diff --git a/src/main/java/de/hysky/skyblocker/utils/Tickable.java b/src/main/java/de/hysky/skyblocker/utils/Tickable.java index 9b7b2e3f..dff34e19 100644 --- a/src/main/java/de/hysky/skyblocker/utils/Tickable.java +++ b/src/main/java/de/hysky/skyblocker/utils/Tickable.java @@ -1,5 +1,7 @@ package de.hysky.skyblocker.utils; +import net.minecraft.client.MinecraftClient; + public interface Tickable { - void tick(); + void tick(MinecraftClient client); } diff --git a/src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java b/src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java index 7526c0a8..05514d02 100644 --- a/src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java +++ b/src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java @@ -140,8 +140,9 @@ public class RenderHelper { * @param colorComponents An array of R, G and B color components * @param alpha The alpha of the lines * @param lineWidth The width of the lines + * @param throughWalls Whether to render through walls or not */ - public static void renderLinesFromPoints(WorldRenderContext context, Vec3d[] points, float[] colorComponents, float alpha, float lineWidth) { + public static void renderLinesFromPoints(WorldRenderContext context, Vec3d[] points, float[] colorComponents, float alpha, float lineWidth, boolean throughWalls) { Vec3d camera = context.camera().getPos(); MatrixStack matrices = context.matrixStack(); @@ -163,6 +164,7 @@ public class RenderHelper { RenderSystem.defaultBlendFunc(); RenderSystem.disableCull(); RenderSystem.enableDepthTest(); + RenderSystem.depthFunc(throughWalls ? GL11.GL_ALWAYS : GL11.GL_LEQUAL); buffer.begin(DrawMode.LINE_STRIP, VertexFormats.LINES); @@ -182,6 +184,7 @@ public class RenderHelper { GL11.glDisable(GL11.GL_LINE_SMOOTH); RenderSystem.lineWidth(1f); RenderSystem.enableCull(); + RenderSystem.depthFunc(GL11.GL_LEQUAL); } public static void renderQuad(WorldRenderContext context, Vec3d[] points, float[] colorComponents, float alpha, boolean throughWalls) { diff --git a/src/main/java/de/hysky/skyblocker/utils/waypoint/Waypoint.java b/src/main/java/de/hysky/skyblocker/utils/waypoint/Waypoint.java index 3a1d364f..2f9c9f63 100644 --- a/src/main/java/de/hysky/skyblocker/utils/waypoint/Waypoint.java +++ b/src/main/java/de/hysky/skyblocker/utils/waypoint/Waypoint.java @@ -19,6 +19,10 @@ public class Waypoint { final boolean throughWalls; private boolean shouldRender; + public Waypoint(BlockPos pos, Type type, float[] colorComponents) { + this(pos, type, colorComponents, DEFAULT_HIGHLIGHT_ALPHA); + } + public Waypoint(BlockPos pos, Supplier<Type> typeSupplier, float[] colorComponents) { this(pos, typeSupplier, colorComponents, DEFAULT_HIGHLIGHT_ALPHA, DEFAULT_LINE_WIDTH); } @@ -62,6 +66,10 @@ public class Waypoint { this.shouldRender = true; } + public void toggle() { + this.shouldRender = !this.shouldRender; + } + protected float[] getColorComponents() { return colorComponents; } |