diff options
author | draknyte1 <draknyte1@hotmail.com> | 2016-11-04 15:23:26 +1000 |
---|---|---|
committer | draknyte1 <draknyte1@hotmail.com> | 2016-11-04 15:23:26 +1000 |
commit | 0669f5eb9d5029a8b94ec552171b0837605f7747 (patch) | |
tree | 6b40e64c04d51b7a33cf2f0b35f7232cf37c4247 /src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechRenderedTexture.java | |
parent | 3654052fb63a571c5eaca7f20714b87c17f7e966 (diff) | |
download | GT5-Unofficial-0669f5eb9d5029a8b94ec552171b0837605f7747.tar.gz GT5-Unofficial-0669f5eb9d5029a8b94ec552171b0837605f7747.tar.bz2 GT5-Unofficial-0669f5eb9d5029a8b94ec552171b0837605f7747.zip |
$ Cleaned up the entire project.
> Much neat, very nices.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechRenderedTexture.java')
-rw-r--r-- | src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechRenderedTexture.java | 310 |
1 files changed, 163 insertions, 147 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechRenderedTexture.java b/src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechRenderedTexture.java index e22c324984..8f7b153551 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechRenderedTexture.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/objects/GregtechRenderedTexture.java @@ -10,151 +10,167 @@ import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.IIcon; public class GregtechRenderedTexture implements ITexture, IColorModulationContainer { - private final IIconContainer mIconContainer; - private 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 GregtechRenderedTexture(IIconContainer aIcon, short[] aRGBa, boolean aAllowAlpha) { - if (aRGBa.length != 4) throw new IllegalArgumentException("RGBa doesn't have 4 Values @ GT_RenderedTexture"); - mIconContainer = aIcon; - mAllowAlpha = aAllowAlpha; - mRGBa = aRGBa; - } - - public GregtechRenderedTexture(IIconContainer aIcon, short[] aRGBa) { - this(aIcon, aRGBa, true); - } - - public GregtechRenderedTexture(IIconContainer aIcon) { - this(aIcon, Dyes._NULL.mRGBa); - } - - @Override - public void renderXPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) { - Tessellator.instance.setColorRGBA((int) (mRGBa[0] * 0.6F), (int) (mRGBa[1] * 0.6F), (int) (mRGBa[2] * 0.6F), mAllowAlpha ? 255 - mRGBa[3] : 255); - aRenderer.renderFaceXPos(aBlock, aX, aY, aZ, mIconContainer.getIcon()); - if (mIconContainer.getOverlayIcon() != null) { - Tessellator.instance.setColorRGBA(153, 153, 153, 255); - aRenderer.renderFaceXPos(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon()); - } - } - - @Override - public void renderXNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) { - Tessellator.instance.setColorRGBA((int) (mRGBa[0] * 0.6F), (int) (mRGBa[1] * 0.6F), (int) (mRGBa[2] * 0.6F), mAllowAlpha ? 255 - mRGBa[3] : 255); - aRenderer.renderFaceXNeg(aBlock, aX, aY, aZ, mIconContainer.getIcon()); - if (mIconContainer.getOverlayIcon() != null) { - Tessellator.instance.setColorRGBA(153, 153, 153, 255); - aRenderer.renderFaceXNeg(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon()); - } - } - - @Override - public void renderYPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) { - Tessellator.instance.setColorRGBA((int) (mRGBa[0] * 1.0F), (int) (mRGBa[1] * 1.0F), (int) (mRGBa[2] * 1.0F), mAllowAlpha ? 255 - mRGBa[3] : 255); - aRenderer.renderFaceYPos(aBlock, aX, aY, aZ, mIconContainer.getIcon()); - if (mIconContainer.getOverlayIcon() != null) { - Tessellator.instance.setColorRGBA(255, 255, 255, 255); - aRenderer.renderFaceYPos(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon()); - } - } - - @Override - public void renderYNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) { - Tessellator.instance.setColorRGBA((int) (mRGBa[0] * 0.5F), (int) (mRGBa[1] * 0.5F), (int) (mRGBa[2] * 0.5F), mAllowAlpha ? 255 - mRGBa[3] : 255); - IIcon aIcon = mIconContainer.getIcon(); - - double d3 = aIcon.getInterpolatedU(aRenderer.renderMaxX * 16.0D); - double d4 = aIcon.getInterpolatedU(aRenderer.renderMinX * 16.0D); - double d5 = aIcon.getInterpolatedV(aRenderer.renderMinZ * 16.0D); - double d6 = aIcon.getInterpolatedV(aRenderer.renderMaxZ * 16.0D); - - if (aRenderer.renderMinX < 0.0D || aRenderer.renderMaxX > 1.0D) { - d3 = aIcon.getMaxU(); - d4 = aIcon.getMinU(); - } - - if (aRenderer.renderMinZ < 0.0D || aRenderer.renderMaxZ > 1.0D) { - d5 = aIcon.getMinV(); - d6 = aIcon.getMaxV(); - } - - double d11 = aX + aRenderer.renderMinX; - double d12 = aX + aRenderer.renderMaxX; - double d13 = aY + aRenderer.renderMinY; - double d14 = aZ + aRenderer.renderMinZ; - double d15 = aZ + aRenderer.renderMaxZ; - - Tessellator.instance.addVertexWithUV(d11, d13, d15, d3, d6); - Tessellator.instance.addVertexWithUV(d11, d13, d14, d3, d5); - Tessellator.instance.addVertexWithUV(d12, d13, d14, d4, d5); - Tessellator.instance.addVertexWithUV(d12, d13, d15, d4, d6); - - if ((aIcon = mIconContainer.getOverlayIcon()) != null) { - Tessellator.instance.setColorRGBA(128, 128, 128, 255); - - Tessellator.instance.addVertexWithUV(d11, d13, d15, d3, d6); - Tessellator.instance.addVertexWithUV(d11, d13, d14, d3, d5); - Tessellator.instance.addVertexWithUV(d12, d13, d14, d4, d5); - Tessellator.instance.addVertexWithUV(d12, d13, d15, d4, d6); - } - } - - @Override - public void renderZPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) { - try { - Tessellator.instance.setColorRGBA((int) (mRGBa[0] * 0.8F), (int) (mRGBa[1] * 0.8F), (int) (mRGBa[2] * 0.8F), mAllowAlpha ? 255 - mRGBa[3] : 255); - aRenderer.renderFaceZPos(aBlock, aX, aY, aZ, mIconContainer.getIcon()); - if (mIconContainer.getOverlayIcon() != null) { - Tessellator.instance.setColorRGBA(204, 204, 204, 255); - aRenderer.renderFaceZPos(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon()); - } - } catch (NullPointerException e){ - Utils.LOG_WARNING("renderZPos failed."); - } - } - - @Override - public void renderZNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) { - try { - Utils.LOG_WARNING("renderZNeg Method();."); - Utils.LOG_WARNING("Setting RGBA of instance."); - Tessellator.instance.setColorRGBA((int) (mRGBa[0] * 0.8F), (int) (mRGBa[1] * 0.8F), (int) (mRGBa[2] * 0.8F), mAllowAlpha ? 255 - mRGBa[3] : 255); - aRenderer.renderFaceZNeg(aBlock, aX, aY, aZ, mIconContainer.getIcon()); - Utils.LOG_WARNING("Is mIconContainer null? "+mIconContainer.toString()); - Utils.LOG_WARNING("mIconContainer.getIcon.getIconName(): "+mIconContainer.getIcon().getIconName()); - Utils.LOG_WARNING("mIconContainer.getTextureFile().getResourceDomain()"+mIconContainer.getTextureFile().getResourceDomain()); - Utils.LOG_WARNING("mIconContainer.getTextureFile().getResourcePath()"+mIconContainer.getTextureFile().getResourcePath()); - if (mIconContainer.getOverlayIcon() != null) { - Tessellator.instance.setColorRGBA(204, 204, 204, 255); - aRenderer.renderFaceZNeg(aBlock, aX, aY, aZ, mIconContainer.getOverlayIcon()); - Utils.LOG_WARNING("Is miconContainer.getOverlayIcon null? "+mIconContainer.getOverlayIcon().toString()); - Utils.LOG_WARNING("mIconContainer.getIcon.getIconName(): "+mIconContainer.getOverlayIcon().getIconName()); - Utils.LOG_WARNING("mIconContainer.getTextureFile().getResourceDomain()"+mIconContainer.getTextureFile().getResourceDomain()); - Utils.LOG_WARNING("mIconContainer.getTextureFile().getResourcePath()"+mIconContainer.getTextureFile().getResourcePath()); - } - } catch (NullPointerException e){ - - - e.printStackTrace(); - Utils.LOG_WARNING("renderZNeg failed."+e.getMessage()+"|"+e.getClass()+"|"+e.getLocalizedMessage()); - Minecraft.getMinecraft().shutdown(); - } - } - - @Override - public short[] getRGBA() { - return mRGBa; - } - - @Override - public boolean isValidTexture() { - return mIconContainer != null; - } + private final IIconContainer mIconContainer; + private 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 GregtechRenderedTexture(final IIconContainer aIcon) { + this(aIcon, Dyes._NULL.mRGBa); + } + + public GregtechRenderedTexture(final IIconContainer aIcon, final short[] aRGBa) { + this(aIcon, aRGBa, true); + } + + public GregtechRenderedTexture(final IIconContainer aIcon, final short[] aRGBa, final boolean aAllowAlpha) { + if (aRGBa.length != 4) { + throw new IllegalArgumentException("RGBa doesn't have 4 Values @ GT_RenderedTexture"); + } + this.mIconContainer = aIcon; + this.mAllowAlpha = aAllowAlpha; + this.mRGBa = aRGBa; + } + + @Override + public short[] getRGBA() { + return this.mRGBa; + } + + @Override + public boolean isValidTexture() { + return this.mIconContainer != null; + } + + @Override + public void renderXNeg(final RenderBlocks aRenderer, final Block aBlock, final int aX, final int aY, final int aZ) { + Tessellator.instance.setColorRGBA((int) (this.mRGBa[0] * 0.6F), (int) (this.mRGBa[1] * 0.6F), + (int) (this.mRGBa[2] * 0.6F), this.mAllowAlpha ? 255 - this.mRGBa[3] : 255); + aRenderer.renderFaceXNeg(aBlock, aX, aY, aZ, this.mIconContainer.getIcon()); + if (this.mIconContainer.getOverlayIcon() != null) { + Tessellator.instance.setColorRGBA(153, 153, 153, 255); + aRenderer.renderFaceXNeg(aBlock, aX, aY, aZ, this.mIconContainer.getOverlayIcon()); + } + } + + @Override + public void renderXPos(final RenderBlocks aRenderer, final Block aBlock, final int aX, final int aY, final int aZ) { + Tessellator.instance.setColorRGBA((int) (this.mRGBa[0] * 0.6F), (int) (this.mRGBa[1] * 0.6F), + (int) (this.mRGBa[2] * 0.6F), this.mAllowAlpha ? 255 - this.mRGBa[3] : 255); + aRenderer.renderFaceXPos(aBlock, aX, aY, aZ, this.mIconContainer.getIcon()); + if (this.mIconContainer.getOverlayIcon() != null) { + Tessellator.instance.setColorRGBA(153, 153, 153, 255); + aRenderer.renderFaceXPos(aBlock, aX, aY, aZ, this.mIconContainer.getOverlayIcon()); + } + } + + @Override + public void renderYNeg(final RenderBlocks aRenderer, final Block aBlock, final int aX, final int aY, final int aZ) { + Tessellator.instance.setColorRGBA((int) (this.mRGBa[0] * 0.5F), (int) (this.mRGBa[1] * 0.5F), + (int) (this.mRGBa[2] * 0.5F), this.mAllowAlpha ? 255 - this.mRGBa[3] : 255); + IIcon aIcon = this.mIconContainer.getIcon(); + + double d3 = aIcon.getInterpolatedU(aRenderer.renderMaxX * 16.0D); + double d4 = aIcon.getInterpolatedU(aRenderer.renderMinX * 16.0D); + double d5 = aIcon.getInterpolatedV(aRenderer.renderMinZ * 16.0D); + double d6 = aIcon.getInterpolatedV(aRenderer.renderMaxZ * 16.0D); + + if (aRenderer.renderMinX < 0.0D || aRenderer.renderMaxX > 1.0D) { + d3 = aIcon.getMaxU(); + d4 = aIcon.getMinU(); + } + + if (aRenderer.renderMinZ < 0.0D || aRenderer.renderMaxZ > 1.0D) { + d5 = aIcon.getMinV(); + d6 = aIcon.getMaxV(); + } + + final double d11 = aX + aRenderer.renderMinX; + final double d12 = aX + aRenderer.renderMaxX; + final double d13 = aY + aRenderer.renderMinY; + final double d14 = aZ + aRenderer.renderMinZ; + final double d15 = aZ + aRenderer.renderMaxZ; + + Tessellator.instance.addVertexWithUV(d11, d13, d15, d3, d6); + Tessellator.instance.addVertexWithUV(d11, d13, d14, d3, d5); + Tessellator.instance.addVertexWithUV(d12, d13, d14, d4, d5); + Tessellator.instance.addVertexWithUV(d12, d13, d15, d4, d6); + + if ((aIcon = this.mIconContainer.getOverlayIcon()) != null) { + Tessellator.instance.setColorRGBA(128, 128, 128, 255); + + Tessellator.instance.addVertexWithUV(d11, d13, d15, d3, d6); + Tessellator.instance.addVertexWithUV(d11, d13, d14, d3, d5); + Tessellator.instance.addVertexWithUV(d12, d13, d14, d4, d5); + Tessellator.instance.addVertexWithUV(d12, d13, d15, d4, d6); + } + } + + @Override + public void renderYPos(final RenderBlocks aRenderer, final Block aBlock, final int aX, final int aY, final int aZ) { + Tessellator.instance.setColorRGBA((int) (this.mRGBa[0] * 1.0F), (int) (this.mRGBa[1] * 1.0F), + (int) (this.mRGBa[2] * 1.0F), this.mAllowAlpha ? 255 - this.mRGBa[3] : 255); + aRenderer.renderFaceYPos(aBlock, aX, aY, aZ, this.mIconContainer.getIcon()); + if (this.mIconContainer.getOverlayIcon() != null) { + Tessellator.instance.setColorRGBA(255, 255, 255, 255); + aRenderer.renderFaceYPos(aBlock, aX, aY, aZ, this.mIconContainer.getOverlayIcon()); + } + } + + @Override + public void renderZNeg(final RenderBlocks aRenderer, final Block aBlock, final int aX, final int aY, final int aZ) { + try { + Utils.LOG_WARNING("renderZNeg Method();."); + Utils.LOG_WARNING("Setting RGBA of instance."); + Tessellator.instance.setColorRGBA((int) (this.mRGBa[0] * 0.8F), (int) (this.mRGBa[1] * 0.8F), + (int) (this.mRGBa[2] * 0.8F), this.mAllowAlpha ? 255 - this.mRGBa[3] : 255); + aRenderer.renderFaceZNeg(aBlock, aX, aY, aZ, this.mIconContainer.getIcon()); + Utils.LOG_WARNING("Is mIconContainer null? " + this.mIconContainer.toString()); + Utils.LOG_WARNING("mIconContainer.getIcon.getIconName(): " + this.mIconContainer.getIcon().getIconName()); + Utils.LOG_WARNING("mIconContainer.getTextureFile().getResourceDomain()" + + this.mIconContainer.getTextureFile().getResourceDomain()); + Utils.LOG_WARNING("mIconContainer.getTextureFile().getResourcePath()" + + this.mIconContainer.getTextureFile().getResourcePath()); + if (this.mIconContainer.getOverlayIcon() != null) { + Tessellator.instance.setColorRGBA(204, 204, 204, 255); + aRenderer.renderFaceZNeg(aBlock, aX, aY, aZ, this.mIconContainer.getOverlayIcon()); + Utils.LOG_WARNING( + "Is miconContainer.getOverlayIcon null? " + this.mIconContainer.getOverlayIcon().toString()); + Utils.LOG_WARNING( + "mIconContainer.getIcon.getIconName(): " + this.mIconContainer.getOverlayIcon().getIconName()); + Utils.LOG_WARNING("mIconContainer.getTextureFile().getResourceDomain()" + + this.mIconContainer.getTextureFile().getResourceDomain()); + Utils.LOG_WARNING("mIconContainer.getTextureFile().getResourcePath()" + + this.mIconContainer.getTextureFile().getResourcePath()); + } + } + catch (final NullPointerException e) { + + e.printStackTrace(); + Utils.LOG_WARNING( + "renderZNeg failed." + e.getMessage() + "|" + e.getClass() + "|" + e.getLocalizedMessage()); + Minecraft.getMinecraft().shutdown(); + } + } + + @Override + public void renderZPos(final RenderBlocks aRenderer, final Block aBlock, final int aX, final int aY, final int aZ) { + try { + Tessellator.instance.setColorRGBA((int) (this.mRGBa[0] * 0.8F), (int) (this.mRGBa[1] * 0.8F), + (int) (this.mRGBa[2] * 0.8F), this.mAllowAlpha ? 255 - this.mRGBa[3] : 255); + aRenderer.renderFaceZPos(aBlock, aX, aY, aZ, this.mIconContainer.getIcon()); + if (this.mIconContainer.getOverlayIcon() != null) { + Tessellator.instance.setColorRGBA(204, 204, 204, 255); + aRenderer.renderFaceZPos(aBlock, aX, aY, aZ, this.mIconContainer.getOverlayIcon()); + } + } + catch (final NullPointerException e) { + Utils.LOG_WARNING("renderZPos failed."); + } + } }
\ No newline at end of file |