From 678c9a6e1e7a3a1127c40ae5c3dda7ef4519bfb7 Mon Sep 17 00:00:00 2001 From: Léa Gris Date: Thu, 20 May 2021 22:57:12 +0200 Subject: 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. --- src/main/java/gregtech/api/objects/GT_CopiedBlockTexture.java | 7 +++++-- src/main/java/gregtech/api/objects/GT_MultiTexture.java | 8 +++++--- src/main/java/gregtech/api/objects/GT_RenderedTexture.java | 3 ++- src/main/java/gregtech/api/objects/GT_SidedTexture.java | 4 ++++ src/main/java/gregtech/api/objects/GT_StdRenderedTexture.java | 2 ++ 5 files changed, 18 insertions(+), 6 deletions(-) (limited to 'src/main/java/gregtech/api/objects') diff --git a/src/main/java/gregtech/api/objects/GT_CopiedBlockTexture.java b/src/main/java/gregtech/api/objects/GT_CopiedBlockTexture.java index b31149e8de..61136c8f40 100644 --- a/src/main/java/gregtech/api/objects/GT_CopiedBlockTexture.java +++ b/src/main/java/gregtech/api/objects/GT_CopiedBlockTexture.java @@ -5,10 +5,13 @@ import gregtech.api.interfaces.ITexture; import gregtech.api.util.LightingHelper; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.IIcon; import net.minecraftforge.common.util.ForgeDirection; +/** + * @deprecated Replaced by the {@link gregtech.api.render.TextureFactory} API. + */ +@Deprecated public class GT_CopiedBlockTexture implements ITexture { private final Block mBlock; private final byte mSide, mMeta; @@ -113,4 +116,4 @@ public class GT_CopiedBlockTexture implements ITexture { public byte getMeta() { return mMeta; } -} \ No newline at end of file +} diff --git a/src/main/java/gregtech/api/objects/GT_MultiTexture.java b/src/main/java/gregtech/api/objects/GT_MultiTexture.java index ec89a0dfa1..c7878374b4 100644 --- a/src/main/java/gregtech/api/objects/GT_MultiTexture.java +++ b/src/main/java/gregtech/api/objects/GT_MultiTexture.java @@ -1,14 +1,16 @@ package gregtech.api.objects; import gregtech.api.interfaces.ITexture; +import gregtech.api.render.TextureFactory; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; /** - * Lets Multiple ITextures Render overlay over each other. - *

- * I should have done this much earlier... + *

Lets Multiple ITextures Render overlay over each other.<

+ *

I should have done this much earlier...

+ * @deprecated Replaced by the {@link gregtech.api.render.TextureFactory} API. */ +@Deprecated public class GT_MultiTexture implements ITexture { private final ITexture[] mTextures; diff --git a/src/main/java/gregtech/api/objects/GT_RenderedTexture.java b/src/main/java/gregtech/api/objects/GT_RenderedTexture.java index b1e014af01..12d013303c 100644 --- a/src/main/java/gregtech/api/objects/GT_RenderedTexture.java +++ b/src/main/java/gregtech/api/objects/GT_RenderedTexture.java @@ -11,6 +11,7 @@ import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.IIcon; import net.minecraftforge.common.util.ForgeDirection; +@Deprecated public class GT_RenderedTexture implements ITexture, IColorModulationContainer { final IIconContainer mIconContainer; final boolean mAllowAlpha; @@ -204,4 +205,4 @@ public class GT_RenderedTexture implements ITexture, IColorModulationContainer { public boolean isValidTexture() { return mIconContainer != null; } -} \ No newline at end of file +} diff --git a/src/main/java/gregtech/api/objects/GT_SidedTexture.java b/src/main/java/gregtech/api/objects/GT_SidedTexture.java index 2242259e69..c6ed003be9 100644 --- a/src/main/java/gregtech/api/objects/GT_SidedTexture.java +++ b/src/main/java/gregtech/api/objects/GT_SidedTexture.java @@ -7,6 +7,10 @@ import gregtech.api.interfaces.ITexture; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; +/** + * @deprecated Replaced by the {@link gregtech.api.render.TextureFactory} API. + */ +@Deprecated public class GT_SidedTexture implements ITexture, IColorModulationContainer { private final ITexture[] mTextures; /** diff --git a/src/main/java/gregtech/api/objects/GT_StdRenderedTexture.java b/src/main/java/gregtech/api/objects/GT_StdRenderedTexture.java index 041fed4164..0dd405c792 100644 --- a/src/main/java/gregtech/api/objects/GT_StdRenderedTexture.java +++ b/src/main/java/gregtech/api/objects/GT_StdRenderedTexture.java @@ -12,7 +12,9 @@ import net.minecraftforge.common.util.ForgeDirection; * to render with bottom side flipped as with dumb blocks rendering. * It is used in Ore blocks rendering so they better blends with dumb block ores * from vanilla or other mods, when seen from bottom. + * @deprecated Replaced by the {@link gregtech.api.render.TextureFactory} API. */ +@Deprecated public class GT_StdRenderedTexture extends GT_RenderedTexture{ @SuppressWarnings("unused") -- cgit