aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/tectech/thing
diff options
context:
space:
mode:
authorBucketBrigade <138534411+CookieBrigade@users.noreply.github.com>2024-09-28 10:02:45 -0500
committerGitHub <noreply@github.com>2024-09-28 15:02:45 +0000
commit739b5cbe4b418f8b356a99a6bf0f0788a3b8a445 (patch)
tree4c9c047d4a86cf4d7bffb8a7b39c2f4d56966c31 /src/main/java/tectech/thing
parent5fdaada54a63ff7e3ac949547339f28822cfbad7 (diff)
downloadGT5-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')
-rw-r--r--src/main/java/tectech/thing/block/RenderForgeOfGods.java16
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