diff options
author | Martin Robertz <dream-master@gmx.net> | 2021-05-23 00:11:00 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-23 00:11:00 +0200 |
commit | 7fa6200006e99eac6f33a884672cbc79524a2609 (patch) | |
tree | 2738ab883aea0867694101df29002a08f3c67256 /src/main/java/gregtech/common/render/GT_MultiTexture.java | |
parent | 85356852b644c42b932e2b4852cefb06ffd22673 (diff) | |
parent | 1fd4f8b1daaa3a1eea153bf5b9e314ae0e38c724 (diff) | |
download | GT5-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.java | 58 |
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; + } +} |