From fc65ff5b469fb384d2df422a5a6d8437012a819b Mon Sep 17 00:00:00 2001 From: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> Date: Sat, 22 Jul 2023 14:43:00 +0800 Subject: Refactor utils package --- .../skyblocker/utils/render/FrustumUtils.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/main/java/me/xmrvizzy/skyblocker/utils/render/FrustumUtils.java (limited to 'src/main/java/me/xmrvizzy/skyblocker/utils/render/FrustumUtils.java') diff --git a/src/main/java/me/xmrvizzy/skyblocker/utils/render/FrustumUtils.java b/src/main/java/me/xmrvizzy/skyblocker/utils/render/FrustumUtils.java new file mode 100644 index 00000000..d4dd8b18 --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/utils/render/FrustumUtils.java @@ -0,0 +1,21 @@ +package me.xmrvizzy.skyblocker.utils.render; + +import me.xmrvizzy.skyblocker.mixin.accessor.WorldRendererAccessor; +import me.xmrvizzy.skyblocker.mixin.accessor.FrustumInvoker; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.render.Frustum; +import net.minecraft.util.math.Box; + +public class FrustumUtils { + public static Frustum getFrustum() { + return ((WorldRendererAccessor) MinecraftClient.getInstance().worldRenderer).getFrustum(); + } + + public static boolean isVisible(Box box) { + return getFrustum().isVisible(box); + } + + public static boolean isVisible(double minX, double minY, double minZ, double maxX, double maxY, double maxZ) { + return ((FrustumInvoker) getFrustum()).invokeIsVisible(minX, minY, minZ, maxX, maxY, maxZ); + } +} \ No newline at end of file -- cgit