From 8d84f1d1a01802b1d092ef9063578dd7e908ca67 Mon Sep 17 00:00:00 2001 From: BucketBrigade <138534411+CookieBrigade@users.noreply.github.com> Date: Sat, 2 Nov 2024 20:02:37 -0500 Subject: Reduce Bounding Box allocations (#3447) --- .../thing/block/TileEntityEyeOfHarmony.java | 31 ++++++++++++---------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'src/main/java/tectech') diff --git a/src/main/java/tectech/thing/block/TileEntityEyeOfHarmony.java b/src/main/java/tectech/thing/block/TileEntityEyeOfHarmony.java index 147894f4e2..0687346853 100644 --- a/src/main/java/tectech/thing/block/TileEntityEyeOfHarmony.java +++ b/src/main/java/tectech/thing/block/TileEntityEyeOfHarmony.java @@ -24,24 +24,27 @@ import gtneioreplugin.plugin.block.ModBlocks; public class TileEntityEyeOfHarmony extends TileEntity { private static final double EOH_STAR_FIELD_RADIUS = 13; + private AxisAlignedBB boundingBox; // Prevent culling when block is out of frame so model can remain active. @Override public AxisAlignedBB getRenderBoundingBox() { - - // Assuming your block is at (x, y, z) - double x = this.xCoord; - double y = this.yCoord; - double z = this.zCoord; - - // Create a bounding box that extends 'size' blocks in all directions from the block. - return AxisAlignedBB.getBoundingBox( - x - EOH_STAR_FIELD_RADIUS, - y - EOH_STAR_FIELD_RADIUS, - z - EOH_STAR_FIELD_RADIUS, - x + EOH_STAR_FIELD_RADIUS + 1, - y + EOH_STAR_FIELD_RADIUS + 1, - z + EOH_STAR_FIELD_RADIUS + 1); + if (boundingBox == null) { + // Assuming your block is at (x, y, z) + double x = this.xCoord; + double y = this.yCoord; + double z = this.zCoord; + + // Create a bounding box that extends 'size' blocks in all directions from the block. + boundingBox = AxisAlignedBB.getBoundingBox( + x - EOH_STAR_FIELD_RADIUS, + y - EOH_STAR_FIELD_RADIUS, + z - EOH_STAR_FIELD_RADIUS, + x + EOH_STAR_FIELD_RADIUS + 1, + y + EOH_STAR_FIELD_RADIUS + 1, + z + EOH_STAR_FIELD_RADIUS + 1); + } + return boundingBox; } public void setSize(float size) { -- cgit