aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/render/GT_MultiTexture.java
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2021-05-23 00:11:00 +0200
committerGitHub <noreply@github.com>2021-05-23 00:11:00 +0200
commit7fa6200006e99eac6f33a884672cbc79524a2609 (patch)
tree2738ab883aea0867694101df29002a08f3c67256 /src/main/java/gregtech/common/render/GT_MultiTexture.java
parent85356852b644c42b932e2b4852cefb06ffd22673 (diff)
parent1fd4f8b1daaa3a1eea153bf5b9e314ae0e38c724 (diff)
downloadGT5-Unofficial-7fa6200006e99eac6f33a884672cbc79524a2609.tar.gz
GT5-Unofficial-7fa6200006e99eac6f33a884672cbc79524a2609.tar.bz2
GT5-Unofficial-7fa6200006e99eac6f33a884672cbc79524a2609.zip
Merge pull request #521 from GTNewHorizons/glow-texture
Glowing textures
Diffstat (limited to 'src/main/java/gregtech/common/render/GT_MultiTexture.java')
-rw-r--r--src/main/java/gregtech/common/render/GT_MultiTexture.java58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/main/java/gregtech/common/render/GT_MultiTexture.java b/src/main/java/gregtech/common/render/GT_MultiTexture.java
new file mode 100644
index 0000000000..eadcb39573
--- /dev/null
+++ b/src/main/java/gregtech/common/render/GT_MultiTexture.java
@@ -0,0 +1,58 @@
+package gregtech.common.render;
+
+import gregtech.api.interfaces.ITexture;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.RenderBlocks;
+
+/**
+ * <p>Lets Multiple ITextures Render overlay over each other.<</p>
+ * <p>I should have done this much earlier...</p>
+ */
+class GT_MultiTexture implements ITexture {
+ protected final ITexture[] mTextures;
+
+ GT_MultiTexture(ITexture... aTextures) {
+ mTextures = aTextures;
+ }
+
+ @Override
+ public void renderXPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
+ for (ITexture tTexture : mTextures)
+ if (tTexture != null && tTexture.isValidTexture()) tTexture.renderXPos(aRenderer, aBlock, aX, aY, aZ);
+ }
+
+ @Override
+ public void renderXNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
+ for (ITexture tTexture : mTextures)
+ if (tTexture != null && tTexture.isValidTexture()) tTexture.renderXNeg(aRenderer, aBlock, aX, aY, aZ);
+ }
+
+ @Override
+ public void renderYPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
+ for (ITexture tTexture : mTextures)
+ if (tTexture != null && tTexture.isValidTexture()) tTexture.renderYPos(aRenderer, aBlock, aX, aY, aZ);
+ }
+
+ @Override
+ public void renderYNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
+ for (ITexture tTexture : mTextures)
+ if (tTexture != null && tTexture.isValidTexture()) tTexture.renderYNeg(aRenderer, aBlock, aX, aY, aZ);
+ }
+
+ @Override
+ public void renderZPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
+ for (ITexture tTexture : mTextures)
+ if (tTexture != null && tTexture.isValidTexture()) tTexture.renderZPos(aRenderer, aBlock, aX, aY, aZ);
+ }
+
+ @Override
+ public void renderZNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
+ for (ITexture tTexture : mTextures)
+ if (tTexture != null && tTexture.isValidTexture()) tTexture.renderZNeg(aRenderer, aBlock, aX, aY, aZ);
+ }
+
+ @Override
+ public boolean isValidTexture() {
+ return true;
+ }
+}