aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/render/BlackholeRenderer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/common/render/BlackholeRenderer.java')
-rw-r--r--src/main/java/gregtech/common/render/BlackholeRenderer.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/main/java/gregtech/common/render/BlackholeRenderer.java b/src/main/java/gregtech/common/render/BlackholeRenderer.java
index 2693844708..78432fbc6d 100644
--- a/src/main/java/gregtech/common/render/BlackholeRenderer.java
+++ b/src/main/java/gregtech/common/render/BlackholeRenderer.java
@@ -7,6 +7,7 @@ import java.nio.FloatBuffer;
import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.MathHelper;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.AdvancedModelLoader;
@@ -118,10 +119,21 @@ public class BlackholeRenderer extends TileEntitySpecialRenderer {
}
private void renderBlackHole(TileEntityBlackhole tile, double x, double y, double z, float timer) {
-
blackholeProgram.use();
bindTexture(blackholeTexture);
GL20.glUniform1f(u_Stability, tile.getStability());
+
+ float startTime = tile.getStartTime();
+ float scaleF = timer - startTime;
+ // If this is false we're shrinking, so subtract from 40 to translate to reversed scaling
+ if (!tile.getScaling()) {
+ scaleF = 40 - scaleF;
+ }
+ scaleF = MathHelper.clamp_float(scaleF / 40, 0, 1) * modelScale;
+ // Smootherstep function to make it scale nicer
+ scaleF = scaleF * scaleF * scaleF * (scaleF * (6.0f * scaleF - 15.0f) + 10.0f);
+ GL20.glUniform1f(u_Scale, scaleF);
+
modelMatrixStack.clear();
float xLocal = ((float) x + .5f);
@@ -206,7 +218,7 @@ public class BlackholeRenderer extends TileEntitySpecialRenderer {
y,
z,
tile.getWorldObj()
- .getWorldTime() + timeSinceLastTick);
+ .getTotalWorldTime() + timeSinceLastTick);
}
renderBlackHole(
@@ -215,7 +227,7 @@ public class BlackholeRenderer extends TileEntitySpecialRenderer {
y,
z,
tile.getWorldObj()
- .getWorldTime() + timeSinceLastTick);
+ .getTotalWorldTime() + timeSinceLastTick);
}