diff --git a/src/main/java/gregtech/client/renderer/texture/custom/QuantumStorageRenderer.java b/src/main/java/gregtech/client/renderer/texture/custom/QuantumStorageRenderer.java index 9fe28734937..2697a0b4b19 100644 --- a/src/main/java/gregtech/client/renderer/texture/custom/QuantumStorageRenderer.java +++ b/src/main/java/gregtech/client/renderer/texture/custom/QuantumStorageRenderer.java @@ -108,12 +108,7 @@ public void renderMachine(CCR public static void renderChestStack(double x, double y, double z, MetaTileEntityQuantumChest machine, ItemStack stack, long count, float partialTicks) { - if (stack.isEmpty() || count == 0 || !ConfigHolder.client.enableFancyChestRender) - return; - - int range = 16; - if (x > range || y > range || z > range || - x < -range || y < -range || z < -range) + if (!ConfigHolder.client.enableFancyChestRender || stack.isEmpty() || count == 0 || !canRender(x, y, z)) return; float lastBrightnessX = OpenGlHelper.lastBrightnessX; @@ -177,10 +172,18 @@ public static void renderTankFluid(CCRenderState renderState, Matrix4 translatio renderState.reset(); } + public static boolean canRender(double x, double y, double z) { + double distance = (x * x) + (y * y) + (z * z); + return canRender(distance); + } + + public static boolean canRender(double distanceSq) { + int range = 8 * (Minecraft.getMinecraft().gameSettings.renderDistanceChunks / 8); + return distanceSq < range * range; + } + public static void renderTankAmount(double x, double y, double z, EnumFacing frontFacing, long amount) { - int range = 16; - if (x > range || y > range || z > range || - x < -range || y < -range || z < -range) + if (!canRender(x, y, z)) return; float lastBrightnessX = OpenGlHelper.lastBrightnessX;