diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-08-02 12:18:37 +0800 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-08-18 18:16:52 +0800 |
commit | 953932e3f0803f78e745e202dc3e4e25bc444593 (patch) | |
tree | c835ba217636f2bd037750d451e095ebc85842d3 /src | |
parent | f703df1f93a7730e818730095df8f6e569f3d647 (diff) | |
download | Skyblocker-953932e3f0803f78e745e202dc3e4e25bc444593.tar.gz Skyblocker-953932e3f0803f78e745e202dc3e4e25bc444593.tar.bz2 Skyblocker-953932e3f0803f78e745e202dc3e4e25bc444593.zip |
Refactor RenderHelper
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java | 15 | ||||
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java | 19 |
2 files changed, 17 insertions, 17 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java index c024e189..ef94d9ec 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java @@ -48,8 +48,8 @@ public class DungeonBlaze { int health = Integer.parseInt(blazeName.substring(blazeName.indexOf("/") + 1, blazeName.length() - 1)); blazes.add(ObjectIntPair.of(entity, health)); - } catch (NumberFormatException ex) { - ex.printStackTrace(); + } catch (NumberFormatException e) { + LOGGER.error("[Skyblocker DungeonBlazeSolver] Failed to parse blaze health: " + blazeName, e); } } } @@ -79,11 +79,11 @@ public class DungeonBlaze { /* Outline */ if (highestBlaze.getY() < 69) { Box blaze = highestBlaze.getBoundingBox().expand(0.3, 0.9, 0.3).offset(0, -1.1, 0); - RenderHelper.renderBox(context, blaze, GREEN_COLOR_COMPONENTS); + RenderHelper.renderOutline(context, blaze, GREEN_COLOR_COMPONENTS, 5f); if (nextHighestBlaze != null && nextHighestBlaze.isAlive() && nextHighestBlaze != highestBlaze) { Box nextBlaze = nextHighestBlaze.getBoundingBox().expand(0.3, 0.9, 0.3).offset(0, -1.1, 0); - RenderHelper.renderBox(context, nextBlaze, WHITE_COLOR_COMPONENTS); + RenderHelper.renderOutline(context, nextBlaze, WHITE_COLOR_COMPONENTS, 5f); RenderHelper.renderLinesFromPoints(context, new Vec3d[] { blaze.getCenter(), nextBlaze.getCenter() }, WHITE_COLOR_COMPONENTS, 1f, 5f); } } @@ -91,18 +91,17 @@ public class DungeonBlaze { /* Outline */ if (lowestBlaze.getY() > 69) { Box blaze = lowestBlaze.getBoundingBox().expand(0.3, 0.9, 0.3).offset(0, -1.1, 0); - RenderHelper.renderBox(context, blaze, GREEN_COLOR_COMPONENTS); + RenderHelper.renderOutline(context, blaze, GREEN_COLOR_COMPONENTS, 5f); if (nextLowestBlaze != null && nextLowestBlaze.isAlive() && nextLowestBlaze != lowestBlaze) { Box nextBlaze = nextLowestBlaze.getBoundingBox().expand(0.3, 0.9, 0.3).offset(0, -1.1, 0); - RenderHelper.renderBox(context, nextBlaze, WHITE_COLOR_COMPONENTS); + RenderHelper.renderOutline(context, nextBlaze, WHITE_COLOR_COMPONENTS, 5f); RenderHelper.renderLinesFromPoints(context, new Vec3d[] { blaze.getCenter(), nextBlaze.getCenter() }, WHITE_COLOR_COMPONENTS, 1f, 5f); } } } } catch (Exception e) { - LOGGER.warn("[Skyblocker BlazeRenderer] " + e); - e.printStackTrace(); + LOGGER.warn("[Skyblocker DungeonBlazeRenderer] Failed to render blaze boxes", e); } } }
\ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java b/src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java index d3a547a9..9dd8fa22 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java @@ -12,11 +12,8 @@ import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.*; import net.minecraft.client.render.VertexFormat.DrawMode; -import net.minecraft.client.render.VertexFormats; -import net.minecraft.client.render.WorldRenderer; import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.sound.SoundEvent; -import net.minecraft.util.Identifier; +import net.minecraft.sound.SoundEvents; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Box; import net.minecraft.util.math.Vec3d; @@ -73,16 +70,20 @@ public class RenderHelper { } } - public static void renderBox(WorldRenderContext wrc, Box box, float[] colorComponents) { + /** + * Renders the outline of a box with the specified color components and line width. + * This does not use renderer since renderer draws outline using debug lines with a fixed width. + */ + public static void renderOutline(WorldRenderContext context, Box box, float[] colorComponents, float lineWidth) { if (FrustumUtils.isVisible(box)) { - Vec3d camera = wrc.camera().getPos(); - MatrixStack matrices = wrc.matrixStack(); + MatrixStack matrices = context.matrixStack(); + Vec3d camera = context.camera().getPos(); Tessellator tessellator = RenderSystem.renderThreadTesselator(); BufferBuilder buffer = tessellator.getBuffer(); RenderSystem.setShader(GameRenderer::getRenderTypeLinesProgram); RenderSystem.setShaderColor(1f, 1f, 1f, 1f); - RenderSystem.lineWidth(2.5f); + RenderSystem.lineWidth(lineWidth); RenderSystem.disableCull(); RenderSystem.enableDepthTest(); @@ -186,7 +187,7 @@ public class RenderHelper { private static void playNotificationSound() { if (MinecraftClient.getInstance().player != null) { - MinecraftClient.getInstance().player.playSound(SoundEvent.of(new Identifier("entity.experience_orb.pickup")), 100f, 0.1f); + MinecraftClient.getInstance().player.playSound(SoundEvents.ENTITY_EXPERIENCE_ORB_PICKUP, 100f, 0.1f); } } |