aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker
diff options
context:
space:
mode:
authorKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-08-02 12:18:37 +0800
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-08-18 18:16:52 +0800
commit953932e3f0803f78e745e202dc3e4e25bc444593 (patch)
treec835ba217636f2bd037750d451e095ebc85842d3 /src/main/java/me/xmrvizzy/skyblocker
parentf703df1f93a7730e818730095df8f6e569f3d647 (diff)
downloadSkyblocker-953932e3f0803f78e745e202dc3e4e25bc444593.tar.gz
Skyblocker-953932e3f0803f78e745e202dc3e4e25bc444593.tar.bz2
Skyblocker-953932e3f0803f78e745e202dc3e4e25bc444593.zip
Refactor RenderHelper
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/DungeonBlaze.java15
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/utils/render/RenderHelper.java19
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);
}
}