package net.minecraft.client.model; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.WorldRenderer; import net.minecraft.util.Vec3; public class TexturedQuad { public PositionTextureVertex[] vertexPositions; public int nVertices; private boolean invertNormal; private static final String __OBFID = "CL_00000850"; public TexturedQuad(PositionTextureVertex[] p_i46364_1_) { this.vertexPositions = p_i46364_1_; this.nVertices = p_i46364_1_.length; } public TexturedQuad(PositionTextureVertex[] p_i1153_1_, int p_i1153_2_, int p_i1153_3_, int p_i1153_4_, int p_i1153_5_, float p_i1153_6_, float p_i1153_7_) { this(p_i1153_1_); float var8 = 0.0F / p_i1153_6_; float var9 = 0.0F / p_i1153_7_; p_i1153_1_[0] = p_i1153_1_[0].setTexturePosition((float)p_i1153_4_ / p_i1153_6_ - var8, (float)p_i1153_3_ / p_i1153_7_ + var9); p_i1153_1_[1] = p_i1153_1_[1].setTexturePosition((float)p_i1153_2_ / p_i1153_6_ + var8, (float)p_i1153_3_ / p_i1153_7_ + var9); p_i1153_1_[2] = p_i1153_1_[2].setTexturePosition((float)p_i1153_2_ / p_i1153_6_ + var8, (float)p_i1153_5_ / p_i1153_7_ - var9); p_i1153_1_[3] = p_i1153_1_[3].setTexturePosition((float)p_i1153_4_ / p_i1153_6_ - var8, (float)p_i1153_5_ / p_i1153_7_ - var9); } public void flipFace() { PositionTextureVertex[] var1 = new PositionTextureVertex[this.vertexPositions.length]; for (int var2 = 0; var2 < this.vertexPositions.length; ++var2) { var1[var2] = this.vertexPositions[this.vertexPositions.length - var2 - 1]; } this.vertexPositions = var1; } public void func_178765_a(WorldRenderer p_178765_1_, float p_178765_2_) { Vec3 var3 = this.vertexPositions[1].vector3D.subtractReverse(this.vertexPositions[0].vector3D); Vec3 var4 = this.vertexPositions[1].vector3D.subtractReverse(this.vertexPositions[2].vector3D); Vec3 var5 = var4.crossProduct(var3).normalize(); p_178765_1_.startDrawingQuads(); if (this.invertNormal) { p_178765_1_.func_178980_d(-((float)var5.xCoord), -((float)var5.yCoord), -((float)var5.zCoord)); } else { p_178765_1_.func_178980_d((float)var5.xCoord, (float)var5.yCoord, (float)var5.zCoord); } for (int var6 = 0; var6 < 4; ++var6) { PositionTextureVertex var7 = this.vertexPositions[var6]; p_178765_1_.addVertexWithUV(var7.vector3D.xCoord * (double)p_178765_2_, var7.vector3D.yCoord * (double)p_178765_2_, var7.vector3D.zCoord * (double)p_178765_2_, (double)var7.texturePositionX, (double)var7.texturePositionY); } Tessellator.getInstance().draw(); } }