aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/objects
diff options
context:
space:
mode:
authorLéa Gris <lea.gris@noiraude.net>2021-05-08 22:31:58 +0200
committerLéa Gris <lea.gris@noiraude.net>2021-05-21 13:38:39 +0200
commit04468545985a4fed401d9b6626670e8af5938920 (patch)
tree1941b545ac1e07ea64a605911ca245b5e836d56d /src/main/java/gregtech/api/objects
parent9fcbc16e436ef745d761cb934834d8070fb68a8c (diff)
downloadGT5-Unofficial-04468545985a4fed401d9b6626670e8af5938920.tar.gz
GT5-Unofficial-04468545985a4fed401d9b6626670e8af5938920.tar.bz2
GT5-Unofficial-04468545985a4fed401d9b6626670e8af5938920.zip
fix(render): move new textures rendering to new package
Old textures rendering are kept in api/objects for backward compatibility. The old textures rendering does not handle glow textures or independant inventory tessellation. The old textures will only work with the old GT_Renderer_Block class New textures rendering with own tessellation in inventory and handling of glow emisssive textures are moved to the api/render package. These must not be used with the Old GT_Renderer_Block class or it will crash with: Already Tessellating Exception from the Tessellator class
Diffstat (limited to 'src/main/java/gregtech/api/objects')
-rw-r--r--src/main/java/gregtech/api/objects/GT_CopiedBlockTexture.java14
-rw-r--r--src/main/java/gregtech/api/objects/GT_RenderedGlowTexture.java208
-rw-r--r--src/main/java/gregtech/api/objects/GT_RenderedTexture.java14
-rw-r--r--src/main/java/gregtech/api/objects/GT_StdRenderedTexture.java2
4 files changed, 2 insertions, 236 deletions
diff --git a/src/main/java/gregtech/api/objects/GT_CopiedBlockTexture.java b/src/main/java/gregtech/api/objects/GT_CopiedBlockTexture.java
index 81cd497166..b31149e8de 100644
--- a/src/main/java/gregtech/api/objects/GT_CopiedBlockTexture.java
+++ b/src/main/java/gregtech/api/objects/GT_CopiedBlockTexture.java
@@ -47,69 +47,57 @@ public class GT_CopiedBlockTexture implements ITexture {
public void renderXPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
IIcon aIcon = getIcon(ForgeDirection.EAST.ordinal());
aRenderer.field_152631_f = true;
- startDrawingQuads(aRenderer, 1.0f, 0.0f, 0.0f);
new LightingHelper(aRenderer)
.setupLightingXPos(aBlock, aX, aY, aZ)
.setupColor(ForgeDirection.EAST.ordinal(), 0xffffff);
aRenderer.renderFaceXPos(aBlock, aX, aY, aZ, aIcon);
- draw(aRenderer);
aRenderer.field_152631_f = false;
}
@Override
public void renderXNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- startDrawingQuads(aRenderer, -1.0f, 0.0f, 0.0f);
IIcon aIcon = getIcon(ForgeDirection.WEST.ordinal());
new LightingHelper(aRenderer)
.setupLightingXNeg(aBlock, aX, aY, aZ)
.setupColor(ForgeDirection.WEST.ordinal(), 0xffffff);
aRenderer.renderFaceXNeg(aBlock, aX, aY, aZ, aIcon);
- draw(aRenderer);
}
@Override
public void renderYPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- startDrawingQuads(aRenderer, 0.0f, 1.0f, 0.0f);
IIcon aIcon = getIcon(ForgeDirection.UP.ordinal());
new LightingHelper(aRenderer)
.setupLightingYPos(aBlock, aX, aY, aZ)
.setupColor(ForgeDirection.UP.ordinal(), 0xffffff);
aRenderer.renderFaceYPos(aBlock, aX, aY, aZ, aIcon);
- draw(aRenderer);
}
@Override
public void renderYNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- startDrawingQuads(aRenderer, 0.0f, -1.0f, 0.0f);
IIcon aIcon = getIcon(ForgeDirection.DOWN.ordinal());
new LightingHelper(aRenderer)
.setupLightingYNeg(aBlock, aX, aY, aZ)
.setupColor(ForgeDirection.DOWN.ordinal(), 0xffffff);
aRenderer.renderFaceYNeg(aBlock, aX, aY, aZ, aIcon);
- draw(aRenderer);
}
@Override
public void renderZPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- startDrawingQuads(aRenderer, 0.0f, 0.0f, 1.0f);
IIcon aIcon = getIcon(ForgeDirection.SOUTH.ordinal());
new LightingHelper(aRenderer)
.setupLightingZPos(aBlock, aX, aY, aZ)
.setupColor(ForgeDirection.SOUTH.ordinal(), 0xffffff);
aRenderer.renderFaceZPos(aBlock, aX, aY, aZ, aIcon);
- draw(aRenderer);
}
@Override
public void renderZNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- startDrawingQuads(aRenderer, 0.0f, 0.0f, -1.0f);
IIcon aIcon = getIcon(ForgeDirection.NORTH.ordinal());
aRenderer.field_152631_f = true;
new LightingHelper(aRenderer)
.setupLightingZNeg(aBlock, aX, aY, aZ)
.setupColor(ForgeDirection.NORTH.ordinal(), 0xffffff);
aRenderer.renderFaceZNeg(aBlock, aX, aY, aZ, aIcon);
- draw(aRenderer);
aRenderer.field_152631_f = false;
}
@@ -125,4 +113,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_RenderedGlowTexture.java b/src/main/java/gregtech/api/objects/GT_RenderedGlowTexture.java
deleted file mode 100644
index c140e93bc6..0000000000
--- a/src/main/java/gregtech/api/objects/GT_RenderedGlowTexture.java
+++ /dev/null
@@ -1,208 +0,0 @@
-package gregtech.api.objects;
-
-import gregtech.GT_Mod;
-import gregtech.api.enums.Dyes;
-import gregtech.api.enums.Textures.BlockIcons;
-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;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.util.IIcon;
-
-import static gregtech.api.util.LightingHelper.MAX_BRIGHTNESS;
-
-public class GT_RenderedGlowTexture implements ITexture, IColorModulationContainer {
- final IIconContainer mIconContainer;
- final boolean mAllowAlpha;
- /**
- * 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_RenderedGlowTexture(IIconContainer aIcon) {
- this(aIcon, Dyes._NULL.mRGBa);
- }
-
- public GT_RenderedGlowTexture(IIconContainer aIcon, short[] aRGBa) {
- this(aIcon, aRGBa, true);
- }
-
- public GT_RenderedGlowTexture(IIconContainer aIcon, short[] aRGBa, boolean aAllowAlpha) {
- if (aRGBa.length != 4) throw new IllegalArgumentException("RGBa doesn't have 4 Values @ GT_RenderedTexture");
- mIconContainer = GT_Mod.gregtechproxy.mRenderGlowTextures ? aIcon : BlockIcons.VOID;
- mAllowAlpha = aAllowAlpha;
- mRGBa = aRGBa;
- }
-
- @Override
- public short[] getRGBA() {
- return mRGBa;
- }
-
- @Override
- public void renderXPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- if (!GT_Mod.gregtechproxy.mRenderGlowTextures) return;
- aRenderer.field_152631_f = true;
- final boolean enableAO = aRenderer.enableAO;
- aRenderer.enableAO = false;
- startDrawingQuads(aRenderer, 1.0f, 0.0f, 0.0f);
- Tessellator.instance.setBrightness(MAX_BRIGHTNESS);
- Tessellator.instance.setColorOpaque(mRGBa[0], mRGBa[1], mRGBa[2]);
- aRenderer.renderFaceXPos(aBlock, aX, aY, aZ, mIconContainer.getIcon());
- if (mIconContainer.getOverlayIcon() != null) {
- Tessellator.instance.setColorOpaque(255, 255, 255);
- aRenderer.renderFaceXPos(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon());
- }
- draw(aRenderer);
- aRenderer.field_152631_f = false;
- aRenderer.enableAO = enableAO;
- }
-
- @Override
- public void renderXNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- if (!GT_Mod.gregtechproxy.mRenderGlowTextures) return;
- final boolean enableAO = aRenderer.enableAO;
- aRenderer.enableAO = false;
- startDrawingQuads(aRenderer, -1.0f, 0.0f, 0.0f);
- Tessellator.instance.setBrightness(MAX_BRIGHTNESS);
- Tessellator.instance.setColorOpaque(mRGBa[0], mRGBa[1], mRGBa[2]);
- aRenderer.renderFaceXNeg(aBlock, aX, aY, aZ, mIconContainer.getIcon());
- if (mIconContainer.getOverlayIcon() != null) {
- Tessellator.instance.setColorOpaque(255, 255, 255);
- aRenderer.renderFaceXNeg(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon());
- }
- draw(aRenderer);
- aRenderer.enableAO = enableAO;
- }
-
- @Override
- public void renderYPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- if (!GT_Mod.gregtechproxy.mRenderGlowTextures) return;
- final boolean enableAO = aRenderer.enableAO;
- aRenderer.enableAO = false;
- startDrawingQuads(aRenderer, 0.0f, 1.0f, 0.0f);
- Tessellator.instance.setBrightness(MAX_BRIGHTNESS);
- Tessellator.instance.setColorOpaque(mRGBa[0], mRGBa[1], mRGBa[2]);
- aRenderer.renderFaceYPos(aBlock, aX, aY, aZ, mIconContainer.getIcon());
- if (mIconContainer.getOverlayIcon() != null) {
- Tessellator.instance.setColorOpaque(255, 255, 255);
- aRenderer.renderFaceYPos(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon());
- }
- draw(aRenderer);
- aRenderer.enableAO = enableAO;
- }
-
- @Override
- public void renderYNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- if (!GT_Mod.gregtechproxy.mRenderGlowTextures) return;
- final boolean enableAO = aRenderer.enableAO;
- startDrawingQuads(aRenderer, 0.0f, -1.0f, 0.0f);
- final Tessellator tessellator = Tessellator.instance;
- IIcon aIcon = mIconContainer.getIcon();
-
- float minU = aIcon.getInterpolatedU((1.0D - aRenderer.renderMaxX) * 16.0D);
- float maxU = aIcon.getInterpolatedU((1.0D - aRenderer.renderMinX) * 16.0D);
- float minV = aIcon.getInterpolatedV(aRenderer.renderMinZ * 16.0D);
- float maxV = aIcon.getInterpolatedV(aRenderer.renderMaxZ * 16.0D);
-
- if (aRenderer.renderMinX < 0.0D || aRenderer.renderMaxX > 1.0D) {
- minU = 16.0F - aIcon.getMaxU();
- maxU = 16.0F - aIcon.getMinU();
- }
-
- if (aRenderer.renderMinZ < 0.0D || aRenderer.renderMaxZ > 1.0D) {
- minV = aIcon.getMinV();
- maxV = aIcon.getMaxV();
- }
-
- double minX = aX + aRenderer.renderMinX;
- double maxX = aX + aRenderer.renderMaxX;
- double minY = aY + aRenderer.renderMinY;
- double minZ = aZ + aRenderer.renderMinZ;
- double maxZ = aZ + aRenderer.renderMaxZ;
-
- Tessellator.instance.setBrightness(MAX_BRIGHTNESS);
- Tessellator.instance.setColorOpaque(mRGBa[0], mRGBa[1], mRGBa[2]);
-
- tessellator.addVertexWithUV(minX, minY, maxZ, maxU, maxV);
- tessellator.addVertexWithUV(minX, minY, minZ, maxU, minV);
- tessellator.addVertexWithUV(maxX, minY, minZ, minU, minV);
- tessellator.addVertexWithUV(maxX, minY, maxZ, minU, maxV);
-
- if (mIconContainer.getOverlayIcon() != null) {
- minU = aIcon.getInterpolatedU((1.0D - aRenderer.renderMaxX) * 16.0D);
- maxU = aIcon.getInterpolatedU((1.0D - aRenderer.renderMinX) * 16.0D);
- minV = aIcon.getInterpolatedV(aRenderer.renderMinZ * 16.0D);
- maxV = aIcon.getInterpolatedV(aRenderer.renderMaxZ * 16.0D);
-
- if (aRenderer.renderMinX < 0.0D || aRenderer.renderMaxX > 1.0D) {
- minU = 16.0F - aIcon.getMaxU();
- maxU = 16.0F - aIcon.getMinU();
- }
-
- if (aRenderer.renderMinZ < 0.0D || aRenderer.renderMaxZ > 1.0D) {
- minV = aIcon.getMinV();
- maxV = aIcon.getMaxV();
- }
-
- minX = aX + (float) aRenderer.renderMinX;
- maxX = aX + (float) aRenderer.renderMaxX;
- minY = aY + (float) aRenderer.renderMinY;
- minZ = aZ + (float) aRenderer.renderMinZ;
- maxZ = aZ + (float) aRenderer.renderMaxZ;
-
- Tessellator.instance.setColorOpaque(255, 255, 255);
- tessellator.addVertexWithUV(minX, minY, maxZ, maxU, maxV);
- tessellator.addVertexWithUV(minX, minY, minZ, maxU, minV);
- tessellator.addVertexWithUV(maxX, minY, minZ, minU, minV);
- tessellator.addVertexWithUV(maxX, minY, maxZ, minU, maxV);
- }
- draw(aRenderer);
- aRenderer.enableAO = enableAO;
- }
-
- @Override
- public void renderZPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- if (!GT_Mod.gregtechproxy.mRenderGlowTextures) return;
- final boolean enableAO = aRenderer.enableAO;
- aRenderer.enableAO = false;
- startDrawingQuads(aRenderer, 0.0f, 0.0f, 1.0f);
- Tessellator.instance.setBrightness(MAX_BRIGHTNESS);
- Tessellator.instance.setColorOpaque(mRGBa[0], mRGBa[1], mRGBa[2]);
- aRenderer.renderFaceZPos(aBlock, aX, aY, aZ, mIconContainer.getIcon());
- if (mIconContainer.getOverlayIcon() != null) {
- aRenderer.renderFaceZPos(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon());
- }
- draw(aRenderer);
- aRenderer.enableAO = enableAO;
- }
-
- @Override
- public void renderZNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- if (!GT_Mod.gregtechproxy.mRenderGlowTextures) return;
- final boolean enableAO = aRenderer.enableAO;
- aRenderer.enableAO = false;
- aRenderer.field_152631_f = true;
- startDrawingQuads(aRenderer, 0.0f, 0.0f, -1.0f);
- Tessellator.instance.setBrightness(MAX_BRIGHTNESS);
- Tessellator.instance.setColorOpaque(mRGBa[0], mRGBa[1], mRGBa[2]);
- aRenderer.renderFaceZNeg(aBlock, aX, aY, aZ, mIconContainer.getIcon());
- if (mIconContainer.getOverlayIcon() != null) {
- Tessellator.instance.setColorOpaque(255, 255, 255);
- aRenderer.renderFaceZNeg(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon());
- }
- draw(aRenderer);
- aRenderer.field_152631_f = false;
- aRenderer.enableAO = enableAO;
- }
-
- @Override
- public boolean isValidTexture() {
- return mIconContainer != null;
- }
-}
diff --git a/src/main/java/gregtech/api/objects/GT_RenderedTexture.java b/src/main/java/gregtech/api/objects/GT_RenderedTexture.java
index 1c2110fd0d..b1e014af01 100644
--- a/src/main/java/gregtech/api/objects/GT_RenderedTexture.java
+++ b/src/main/java/gregtech/api/objects/GT_RenderedTexture.java
@@ -40,7 +40,6 @@ public class GT_RenderedTexture implements ITexture, IColorModulationContainer {
@Override
public void renderXPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
aRenderer.field_152631_f = true;
- startDrawingQuads(aRenderer, 1.0f, 0.0f, 0.0f);
LightingHelper lighting = new LightingHelper(aRenderer);
lighting.setupLightingXPos(aBlock, aX, aY, aZ)
.setupColor(ForgeDirection.EAST.ordinal(), mRGBa);
@@ -49,13 +48,11 @@ public class GT_RenderedTexture implements ITexture, IColorModulationContainer {
lighting.setupColor(ForgeDirection.EAST.ordinal(), 0xffffff);
aRenderer.renderFaceXPos(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon());
}
- draw(aRenderer);
aRenderer.field_152631_f = false;
}
@Override
public void renderXNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- startDrawingQuads(aRenderer, -1.0f, 0.0f, 0.0f);
LightingHelper lighting = new LightingHelper(aRenderer);
lighting.setupLightingXNeg(aBlock, aX, aY, aZ)
.setupColor(ForgeDirection.WEST.ordinal(), mRGBa);
@@ -64,12 +61,10 @@ public class GT_RenderedTexture implements ITexture, IColorModulationContainer {
lighting.setupColor(ForgeDirection.WEST.ordinal(), 0xffffff);
aRenderer.renderFaceXNeg(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon());
}
- draw(aRenderer);
}
@Override
public void renderYPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- startDrawingQuads(aRenderer, 0.0f, 1.0f, 0.0f);
LightingHelper lighting = new LightingHelper(aRenderer);
lighting.setupLightingYPos(aBlock, aX, aY, aZ)
.setupColor(ForgeDirection.UP.ordinal(), mRGBa);
@@ -78,12 +73,10 @@ public class GT_RenderedTexture implements ITexture, IColorModulationContainer {
lighting.setupColor(ForgeDirection.UP.ordinal(), 0xffffff);
aRenderer.renderFaceYPos(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon());
}
- draw(aRenderer);
}
@Override
public void renderYNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- startDrawingQuads(aRenderer, 0.0f, -1.0f, 0.0f);
final Tessellator tessellator = Tessellator.instance;
IIcon aIcon = mIconContainer.getIcon();
@@ -174,12 +167,10 @@ public class GT_RenderedTexture implements ITexture, IColorModulationContainer {
}
tessellator.addVertexWithUV(maxX, minY, maxZ, minU, maxV);
}
- draw(aRenderer);
}
@Override
public void renderZPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- startDrawingQuads(aRenderer, 0.0f, 0.0f, 1.0f);
LightingHelper lighting = new LightingHelper(aRenderer);
lighting.setupLightingZPos(aBlock, aX, aY, aZ)
.setupColor(ForgeDirection.SOUTH.ordinal(), mRGBa);
@@ -188,12 +179,10 @@ public class GT_RenderedTexture implements ITexture, IColorModulationContainer {
lighting.setupColor(ForgeDirection.SOUTH.ordinal(), 0xffffff);
aRenderer.renderFaceZPos(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon());
}
- draw(aRenderer);
}
@Override
public void renderZNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- startDrawingQuads(aRenderer, 0.0f, 0.0f, -1.0f);
aRenderer.field_152631_f = true;
LightingHelper lighting = new LightingHelper(aRenderer);
lighting.setupLightingZNeg(aBlock, aX, aY, aZ)
@@ -203,7 +192,6 @@ public class GT_RenderedTexture implements ITexture, IColorModulationContainer {
lighting.setupColor(ForgeDirection.NORTH.ordinal(), 0xffffff);
aRenderer.renderFaceZNeg(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon());
}
- draw(aRenderer);
aRenderer.field_152631_f = false;
}
@@ -216,4 +204,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_StdRenderedTexture.java b/src/main/java/gregtech/api/objects/GT_StdRenderedTexture.java
index 31831ca835..041fed4164 100644
--- a/src/main/java/gregtech/api/objects/GT_StdRenderedTexture.java
+++ b/src/main/java/gregtech/api/objects/GT_StdRenderedTexture.java
@@ -31,7 +31,6 @@ public class GT_StdRenderedTexture extends GT_RenderedTexture{
@Override
public void renderYNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) {
- startDrawingQuads(aRenderer, 0.0f, -1.0f, 0.0f);
LightingHelper lighting = new LightingHelper(aRenderer);
lighting.setupLightingYNeg(aBlock, aX, aY, aZ)
.setupColor(ForgeDirection.DOWN.ordinal(), mRGBa);
@@ -40,6 +39,5 @@ public class GT_StdRenderedTexture extends GT_RenderedTexture{
lighting.setupColor(ForgeDirection.DOWN.ordinal(), 0xffffff);
aRenderer.renderFaceYNeg(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon());
}
- draw(aRenderer);
}
}