aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/render/GT_SidedTexture.java
diff options
context:
space:
mode:
authorLéa Gris <lea.gris@noiraude.net>2021-05-20 22:57:12 +0200
committerLéa Gris <lea.gris@noiraude.net>2021-05-21 13:41:21 +0200
commit678c9a6e1e7a3a1127c40ae5c3dda7ef4519bfb7 (patch)
treef275c84399e59b714bcd9a70f0ffa6d6020f5ffe /src/main/java/gregtech/api/render/GT_SidedTexture.java
parent04468545985a4fed401d9b6626670e8af5938920 (diff)
downloadGT5-Unofficial-678c9a6e1e7a3a1127c40ae5c3dda7ef4519bfb7.tar.gz
GT5-Unofficial-678c9a6e1e7a3a1127c40ae5c3dda7ef4519bfb7.tar.bz2
GT5-Unofficial-678c9a6e1e7a3a1127c40ae5c3dda7ef4519bfb7.zip
feat(render): implementation-free api texture factory
Provides an implementation-free API Texture factory an builder. Deprecates gregtech.api.objects.GT_*Texture.java classes Once all GregTech add-on will be migrated to the new implemnetation-free API, changes to the implementation will not affect the add-on. For now, this API allow rendering of in-world glow textures. In-inventory/hand rendering of glow texture require implementation changes that are postponed until no add-on uses the deprecated embedded implementation API.
Diffstat (limited to 'src/main/java/gregtech/api/render/GT_SidedTexture.java')
-rw-r--r--src/main/java/gregtech/api/render/GT_SidedTexture.java91
1 files changed, 0 insertions, 91 deletions
diff --git a/src/main/java/gregtech/api/render/GT_SidedTexture.java b/src/main/java/gregtech/api/render/GT_SidedTexture.java
deleted file mode 100644
index 1e940ba814..0000000000
--- a/src/main/java/gregtech/api/render/GT_SidedTexture.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package gregtech.api.render;
-
-import gregtech.api.enums.Dyes;
-import gregtech.api.interfaces.IColorModulationContainer;
-import gregtech.api.interfaces.IIconContainer;
-import gregtech.api.interfaces.ITexture;
-import net.minecraft.block.Block;
-import net.minecraft.client.renderer.RenderBlocks;
-
-public class GT_SidedTexture implements ITexture, IColorModulationContainer {
- private final ITexture[] mTextures;
- /**
- * DO NOT MANIPULATE THE VALUES INSIDE THIS ARRAY!!!
- * <p/>
- * Just set this variable to another different Array instead.
- * Otherwise some colored things will get Problems.
- */
- public short[] mRGBa;
-
- public GT_SidedTexture(IIconContainer aIcon0, IIconContainer aIcon1, IIconContainer aIcon2, IIconContainer aIcon3, IIconContainer aIcon4, IIconContainer aIcon5, short[] aRGBa, boolean aAllowAlpha) {
- if (aRGBa.length != 4) throw new IllegalArgumentException("RGBa doesn't have 4 Values @ GT_RenderedTexture");
- mTextures = new ITexture[]{
- new GT_RenderedTexture(aIcon0, aRGBa, aAllowAlpha),
- new GT_RenderedTexture(aIcon1, aRGBa, aAllowAlpha),
- new GT_RenderedTexture(aIcon2, aRGBa, aAllowAlpha),
- new GT_RenderedTexture(aIcon3, aRGBa, aAllowAlpha),
- new GT_RenderedTexture(aIcon4, aRGBa, aAllowAlpha),
- new GT_RenderedTexture(aIcon5, aRGBa, aAllowAlpha)
- };
- mRGBa = aRGBa;
- }
-
- public GT_SidedTexture(IIconContainer aIcon0, IIconContainer aIcon1, IIconContainer aIcon2, IIconContainer aIcon3, IIconContainer aIcon4, IIconContainer aIcon5, short[] aRGBa) {
- this(aIcon0, aIcon1, aIcon2, aIcon3, aIcon4, aIcon5, aRGBa, true);
- }
-
- public GT_SidedTexture(IIconContainer aIcon0, IIconContainer aIcon1, IIconContainer aIcon2, IIconContainer aIcon3, IIconContainer aIcon4, IIconContainer aIcon5) {
- this(aIcon0, aIcon1, aIcon2, aIcon3, aIcon4, aIcon5, Dyes._NULL.mRGBa);
- }
-
- public GT_SidedTexture(IIconContainer aBottom, IIconContainer aTop, IIconContainer aSides, short[] aRGBa) {
- this(aBottom, aTop, aSides, aSides, aSides, aSides, aRGBa);
- }
-
- public GT_SidedTexture(IIconContainer aBottom, IIconContainer aTop, IIconContainer aSides) {
- this(aBottom, aTop, aSides, Dyes._NULL.mRGBa);
- }
-
- @Override
- public void renderXPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- mTextures[5].renderXPos(aRenderer, aBlock, aX ,aY, aZ);
- }
-
- @Override
- public void renderXNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- mTextures[4].renderXNeg(aRenderer, aBlock, aX ,aY, aZ);
- }
-
- @Override
- public void renderYPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- mTextures[1].renderYPos(aRenderer, aBlock, aX ,aY, aZ);
- }
-
- @Override
- public void renderYNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- mTextures[0].renderYNeg(aRenderer, aBlock, aX ,aY, aZ);
- }
-
- @Override
- public void renderZPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- mTextures[3].renderZPos(aRenderer, aBlock, aX ,aY, aZ);
- }
-
- @Override
- public void renderZNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- mTextures[2].renderZNeg(aRenderer, aBlock, aX ,aY, aZ);
- }
-
- @Override
- public short[] getRGBA() {
- return mRGBa;
- }
-
- @Override
- public boolean isValidTexture() {
- for (ITexture renderedTexture : mTextures) {
- if (!renderedTexture.isValidTexture()) return false;
- }
- return true;
- }
-}