diff options
author | BucketBrigade <138534411+CookieBrigade@users.noreply.github.com> | 2024-09-28 10:02:45 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-28 15:02:45 +0000 |
commit | 739b5cbe4b418f8b356a99a6bf0f0788a3b8a445 (patch) | |
tree | 4c9c047d4a86cf4d7bffb8a7b39c2f4d56966c31 /src/main/java/tectech/thing/block/RenderForgeOfGods.java | |
parent | 5fdaada54a63ff7e3ac949547339f28822cfbad7 (diff) | |
download | GT5-Unofficial-739b5cbe4b418f8b356a99a6bf0f0788a3b8a445.tar.gz GT5-Unofficial-739b5cbe4b418f8b356a99a6bf0f0788a3b8a445.tar.bz2 GT5-Unofficial-739b5cbe4b418f8b356a99a6bf0f0788a3b8a445.zip |
Hopefully fix obliterating people's gpu memory (#3297)
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/tectech/thing/block/RenderForgeOfGods.java')
-rw-r--r-- | src/main/java/tectech/thing/block/RenderForgeOfGods.java | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/main/java/tectech/thing/block/RenderForgeOfGods.java b/src/main/java/tectech/thing/block/RenderForgeOfGods.java index 04c46155c0..7a38b253ef 100644 --- a/src/main/java/tectech/thing/block/RenderForgeOfGods.java +++ b/src/main/java/tectech/thing/block/RenderForgeOfGods.java @@ -40,6 +40,7 @@ public class RenderForgeOfGods extends TileEntitySpecialRenderer { private static float modelNormalize = .0067f * 2; private static boolean initialized = false; + private static boolean failedInit = false; private static int u_Color = -1, u_ModelMatrix = -1, u_Gamma = -1; private Matrix4fStack starModelMatrix = new Matrix4fStack(3); @@ -402,13 +403,24 @@ public class RenderForgeOfGods extends TileEntitySpecialRenderer { @Override public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float timeSinceLastTick) { + if (failedInit) return; if (!(tile instanceof TileEntityForgeOfGods forgeTile)) return; if (forgeTile.getRingCount() < 1) return; + // If something ever fails, just early return and never try again this session if (!initialized) { init(); - initRings(); - if (!initialized) return; + if (!initialized) { + failedInit = true; + return; + } + try { + initRings(); + } catch (Exception e) { + System.out.println(e.getMessage()); + failedInit = true; + return; + } } // Based on system time to prevent tps issues from causing stutters |