Created
May 12, 2012 11:06
-
-
Save LunNova/2665864 to your computer and use it in GitHub Desktop.
net.minecraft.src.RenderBlocks fix
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package net.minecraft.src; | |
| import net.minecraft.client.Minecraft; | |
| import org.lwjgl.opengl.GL11; | |
| import org.lwjgl.opengl.GL12; | |
| //Spout start | |
| import org.spoutcraft.client.config.ConfigReader; | |
| import com.pclewis.mcpatcher.mod.Colorizer; | |
| //Spout end | |
| public class RenderBlocks { | |
| public IBlockAccess blockAccess; // Spout private -> public | |
| private int overrideBlockTexture = -1; | |
| private boolean flipTexture = false; | |
| private boolean renderAllFaces = false; | |
| public static boolean fancyGrass = true; | |
| public boolean useInventoryTint = true; | |
| private int uvRotateEast = 0; | |
| private int uvRotateWest = 0; | |
| private int uvRotateSouth = 0; | |
| private int uvRotateNorth = 0; | |
| private int uvRotateTop = 0; | |
| private int uvRotateBottom = 0; | |
| private boolean enableAO; | |
| private float lightValueOwn; | |
| private float aoLightValueXNeg; | |
| private float aoLightValueYNeg; | |
| private float aoLightValueZNeg; | |
| private float aoLightValueXPos; | |
| private float aoLightValueYPos; | |
| private float aoLightValueZPos; | |
| private float aoLightValueScratchXYZNNN; | |
| private float aoLightValueScratchXYNN; | |
| private float aoLightValueScratchXYZNNP; | |
| private float aoLightValueScratchYZNN; | |
| private float aoLightValueScratchYZNP; | |
| private float aoLightValueScratchXYZPNN; | |
| private float aoLightValueScratchXYPN; | |
| private float aoLightValueScratchXYZPNP; | |
| private float aoLightValueScratchXYZNPN; | |
| private float aoLightValueScratchXYNP; | |
| private float aoLightValueScratchXYZNPP; | |
| private float aoLightValueScratchYZPN; | |
| private float aoLightValueScratchXYZPPN; | |
| private float aoLightValueScratchXYPP; | |
| private float aoLightValueScratchYZPP; | |
| private float aoLightValueScratchXYZPPP; | |
| private float aoLightValueScratchXZNN; | |
| private float aoLightValueScratchXZPN; | |
| private float aoLightValueScratchXZNP; | |
| private float aoLightValueScratchXZPP; | |
| private int aoBrightnessXYZNNN; | |
| private int aoBrightnessXYNN; | |
| private int aoBrightnessXYZNNP; | |
| private int aoBrightnessYZNN; | |
| private int aoBrightnessYZNP; | |
| private int aoBrightnessXYZPNN; | |
| private int aoBrightnessXYPN; | |
| private int aoBrightnessXYZPNP; | |
| private int aoBrightnessXYZNPN; | |
| private int aoBrightnessXYNP; | |
| private int aoBrightnessXYZNPP; | |
| private int aoBrightnessYZPN; | |
| private int aoBrightnessXYZPPN; | |
| private int aoBrightnessXYPP; | |
| private int aoBrightnessYZPP; | |
| private int aoBrightnessXYZPPP; | |
| private int aoBrightnessXZNN; | |
| private int aoBrightnessXZPN; | |
| private int aoBrightnessXZNP; | |
| private int aoBrightnessXZPP; | |
| private int aoType = 1; | |
| private int brightnessTopLeft; | |
| private int brightnessBottomLeft; | |
| private int brightnessBottomRight; | |
| private int brightnessTopRight; | |
| private float colorRedTopLeft; | |
| private float colorRedBottomLeft; | |
| private float colorRedBottomRight; | |
| private float colorRedTopRight; | |
| private float colorGreenTopLeft; | |
| private float colorGreenBottomLeft; | |
| private float colorGreenBottomRight; | |
| private float colorGreenTopRight; | |
| private float colorBlueTopLeft; | |
| private float colorBlueBottomLeft; | |
| private float colorBlueBottomRight; | |
| private float colorBlueTopRight; | |
| private boolean aoGrassXYZCPN; | |
| private boolean aoGrassXYZPPC; | |
| private boolean aoGrassXYZNPC; | |
| private boolean aoGrassXYZCPP; | |
| private boolean aoGrassXYZNCN; | |
| private boolean aoGrassXYZPCP; | |
| private boolean aoGrassXYZNCP; | |
| private boolean aoGrassXYZPCN; | |
| private boolean aoGrassXYZCNN; | |
| private boolean aoGrassXYZPNC; | |
| private boolean aoGrassXYZNNC; | |
| private boolean aoGrassXYZCNP; | |
| //Spout start | |
| public short[] customIds = null; | |
| //Spout end | |
| public RenderBlocks(IBlockAccess par1IBlockAccess) { | |
| this.blockAccess = par1IBlockAccess; | |
| } | |
| public RenderBlocks() {} | |
| public void clearOverrideBlockTexture() { | |
| this.overrideBlockTexture = -1; | |
| } | |
| public void renderBlockUsingTexture(Block par1Block, int par2, int par3, int par4, int par5) { | |
| this.overrideBlockTexture = par5; | |
| this.renderBlockByRenderType(par1Block, par2, par3, par4); | |
| this.overrideBlockTexture = -1; | |
| } | |
| public void renderBlockAllFaces(Block par1Block, int par2, int par3, int par4) { | |
| this.renderAllFaces = true; | |
| this.renderBlockByRenderType(par1Block, par2, par3, par4); | |
| this.renderAllFaces = false; | |
| } | |
| public boolean renderBlockByRenderType(Block par1Block, int par2, int par3, int par4) { | |
| int var5 = par1Block.getRenderType(); | |
| par1Block.setBlockBoundsBasedOnState(this.blockAccess, par2, par3, par4); | |
| return var5 == 0?this.renderStandardBlock(par1Block, par2, par3, par4):(var5 == 4?this.renderBlockFluids(par1Block, par2, par3, par4):(var5 == 13?this.renderBlockCactus(par1Block, par2, par3, par4):(var5 == 1?this.renderCrossedSquares(par1Block, par2, par3, par4):(var5 == 19?this.renderBlockStem(par1Block, par2, par3, par4):(var5 == 23?this.renderBlockLilyPad(par1Block, par2, par3, par4):(var5 == 6?this.renderBlockCrops(par1Block, par2, par3, par4):(var5 == 2?this.renderBlockTorch(par1Block, par2, par3, par4):(var5 == 3?this.renderBlockFire(par1Block, par2, par3, par4):(var5 == 5?this.renderBlockRedstoneWire(par1Block, par2, par3, par4):(var5 == 8?this.renderBlockLadder(par1Block, par2, par3, par4):(var5 == 7?this.renderBlockDoor(par1Block, par2, par3, par4):(var5 == 9?this.renderBlockMinecartTrack((BlockRail)par1Block, par2, par3, par4):(var5 == 10?this.renderBlockStairs(par1Block, par2, par3, par4):(var5 == 27?this.renderBlockDragonEgg((BlockDragonEgg)par1Block, par2, par3, par4):(var5 == 11?this.renderBlockFence((BlockFence)par1Block, par2, par3, par4):(var5 == 12?this.renderBlockLever(par1Block, par2, par3, par4):(var5 == 14?this.renderBlockBed(par1Block, par2, par3, par4):(var5 == 15?this.renderBlockRepeater(par1Block, par2, par3, par4):(var5 == 16?this.renderPistonBase(par1Block, par2, par3, par4, false):(var5 == 17?this.renderPistonExtension(par1Block, par2, par3, par4, true):(var5 == 18?this.renderBlockPane((BlockPane)par1Block, par2, par3, par4):(var5 == 20?this.renderBlockVine(par1Block, par2, par3, par4):(var5 == 21?this.renderBlockFenceGate((BlockFenceGate)par1Block, par2, par3, par4):(var5 == 24?this.renderBlockCauldron((BlockCauldron)par1Block, par2, par3, par4):(var5 == 25?this.renderBlockBrewingStand((BlockBrewingStand)par1Block, par2, par3, par4):(var5 == 26?this.renderBlockEndPortalFrame(par1Block, par2, par3, par4):false)))))))))))))))))))))))))); | |
| } | |
| private boolean renderBlockEndPortalFrame(Block par1Block, int par2, int par3, int par4) { | |
| int var5 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| int var6 = var5 & 3; | |
| if (var6 == 0) { | |
| this.uvRotateTop = 3; | |
| } else if (var6 == 3) { | |
| this.uvRotateTop = 1; | |
| } else if (var6 == 1) { | |
| this.uvRotateTop = 2; | |
| } | |
| if (!BlockEndPortalFrame.isEnderEyeInserted(var5)) { | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.8125F, 1.0F); | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| par1Block.setBlockBoundsForItemRender(); | |
| this.uvRotateTop = 0; | |
| return true; | |
| } else { | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.8125F, 1.0F); | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| this.overrideBlockTexture = 174; | |
| par1Block.setBlockBounds(0.25F, 0.8125F, 0.25F, 0.75F, 1.0F, 0.75F); | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| this.clearOverrideBlockTexture(); | |
| par1Block.setBlockBoundsForItemRender(); | |
| this.uvRotateTop = 0; | |
| return true; | |
| } | |
| } | |
| private boolean renderBlockBed(Block par1Block, int par2, int par3, int par4) { | |
| Tessellator var5 = Tessellator.instance; | |
| int var6 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| int var7 = BlockBed.getDirection(var6); | |
| boolean var8 = BlockBed.isBlockFootOfBed(var6); | |
| float var9 = 0.5F; | |
| float var10 = 1.0F; | |
| float var11 = 0.8F; | |
| float var12 = 0.6F; | |
| int var25 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4); | |
| var5.setBrightness(var25); | |
| var5.setColorOpaque_F(var9, var9, var9); | |
| int var27 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 0); | |
| int var28 = (var27 & 15) << 4; | |
| int var29 = var27 & 240; | |
| double var30 = (double)((float)var28 / 256.0F); | |
| double var32 = ((double)(var28 + 16) - 0.01D) / 256.0D; | |
| double var34 = (double)((float)var29 / 256.0F); | |
| double var36 = ((double)(var29 + 16) - 0.01D) / 256.0D; | |
| double var38 = (double)par2 + par1Block.minX; | |
| double var40 = (double)par2 + par1Block.maxX; | |
| double var42 = (double)par3 + par1Block.minY + 0.1875D; | |
| double var44 = (double)par4 + par1Block.minZ; | |
| double var46 = (double)par4 + par1Block.maxZ; | |
| var5.addVertexWithUV(var38, var42, var46, var30, var36); | |
| var5.addVertexWithUV(var38, var42, var44, var30, var34); | |
| var5.addVertexWithUV(var40, var42, var44, var32, var34); | |
| var5.addVertexWithUV(var40, var42, var46, var32, var36); | |
| var5.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4)); | |
| var5.setColorOpaque_F(var10, var10, var10); | |
| var27 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 1); | |
| var28 = (var27 & 15) << 4; | |
| var29 = var27 & 240; | |
| var30 = (double)((float)var28 / 256.0F); | |
| var32 = ((double)(var28 + 16) - 0.01D) / 256.0D; | |
| var34 = (double)((float)var29 / 256.0F); | |
| var36 = ((double)(var29 + 16) - 0.01D) / 256.0D; | |
| var38 = var30; | |
| var40 = var32; | |
| var42 = var34; | |
| var44 = var34; | |
| var46 = var30; | |
| double var48 = var32; | |
| double var50 = var36; | |
| double var52 = var36; | |
| if (var7 == 0) { | |
| var40 = var30; | |
| var42 = var36; | |
| var46 = var32; | |
| var52 = var34; | |
| } else if (var7 == 2) { | |
| var38 = var32; | |
| var44 = var36; | |
| var48 = var30; | |
| var50 = var34; | |
| } else if (var7 == 3) { | |
| var38 = var32; | |
| var44 = var36; | |
| var48 = var30; | |
| var50 = var34; | |
| var40 = var30; | |
| var42 = var36; | |
| var46 = var32; | |
| var52 = var34; | |
| } | |
| double var54 = (double)par2 + par1Block.minX; | |
| double var56 = (double)par2 + par1Block.maxX; | |
| double var58 = (double)par3 + par1Block.maxY; | |
| double var60 = (double)par4 + par1Block.minZ; | |
| double var62 = (double)par4 + par1Block.maxZ; | |
| var5.addVertexWithUV(var56, var58, var62, var46, var50); | |
| var5.addVertexWithUV(var56, var58, var60, var38, var42); | |
| var5.addVertexWithUV(var54, var58, var60, var40, var44); | |
| var5.addVertexWithUV(var54, var58, var62, var48, var52); | |
| var27 = Direction.headInvisibleFace[var7]; | |
| if (var8) { | |
| var27 = Direction.headInvisibleFace[Direction.footInvisibleFaceRemap[var7]]; | |
| } | |
| byte var64 = 4; | |
| switch(var7) { | |
| case 0: | |
| var64 = 5; | |
| break; | |
| case 1: | |
| var64 = 3; | |
| case 2: | |
| default: | |
| break; | |
| case 3: | |
| var64 = 2; | |
| } | |
| if (var27 != 2 && (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3, par4 - 1, 2))) { | |
| var5.setBrightness(par1Block.minZ > 0.0D?var25:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 - 1)); | |
| var5.setColorOpaque_F(var11, var11, var11); | |
| this.flipTexture = var64 == 2; | |
| this.renderEastFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 2)); | |
| } | |
| if (var27 != 3 && (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3, par4 + 1, 3))) { | |
| var5.setBrightness(par1Block.maxZ < 1.0D?var25:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 + 1)); | |
| var5.setColorOpaque_F(var11, var11, var11); | |
| this.flipTexture = var64 == 3; | |
| this.renderWestFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 3)); | |
| } | |
| if (var27 != 4 && (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2 - 1, par3, par4, 4))) { | |
| var5.setBrightness(par1Block.minZ > 0.0D?var25:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4)); | |
| var5.setColorOpaque_F(var12, var12, var12); | |
| this.flipTexture = var64 == 4; | |
| this.renderNorthFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 4)); | |
| } | |
| if (var27 != 5 && (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2 + 1, par3, par4, 5))) { | |
| var5.setBrightness(par1Block.maxZ < 1.0D?var25:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4)); | |
| var5.setColorOpaque_F(var12, var12, var12); | |
| this.flipTexture = var64 == 5; | |
| this.renderSouthFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 5)); | |
| } | |
| this.flipTexture = false; | |
| return true; | |
| } | |
| private boolean renderBlockBrewingStand(BlockBrewingStand par1BlockBrewingStand, int par2, int par3, int par4) { | |
| par1BlockBrewingStand.setBlockBounds(0.4375F, 0.0F, 0.4375F, 0.5625F, 0.875F, 0.5625F); | |
| this.renderStandardBlock(par1BlockBrewingStand, par2, par3, par4); | |
| this.overrideBlockTexture = 156; | |
| par1BlockBrewingStand.setBlockBounds(0.5625F, 0.0F, 0.3125F, 0.9375F, 0.125F, 0.6875F); | |
| this.renderStandardBlock(par1BlockBrewingStand, par2, par3, par4); | |
| par1BlockBrewingStand.setBlockBounds(0.125F, 0.0F, 0.0625F, 0.5F, 0.125F, 0.4375F); | |
| this.renderStandardBlock(par1BlockBrewingStand, par2, par3, par4); | |
| par1BlockBrewingStand.setBlockBounds(0.125F, 0.0F, 0.5625F, 0.5F, 0.125F, 0.9375F); | |
| this.renderStandardBlock(par1BlockBrewingStand, par2, par3, par4); | |
| this.clearOverrideBlockTexture(); | |
| Tessellator var5 = Tessellator.instance; | |
| var5.setBrightness(par1BlockBrewingStand.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| float var6 = 1.0F; | |
| int var7 = par1BlockBrewingStand.colorMultiplier(this.blockAccess, par2, par3, par4); | |
| float var8 = (float)(var7 >> 16 & 255) / 255.0F; | |
| float var9 = (float)(var7 >> 8 & 255) / 255.0F; | |
| float var10 = (float)(var7 & 255) / 255.0F; | |
| if (EntityRenderer.anaglyphEnable) { | |
| float var11 = (var8 * 30.0F + var9 * 59.0F + var10 * 11.0F) / 100.0F; | |
| float var12 = (var8 * 30.0F + var9 * 70.0F) / 100.0F; | |
| float var13 = (var8 * 30.0F + var10 * 70.0F) / 100.0F; | |
| var8 = var11; | |
| var9 = var12; | |
| var10 = var13; | |
| } | |
| var5.setColorOpaque_F(var6 * var8, var6 * var9, var6 * var10); | |
| int var34 = par1BlockBrewingStand.getBlockTextureFromSideAndMetadata(0, 0); | |
| if (this.overrideBlockTexture >= 0) { | |
| var34 = this.overrideBlockTexture; | |
| } | |
| int var35 = (var34 & 15) << 4; | |
| int var36 = var34 & 240; | |
| double var14 = (double)((float)var36 / 256.0F); | |
| double var16 = (double)(((float)var36 + 15.99F) / 256.0F); | |
| int var18 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| for (int var19 = 0; var19 < 3; ++var19) { | |
| double var20 = (double)var19 * Math.PI * 2.0D / 3.0D + (Math.PI / 2D); | |
| double var22 = (double)(((float)var35 + 8.0F) / 256.0F); | |
| double var24 = (double)(((float)var35 + 15.99F) / 256.0F); | |
| if ((var18 & 1 << var19) != 0) { | |
| var22 = (double)(((float)var35 + 7.99F) / 256.0F); | |
| var24 = (double)(((float)var35 + 0.0F) / 256.0F); | |
| } | |
| double var26 = (double)par2 + 0.5D; | |
| double var28 = (double)par2 + 0.5D + Math.sin(var20) * 8.0D / 16.0D; | |
| double var30 = (double)par4 + 0.5D; | |
| double var32 = (double)par4 + 0.5D + Math.cos(var20) * 8.0D / 16.0D; | |
| var5.addVertexWithUV(var26, (double)(par3 + 1), var30, var22, var14); | |
| var5.addVertexWithUV(var26, (double)(par3 + 0), var30, var22, var16); | |
| var5.addVertexWithUV(var28, (double)(par3 + 0), var32, var24, var16); | |
| var5.addVertexWithUV(var28, (double)(par3 + 1), var32, var24, var14); | |
| var5.addVertexWithUV(var28, (double)(par3 + 1), var32, var24, var14); | |
| var5.addVertexWithUV(var28, (double)(par3 + 0), var32, var24, var16); | |
| var5.addVertexWithUV(var26, (double)(par3 + 0), var30, var22, var16); | |
| var5.addVertexWithUV(var26, (double)(par3 + 1), var30, var22, var14); | |
| } | |
| par1BlockBrewingStand.setBlockBoundsForItemRender(); | |
| return true; | |
| } | |
| private boolean renderBlockCauldron(BlockCauldron par1BlockCauldron, int par2, int par3, int par4) { | |
| this.renderStandardBlock(par1BlockCauldron, par2, par3, par4); | |
| Tessellator var5 = Tessellator.instance; | |
| var5.setBrightness(par1BlockCauldron.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| float var6 = 1.0F; | |
| int var7 = par1BlockCauldron.colorMultiplier(this.blockAccess, par2, par3, par4); | |
| float var8 = (float)(var7 >> 16 & 255) / 255.0F; | |
| float var9 = (float)(var7 >> 8 & 255) / 255.0F; | |
| float var10 = (float)(var7 & 255) / 255.0F; | |
| float var12; | |
| if (EntityRenderer.anaglyphEnable) { | |
| float var11 = (var8 * 30.0F + var9 * 59.0F + var10 * 11.0F) / 100.0F; | |
| var12 = (var8 * 30.0F + var9 * 70.0F) / 100.0F; | |
| float var13 = (var8 * 30.0F + var10 * 70.0F) / 100.0F; | |
| var8 = var11; | |
| var9 = var12; | |
| var10 = var13; | |
| } | |
| var5.setColorOpaque_F(var6 * var8, var6 * var9, var6 * var10); | |
| short var16 = 154; | |
| var12 = 0.125F; | |
| this.renderSouthFace(par1BlockCauldron, (double)((float)par2 - 1.0F + var12), (double)par3, (double)par4, var16); | |
| this.renderNorthFace(par1BlockCauldron, (double)((float)par2 + 1.0F - var12), (double)par3, (double)par4, var16); | |
| this.renderWestFace(par1BlockCauldron, (double)par2, (double)par3, (double)((float)par4 - 1.0F + var12), var16); | |
| this.renderEastFace(par1BlockCauldron, (double)par2, (double)par3, (double)((float)par4 + 1.0F - var12), var16); | |
| short var17 = 139; | |
| this.renderTopFace(par1BlockCauldron, (double)par2, (double)((float)par3 - 1.0F + 0.25F), (double)par4, var17); | |
| this.renderBottomFace(par1BlockCauldron, (double)par2, (double)((float)par3 + 1.0F - 0.75F), (double)par4, var17); | |
| int var14 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| if (var14 > 0) { | |
| short var15 = 205; | |
| //Spout HD Start | |
| Colorizer.computeWaterColor(); | |
| var5.setColorOpaque_F(Colorizer.waterColor[0], Colorizer.waterColor[1], Colorizer.waterColor[2]); | |
| if (var14 > 3) { | |
| var14 = 3; | |
| } | |
| //Spout HD end | |
| this.renderTopFace(par1BlockCauldron, (double)par2, (double)((float)par3 - 1.0F + (6.0F + (float)var14 * 3.0F) / 16.0F), (double)par4, var15); | |
| } | |
| return true; | |
| } | |
| public boolean renderBlockTorch(Block par1Block, int par2, int par3, int par4) { | |
| int var5 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| Tessellator var6 = Tessellator.instance; | |
| var6.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| var6.setColorOpaque_F(1.0F, 1.0F, 1.0F); | |
| double var7 = 0.4000000059604645D; | |
| double var9 = 0.5D - var7; | |
| double var11 = 0.20000000298023224D; | |
| if (var5 == 1) { | |
| this.renderTorchAtAngle(par1Block, (double)par2 - var9, (double)par3 + var11, (double)par4, -var7, 0.0D); | |
| } else if (var5 == 2) { | |
| this.renderTorchAtAngle(par1Block, (double)par2 + var9, (double)par3 + var11, (double)par4, var7, 0.0D); | |
| } else if (var5 == 3) { | |
| this.renderTorchAtAngle(par1Block, (double)par2, (double)par3 + var11, (double)par4 - var9, 0.0D, -var7); | |
| } else if (var5 == 4) { | |
| this.renderTorchAtAngle(par1Block, (double)par2, (double)par3 + var11, (double)par4 + var9, 0.0D, var7); | |
| } else { | |
| this.renderTorchAtAngle(par1Block, (double)par2, (double)par3, (double)par4, 0.0D, 0.0D); | |
| } | |
| return true; | |
| } | |
| private boolean renderBlockRepeater(Block par1Block, int par2, int par3, int par4) { | |
| int var5 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| int var6 = var5 & 3; | |
| int var7 = (var5 & 12) >> 2; | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| Tessellator var8 = Tessellator.instance; | |
| var8.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| var8.setColorOpaque_F(1.0F, 1.0F, 1.0F); | |
| double var9 = -0.1875D; | |
| double var11 = 0.0D; | |
| double var13 = 0.0D; | |
| double var15 = 0.0D; | |
| double var17 = 0.0D; | |
| switch(var6) { | |
| case 0: | |
| var17 = -0.3125D; | |
| var13 = BlockRedstoneRepeater.repeaterTorchOffset[var7]; | |
| break; | |
| case 1: | |
| var15 = 0.3125D; | |
| var11 = -BlockRedstoneRepeater.repeaterTorchOffset[var7]; | |
| break; | |
| case 2: | |
| var17 = 0.3125D; | |
| var13 = -BlockRedstoneRepeater.repeaterTorchOffset[var7]; | |
| break; | |
| case 3: | |
| var15 = -0.3125D; | |
| var11 = BlockRedstoneRepeater.repeaterTorchOffset[var7]; | |
| } | |
| this.renderTorchAtAngle(par1Block, (double)par2 + var11, (double)par3 + var9, (double)par4 + var13, 0.0D, 0.0D); | |
| this.renderTorchAtAngle(par1Block, (double)par2 + var15, (double)par3 + var9, (double)par4 + var17, 0.0D, 0.0D); | |
| int var19 = par1Block.getBlockTextureFromSide(1); | |
| int var20 = (var19 & 15) << 4; | |
| int var21 = var19 & 240; | |
| double var22 = (double)((float)var20 / 256.0F); | |
| double var24 = (double)(((float)var20 + 15.99F) / 256.0F); | |
| double var26 = (double)((float)var21 / 256.0F); | |
| double var28 = (double)(((float)var21 + 15.99F) / 256.0F); | |
| double var30 = 0.125D; | |
| double var32 = (double)(par2 + 1); | |
| double var34 = (double)(par2 + 1); | |
| double var36 = (double)(par2 + 0); | |
| double var38 = (double)(par2 + 0); | |
| double var40 = (double)(par4 + 0); | |
| double var42 = (double)(par4 + 1); | |
| double var44 = (double)(par4 + 1); | |
| double var46 = (double)(par4 + 0); | |
| double var48 = (double)par3 + var30; | |
| if (var6 == 2) { | |
| var32 = var34 = (double)(par2 + 0); | |
| var36 = var38 = (double)(par2 + 1); | |
| var40 = var46 = (double)(par4 + 1); | |
| var42 = var44 = (double)(par4 + 0); | |
| } else if (var6 == 3) { | |
| var32 = var38 = (double)(par2 + 0); | |
| var34 = var36 = (double)(par2 + 1); | |
| var40 = var42 = (double)(par4 + 0); | |
| var44 = var46 = (double)(par4 + 1); | |
| } else if (var6 == 1) { | |
| var32 = var38 = (double)(par2 + 1); | |
| var34 = var36 = (double)(par2 + 0); | |
| var40 = var42 = (double)(par4 + 1); | |
| var44 = var46 = (double)(par4 + 0); | |
| } | |
| var8.addVertexWithUV(var38, var48, var46, var22, var26); | |
| var8.addVertexWithUV(var36, var48, var44, var22, var28); | |
| var8.addVertexWithUV(var34, var48, var42, var24, var28); | |
| var8.addVertexWithUV(var32, var48, var40, var24, var26); | |
| return true; | |
| } | |
| public void renderPistonBaseAllFaces(Block par1Block, int par2, int par3, int par4) { | |
| this.renderAllFaces = true; | |
| this.renderPistonBase(par1Block, par2, par3, par4, true); | |
| this.renderAllFaces = false; | |
| } | |
| private boolean renderPistonBase(Block par1Block, int par2, int par3, int par4, boolean par5) { | |
| int var6 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| boolean var7 = par5 || (var6 & 8) != 0; | |
| int var8 = BlockPistonBase.getOrientation(var6); | |
| if (var7) { | |
| switch(var8) { | |
| case 0: | |
| this.uvRotateEast = 3; | |
| this.uvRotateWest = 3; | |
| this.uvRotateSouth = 3; | |
| this.uvRotateNorth = 3; | |
| par1Block.setBlockBounds(0.0F, 0.25F, 0.0F, 1.0F, 1.0F, 1.0F); | |
| break; | |
| case 1: | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.75F, 1.0F); | |
| break; | |
| case 2: | |
| this.uvRotateSouth = 1; | |
| this.uvRotateNorth = 2; | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.25F, 1.0F, 1.0F, 1.0F); | |
| break; | |
| case 3: | |
| this.uvRotateSouth = 2; | |
| this.uvRotateNorth = 1; | |
| this.uvRotateTop = 3; | |
| this.uvRotateBottom = 3; | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.75F); | |
| break; | |
| case 4: | |
| this.uvRotateEast = 1; | |
| this.uvRotateWest = 2; | |
| this.uvRotateTop = 2; | |
| this.uvRotateBottom = 1; | |
| par1Block.setBlockBounds(0.25F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); | |
| break; | |
| case 5: | |
| this.uvRotateEast = 2; | |
| this.uvRotateWest = 1; | |
| this.uvRotateTop = 1; | |
| this.uvRotateBottom = 2; | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.0F, 0.75F, 1.0F, 1.0F); | |
| } | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| this.uvRotateEast = 0; | |
| this.uvRotateWest = 0; | |
| this.uvRotateSouth = 0; | |
| this.uvRotateNorth = 0; | |
| this.uvRotateTop = 0; | |
| this.uvRotateBottom = 0; | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); | |
| } else { | |
| switch(var8) { | |
| case 0: | |
| this.uvRotateEast = 3; | |
| this.uvRotateWest = 3; | |
| this.uvRotateSouth = 3; | |
| this.uvRotateNorth = 3; | |
| case 1: | |
| default: | |
| break; | |
| case 2: | |
| this.uvRotateSouth = 1; | |
| this.uvRotateNorth = 2; | |
| break; | |
| case 3: | |
| this.uvRotateSouth = 2; | |
| this.uvRotateNorth = 1; | |
| this.uvRotateTop = 3; | |
| this.uvRotateBottom = 3; | |
| break; | |
| case 4: | |
| this.uvRotateEast = 1; | |
| this.uvRotateWest = 2; | |
| this.uvRotateTop = 2; | |
| this.uvRotateBottom = 1; | |
| break; | |
| case 5: | |
| this.uvRotateEast = 2; | |
| this.uvRotateWest = 1; | |
| this.uvRotateTop = 1; | |
| this.uvRotateBottom = 2; | |
| } | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| this.uvRotateEast = 0; | |
| this.uvRotateWest = 0; | |
| this.uvRotateSouth = 0; | |
| this.uvRotateNorth = 0; | |
| this.uvRotateTop = 0; | |
| this.uvRotateBottom = 0; | |
| } | |
| return true; | |
| } | |
| private void renderPistonRodUD(double par1, double par3, double par5, double par7, double par9, double par11, float par13, double par14) { | |
| int var16 = 108; | |
| if (this.overrideBlockTexture >= 0) { | |
| var16 = this.overrideBlockTexture; | |
| } | |
| int var17 = (var16 & 15) << 4; | |
| int var18 = var16 & 240; | |
| Tessellator var19 = Tessellator.instance; | |
| double var20 = (double)((float)(var17 + 0) / 256.0F); | |
| double var22 = (double)((float)(var18 + 0) / 256.0F); | |
| double var24 = ((double)var17 + par14 - 0.01D) / 256.0D; | |
| double var26 = ((double)((float)var18 + 4.0F) - 0.01D) / 256.0D; | |
| var19.setColorOpaque_F(par13, par13, par13); | |
| var19.addVertexWithUV(par1, par7, par9, var24, var22); | |
| var19.addVertexWithUV(par1, par5, par9, var20, var22); | |
| var19.addVertexWithUV(par3, par5, par11, var20, var26); | |
| var19.addVertexWithUV(par3, par7, par11, var24, var26); | |
| } | |
| private void renderPistonRodSN(double par1, double par3, double par5, double par7, double par9, double par11, float par13, double par14) { | |
| int var16 = 108; | |
| if (this.overrideBlockTexture >= 0) { | |
| var16 = this.overrideBlockTexture; | |
| } | |
| int var17 = (var16 & 15) << 4; | |
| int var18 = var16 & 240; | |
| Tessellator var19 = Tessellator.instance; | |
| double var20 = (double)((float)(var17 + 0) / 256.0F); | |
| double var22 = (double)((float)(var18 + 0) / 256.0F); | |
| double var24 = ((double)var17 + par14 - 0.01D) / 256.0D; | |
| double var26 = ((double)((float)var18 + 4.0F) - 0.01D) / 256.0D; | |
| var19.setColorOpaque_F(par13, par13, par13); | |
| var19.addVertexWithUV(par1, par5, par11, var24, var22); | |
| var19.addVertexWithUV(par1, par5, par9, var20, var22); | |
| var19.addVertexWithUV(par3, par7, par9, var20, var26); | |
| var19.addVertexWithUV(par3, par7, par11, var24, var26); | |
| } | |
| private void renderPistonRodEW(double par1, double par3, double par5, double par7, double par9, double par11, float par13, double par14) { | |
| int var16 = 108; | |
| if (this.overrideBlockTexture >= 0) { | |
| var16 = this.overrideBlockTexture; | |
| } | |
| int var17 = (var16 & 15) << 4; | |
| int var18 = var16 & 240; | |
| Tessellator var19 = Tessellator.instance; | |
| double var20 = (double)((float)(var17 + 0) / 256.0F); | |
| double var22 = (double)((float)(var18 + 0) / 256.0F); | |
| double var24 = ((double)var17 + par14 - 0.01D) / 256.0D; | |
| double var26 = ((double)((float)var18 + 4.0F) - 0.01D) / 256.0D; | |
| var19.setColorOpaque_F(par13, par13, par13); | |
| var19.addVertexWithUV(par3, par5, par9, var24, var22); | |
| var19.addVertexWithUV(par1, par5, par9, var20, var22); | |
| var19.addVertexWithUV(par1, par7, par11, var20, var26); | |
| var19.addVertexWithUV(par3, par7, par11, var24, var26); | |
| } | |
| public void renderPistonExtensionAllFaces(Block par1Block, int par2, int par3, int par4, boolean par5) { | |
| this.renderAllFaces = true; | |
| this.renderPistonExtension(par1Block, par2, par3, par4, par5); | |
| this.renderAllFaces = false; | |
| } | |
| private boolean renderPistonExtension(Block par1Block, int par2, int par3, int par4, boolean par5) { | |
| int var6 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| int var7 = BlockPistonExtension.getDirectionMeta(var6); | |
| float var11 = par1Block.getBlockBrightness(this.blockAccess, par2, par3, par4); | |
| float var12 = par5?1.0F:0.5F; | |
| double var13 = par5?16.0D:8.0D; | |
| switch(var7) { | |
| case 0: | |
| this.uvRotateEast = 3; | |
| this.uvRotateWest = 3; | |
| this.uvRotateSouth = 3; | |
| this.uvRotateNorth = 3; | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.25F, 1.0F); | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| this.renderPistonRodUD((double)((float)par2 + 0.375F), (double)((float)par2 + 0.625F), (double)((float)par3 + 0.25F), (double)((float)par3 + 0.25F + var12), (double)((float)par4 + 0.625F), (double)((float)par4 + 0.625F), var11 * 0.8F, var13); | |
| this.renderPistonRodUD((double)((float)par2 + 0.625F), (double)((float)par2 + 0.375F), (double)((float)par3 + 0.25F), (double)((float)par3 + 0.25F + var12), (double)((float)par4 + 0.375F), (double)((float)par4 + 0.375F), var11 * 0.8F, var13); | |
| this.renderPistonRodUD((double)((float)par2 + 0.375F), (double)((float)par2 + 0.375F), (double)((float)par3 + 0.25F), (double)((float)par3 + 0.25F + var12), (double)((float)par4 + 0.375F), (double)((float)par4 + 0.625F), var11 * 0.6F, var13); | |
| this.renderPistonRodUD((double)((float)par2 + 0.625F), (double)((float)par2 + 0.625F), (double)((float)par3 + 0.25F), (double)((float)par3 + 0.25F + var12), (double)((float)par4 + 0.625F), (double)((float)par4 + 0.375F), var11 * 0.6F, var13); | |
| break; | |
| case 1: | |
| par1Block.setBlockBounds(0.0F, 0.75F, 0.0F, 1.0F, 1.0F, 1.0F); | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| this.renderPistonRodUD((double)((float)par2 + 0.375F), (double)((float)par2 + 0.625F), (double)((float)par3 - 0.25F + 1.0F - var12), (double)((float)par3 - 0.25F + 1.0F), (double)((float)par4 + 0.625F), (double)((float)par4 + 0.625F), var11 * 0.8F, var13); | |
| this.renderPistonRodUD((double)((float)par2 + 0.625F), (double)((float)par2 + 0.375F), (double)((float)par3 - 0.25F + 1.0F - var12), (double)((float)par3 - 0.25F + 1.0F), (double)((float)par4 + 0.375F), (double)((float)par4 + 0.375F), var11 * 0.8F, var13); | |
| this.renderPistonRodUD((double)((float)par2 + 0.375F), (double)((float)par2 + 0.375F), (double)((float)par3 - 0.25F + 1.0F - var12), (double)((float)par3 - 0.25F + 1.0F), (double)((float)par4 + 0.375F), (double)((float)par4 + 0.625F), var11 * 0.6F, var13); | |
| this.renderPistonRodUD((double)((float)par2 + 0.625F), (double)((float)par2 + 0.625F), (double)((float)par3 - 0.25F + 1.0F - var12), (double)((float)par3 - 0.25F + 1.0F), (double)((float)par4 + 0.625F), (double)((float)par4 + 0.375F), var11 * 0.6F, var13); | |
| break; | |
| case 2: | |
| this.uvRotateSouth = 1; | |
| this.uvRotateNorth = 2; | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.25F); | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| this.renderPistonRodSN((double)((float)par2 + 0.375F), (double)((float)par2 + 0.375F), (double)((float)par3 + 0.625F), (double)((float)par3 + 0.375F), (double)((float)par4 + 0.25F), (double)((float)par4 + 0.25F + var12), var11 * 0.6F, var13); | |
| this.renderPistonRodSN((double)((float)par2 + 0.625F), (double)((float)par2 + 0.625F), (double)((float)par3 + 0.375F), (double)((float)par3 + 0.625F), (double)((float)par4 + 0.25F), (double)((float)par4 + 0.25F + var12), var11 * 0.6F, var13); | |
| this.renderPistonRodSN((double)((float)par2 + 0.375F), (double)((float)par2 + 0.625F), (double)((float)par3 + 0.375F), (double)((float)par3 + 0.375F), (double)((float)par4 + 0.25F), (double)((float)par4 + 0.25F + var12), var11 * 0.5F, var13); | |
| this.renderPistonRodSN((double)((float)par2 + 0.625F), (double)((float)par2 + 0.375F), (double)((float)par3 + 0.625F), (double)((float)par3 + 0.625F), (double)((float)par4 + 0.25F), (double)((float)par4 + 0.25F + var12), var11, var13); | |
| break; | |
| case 3: | |
| this.uvRotateSouth = 2; | |
| this.uvRotateNorth = 1; | |
| this.uvRotateTop = 3; | |
| this.uvRotateBottom = 3; | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.75F, 1.0F, 1.0F, 1.0F); | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| this.renderPistonRodSN((double)((float)par2 + 0.375F), (double)((float)par2 + 0.375F), (double)((float)par3 + 0.625F), (double)((float)par3 + 0.375F), (double)((float)par4 - 0.25F + 1.0F - var12), (double)((float)par4 - 0.25F + 1.0F), var11 * 0.6F, var13); | |
| this.renderPistonRodSN((double)((float)par2 + 0.625F), (double)((float)par2 + 0.625F), (double)((float)par3 + 0.375F), (double)((float)par3 + 0.625F), (double)((float)par4 - 0.25F + 1.0F - var12), (double)((float)par4 - 0.25F + 1.0F), var11 * 0.6F, var13); | |
| this.renderPistonRodSN((double)((float)par2 + 0.375F), (double)((float)par2 + 0.625F), (double)((float)par3 + 0.375F), (double)((float)par3 + 0.375F), (double)((float)par4 - 0.25F + 1.0F - var12), (double)((float)par4 - 0.25F + 1.0F), var11 * 0.5F, var13); | |
| this.renderPistonRodSN((double)((float)par2 + 0.625F), (double)((float)par2 + 0.375F), (double)((float)par3 + 0.625F), (double)((float)par3 + 0.625F), (double)((float)par4 - 0.25F + 1.0F - var12), (double)((float)par4 - 0.25F + 1.0F), var11, var13); | |
| break; | |
| case 4: | |
| this.uvRotateEast = 1; | |
| this.uvRotateWest = 2; | |
| this.uvRotateTop = 2; | |
| this.uvRotateBottom = 1; | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.0F, 0.25F, 1.0F, 1.0F); | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| this.renderPistonRodEW((double)((float)par2 + 0.25F), (double)((float)par2 + 0.25F + var12), (double)((float)par3 + 0.375F), (double)((float)par3 + 0.375F), (double)((float)par4 + 0.625F), (double)((float)par4 + 0.375F), var11 * 0.5F, var13); | |
| this.renderPistonRodEW((double)((float)par2 + 0.25F), (double)((float)par2 + 0.25F + var12), (double)((float)par3 + 0.625F), (double)((float)par3 + 0.625F), (double)((float)par4 + 0.375F), (double)((float)par4 + 0.625F), var11, var13); | |
| this.renderPistonRodEW((double)((float)par2 + 0.25F), (double)((float)par2 + 0.25F + var12), (double)((float)par3 + 0.375F), (double)((float)par3 + 0.625F), (double)((float)par4 + 0.375F), (double)((float)par4 + 0.375F), var11 * 0.6F, var13); | |
| this.renderPistonRodEW((double)((float)par2 + 0.25F), (double)((float)par2 + 0.25F + var12), (double)((float)par3 + 0.625F), (double)((float)par3 + 0.375F), (double)((float)par4 + 0.625F), (double)((float)par4 + 0.625F), var11 * 0.6F, var13); | |
| break; | |
| case 5: | |
| this.uvRotateEast = 2; | |
| this.uvRotateWest = 1; | |
| this.uvRotateTop = 1; | |
| this.uvRotateBottom = 2; | |
| par1Block.setBlockBounds(0.75F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| this.renderPistonRodEW((double)((float)par2 - 0.25F + 1.0F - var12), (double)((float)par2 - 0.25F + 1.0F), (double)((float)par3 + 0.375F), (double)((float)par3 + 0.375F), (double)((float)par4 + 0.625F), (double)((float)par4 + 0.375F), var11 * 0.5F, var13); | |
| this.renderPistonRodEW((double)((float)par2 - 0.25F + 1.0F - var12), (double)((float)par2 - 0.25F + 1.0F), (double)((float)par3 + 0.625F), (double)((float)par3 + 0.625F), (double)((float)par4 + 0.375F), (double)((float)par4 + 0.625F), var11, var13); | |
| this.renderPistonRodEW((double)((float)par2 - 0.25F + 1.0F - var12), (double)((float)par2 - 0.25F + 1.0F), (double)((float)par3 + 0.375F), (double)((float)par3 + 0.625F), (double)((float)par4 + 0.375F), (double)((float)par4 + 0.375F), var11 * 0.6F, var13); | |
| this.renderPistonRodEW((double)((float)par2 - 0.25F + 1.0F - var12), (double)((float)par2 - 0.25F + 1.0F), (double)((float)par3 + 0.625F), (double)((float)par3 + 0.375F), (double)((float)par4 + 0.625F), (double)((float)par4 + 0.625F), var11 * 0.6F, var13); | |
| } | |
| this.uvRotateEast = 0; | |
| this.uvRotateWest = 0; | |
| this.uvRotateSouth = 0; | |
| this.uvRotateNorth = 0; | |
| this.uvRotateTop = 0; | |
| this.uvRotateBottom = 0; | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); | |
| return true; | |
| } | |
| public boolean renderBlockLever(Block par1Block, int par2, int par3, int par4) { | |
| int var5 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| int var6 = var5 & 7; | |
| boolean var7 = (var5 & 8) > 0; | |
| Tessellator var8 = Tessellator.instance; | |
| boolean var9 = this.overrideBlockTexture >= 0; | |
| if (!var9) { | |
| this.overrideBlockTexture = Block.cobblestone.blockIndexInTexture; | |
| } | |
| float var10 = 0.25F; | |
| float var11 = 0.1875F; | |
| float var12 = 0.1875F; | |
| if (var6 == 5) { | |
| par1Block.setBlockBounds(0.5F - var11, 0.0F, 0.5F - var10, 0.5F + var11, var12, 0.5F + var10); | |
| } else if (var6 == 6) { | |
| par1Block.setBlockBounds(0.5F - var10, 0.0F, 0.5F - var11, 0.5F + var10, var12, 0.5F + var11); | |
| } else if (var6 == 4) { | |
| par1Block.setBlockBounds(0.5F - var11, 0.5F - var10, 1.0F - var12, 0.5F + var11, 0.5F + var10, 1.0F); | |
| } else if (var6 == 3) { | |
| par1Block.setBlockBounds(0.5F - var11, 0.5F - var10, 0.0F, 0.5F + var11, 0.5F + var10, var12); | |
| } else if (var6 == 2) { | |
| par1Block.setBlockBounds(1.0F - var12, 0.5F - var10, 0.5F - var11, 1.0F, 0.5F + var10, 0.5F + var11); | |
| } else if (var6 == 1) { | |
| par1Block.setBlockBounds(0.0F, 0.5F - var10, 0.5F - var11, var12, 0.5F + var10, 0.5F + var11); | |
| } | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| if (!var9) { | |
| this.overrideBlockTexture = -1; | |
| } | |
| var8.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| float var13 = 1.0F; | |
| if (Block.lightValue[par1Block.blockID] > 0) { | |
| var13 = 1.0F; | |
| } | |
| var8.setColorOpaque_F(var13, var13, var13); | |
| int var14 = par1Block.getBlockTextureFromSide(0); | |
| if (this.overrideBlockTexture >= 0) { | |
| var14 = this.overrideBlockTexture; | |
| } | |
| int var15 = (var14 & 15) << 4; | |
| int var16 = var14 & 240; | |
| float var17 = (float)var15 / 256.0F; | |
| float var18 = ((float)var15 + 15.99F) / 256.0F; | |
| float var19 = (float)var16 / 256.0F; | |
| float var20 = ((float)var16 + 15.99F) / 256.0F; | |
| Vec3D[] var21 = new Vec3D[8]; | |
| float var22 = 0.0625F; | |
| float var23 = 0.0625F; | |
| float var24 = 0.625F; | |
| var21[0] = Vec3D.createVector((double)(-var22), 0.0D, (double)(-var23)); | |
| var21[1] = Vec3D.createVector((double)var22, 0.0D, (double)(-var23)); | |
| var21[2] = Vec3D.createVector((double)var22, 0.0D, (double)var23); | |
| var21[3] = Vec3D.createVector((double)(-var22), 0.0D, (double)var23); | |
| var21[4] = Vec3D.createVector((double)(-var22), (double)var24, (double)(-var23)); | |
| var21[5] = Vec3D.createVector((double)var22, (double)var24, (double)(-var23)); | |
| var21[6] = Vec3D.createVector((double)var22, (double)var24, (double)var23); | |
| var21[7] = Vec3D.createVector((double)(-var22), (double)var24, (double)var23); | |
| for (int var25 = 0; var25 < 8; ++var25) { | |
| if (var7) { | |
| var21[var25].zCoord -= 0.0625D; | |
| var21[var25].rotateAroundX(((float)Math.PI * 2F / 9F)); | |
| } else { | |
| var21[var25].zCoord += 0.0625D; | |
| var21[var25].rotateAroundX(-((float)Math.PI * 2F / 9F)); | |
| } | |
| if (var6 == 6) { | |
| var21[var25].rotateAroundY(((float)Math.PI / 2F)); | |
| } | |
| if (var6 < 5) { | |
| var21[var25].yCoord -= 0.375D; | |
| var21[var25].rotateAroundX(((float)Math.PI / 2F)); | |
| if (var6 == 4) { | |
| var21[var25].rotateAroundY(0.0F); | |
| } | |
| if (var6 == 3) { | |
| var21[var25].rotateAroundY((float)Math.PI); | |
| } | |
| if (var6 == 2) { | |
| var21[var25].rotateAroundY(((float)Math.PI / 2F)); | |
| } | |
| if (var6 == 1) { | |
| var21[var25].rotateAroundY(-((float)Math.PI / 2F)); | |
| } | |
| var21[var25].xCoord += (double)par2 + 0.5D; | |
| var21[var25].yCoord += (double)((float)par3 + 0.5F); | |
| var21[var25].zCoord += (double)par4 + 0.5D; | |
| } else { | |
| var21[var25].xCoord += (double)par2 + 0.5D; | |
| var21[var25].yCoord += (double)((float)par3 + 0.125F); | |
| var21[var25].zCoord += (double)par4 + 0.5D; | |
| } | |
| } | |
| Vec3D var30 = null; | |
| Vec3D var26 = null; | |
| Vec3D var27 = null; | |
| Vec3D var28 = null; | |
| for (int var29 = 0; var29 < 6; ++var29) { | |
| if (var29 == 0) { | |
| var17 = (float)(var15 + 7) / 256.0F; | |
| var18 = ((float)(var15 + 9) - 0.01F) / 256.0F; | |
| var19 = (float)(var16 + 6) / 256.0F; | |
| var20 = ((float)(var16 + 8) - 0.01F) / 256.0F; | |
| } else if (var29 == 2) { | |
| var17 = (float)(var15 + 7) / 256.0F; | |
| var18 = ((float)(var15 + 9) - 0.01F) / 256.0F; | |
| var19 = (float)(var16 + 6) / 256.0F; | |
| var20 = ((float)(var16 + 16) - 0.01F) / 256.0F; | |
| } | |
| if (var29 == 0) { | |
| var30 = var21[0]; | |
| var26 = var21[1]; | |
| var27 = var21[2]; | |
| var28 = var21[3]; | |
| } else if (var29 == 1) { | |
| var30 = var21[7]; | |
| var26 = var21[6]; | |
| var27 = var21[5]; | |
| var28 = var21[4]; | |
| } else if (var29 == 2) { | |
| var30 = var21[1]; | |
| var26 = var21[0]; | |
| var27 = var21[4]; | |
| var28 = var21[5]; | |
| } else if (var29 == 3) { | |
| var30 = var21[2]; | |
| var26 = var21[1]; | |
| var27 = var21[5]; | |
| var28 = var21[6]; | |
| } else if (var29 == 4) { | |
| var30 = var21[3]; | |
| var26 = var21[2]; | |
| var27 = var21[6]; | |
| var28 = var21[7]; | |
| } else if (var29 == 5) { | |
| var30 = var21[0]; | |
| var26 = var21[3]; | |
| var27 = var21[7]; | |
| var28 = var21[4]; | |
| } | |
| var8.addVertexWithUV(var30.xCoord, var30.yCoord, var30.zCoord, (double)var17, (double)var20); | |
| var8.addVertexWithUV(var26.xCoord, var26.yCoord, var26.zCoord, (double)var18, (double)var20); | |
| var8.addVertexWithUV(var27.xCoord, var27.yCoord, var27.zCoord, (double)var18, (double)var19); | |
| var8.addVertexWithUV(var28.xCoord, var28.yCoord, var28.zCoord, (double)var17, (double)var19); | |
| } | |
| return true; | |
| } | |
| public boolean renderBlockFire(Block par1Block, int par2, int par3, int par4) { | |
| Tessellator var5 = Tessellator.instance; | |
| int var6 = par1Block.getBlockTextureFromSide(0); | |
| if (this.overrideBlockTexture >= 0) { | |
| var6 = this.overrideBlockTexture; | |
| } | |
| var5.setColorOpaque_F(1.0F, 1.0F, 1.0F); | |
| var5.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| int var7 = (var6 & 15) << 4; | |
| int var8 = var6 & 240; | |
| double var9 = (double)((float)var7 / 256.0F); | |
| double var11 = (double)(((float)var7 + 15.99F) / 256.0F); | |
| double var13 = (double)((float)var8 / 256.0F); | |
| double var15 = (double)(((float)var8 + 15.99F) / 256.0F); | |
| float var17 = 1.4F; | |
| double var20; | |
| double var22; | |
| double var24; | |
| double var26; | |
| double var28; | |
| double var30; | |
| double var32; | |
| if (!this.blockAccess.isBlockNormalCube(par2, par3 - 1, par4) && !Block.fire.canBlockCatchFire(this.blockAccess, par2, par3 - 1, par4)) { | |
| float var36 = 0.2F; | |
| float var19 = 0.0625F; | |
| if ((par2 + par3 + par4 & 1) == 1) { | |
| var9 = (double)((float)var7 / 256.0F); | |
| var11 = (double)(((float)var7 + 15.99F) / 256.0F); | |
| var13 = (double)((float)(var8 + 16) / 256.0F); | |
| var15 = (double)(((float)var8 + 15.99F + 16.0F) / 256.0F); | |
| } | |
| if ((par2 / 2 + par3 / 2 + par4 / 2 & 1) == 1) { | |
| var20 = var11; | |
| var11 = var9; | |
| var9 = var20; | |
| } | |
| if (Block.fire.canBlockCatchFire(this.blockAccess, par2 - 1, par3, par4)) { | |
| var5.addVertexWithUV((double)((float)par2 + var36), (double)((float)par3 + var17 + var19), (double)(par4 + 1), var11, var13); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 0) + var19), (double)(par4 + 1), var11, var15); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 0) + var19), (double)(par4 + 0), var9, var15); | |
| var5.addVertexWithUV((double)((float)par2 + var36), (double)((float)par3 + var17 + var19), (double)(par4 + 0), var9, var13); | |
| var5.addVertexWithUV((double)((float)par2 + var36), (double)((float)par3 + var17 + var19), (double)(par4 + 0), var9, var13); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 0) + var19), (double)(par4 + 0), var9, var15); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 0) + var19), (double)(par4 + 1), var11, var15); | |
| var5.addVertexWithUV((double)((float)par2 + var36), (double)((float)par3 + var17 + var19), (double)(par4 + 1), var11, var13); | |
| } | |
| if (Block.fire.canBlockCatchFire(this.blockAccess, par2 + 1, par3, par4)) { | |
| var5.addVertexWithUV((double)((float)(par2 + 1) - var36), (double)((float)par3 + var17 + var19), (double)(par4 + 0), var9, var13); | |
| var5.addVertexWithUV((double)(par2 + 1 - 0), (double)((float)(par3 + 0) + var19), (double)(par4 + 0), var9, var15); | |
| var5.addVertexWithUV((double)(par2 + 1 - 0), (double)((float)(par3 + 0) + var19), (double)(par4 + 1), var11, var15); | |
| var5.addVertexWithUV((double)((float)(par2 + 1) - var36), (double)((float)par3 + var17 + var19), (double)(par4 + 1), var11, var13); | |
| var5.addVertexWithUV((double)((float)(par2 + 1) - var36), (double)((float)par3 + var17 + var19), (double)(par4 + 1), var11, var13); | |
| var5.addVertexWithUV((double)(par2 + 1 - 0), (double)((float)(par3 + 0) + var19), (double)(par4 + 1), var11, var15); | |
| var5.addVertexWithUV((double)(par2 + 1 - 0), (double)((float)(par3 + 0) + var19), (double)(par4 + 0), var9, var15); | |
| var5.addVertexWithUV((double)((float)(par2 + 1) - var36), (double)((float)par3 + var17 + var19), (double)(par4 + 0), var9, var13); | |
| } | |
| if (Block.fire.canBlockCatchFire(this.blockAccess, par2, par3, par4 - 1)) { | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)par3 + var17 + var19), (double)((float)par4 + var36), var11, var13); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 0) + var19), (double)(par4 + 0), var11, var15); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)(par3 + 0) + var19), (double)(par4 + 0), var9, var15); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)par3 + var17 + var19), (double)((float)par4 + var36), var9, var13); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)par3 + var17 + var19), (double)((float)par4 + var36), var9, var13); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)(par3 + 0) + var19), (double)(par4 + 0), var9, var15); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 0) + var19), (double)(par4 + 0), var11, var15); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)par3 + var17 + var19), (double)((float)par4 + var36), var11, var13); | |
| } | |
| if (Block.fire.canBlockCatchFire(this.blockAccess, par2, par3, par4 + 1)) { | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)par3 + var17 + var19), (double)((float)(par4 + 1) - var36), var9, var13); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)(par3 + 0) + var19), (double)(par4 + 1 - 0), var9, var15); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 0) + var19), (double)(par4 + 1 - 0), var11, var15); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)par3 + var17 + var19), (double)((float)(par4 + 1) - var36), var11, var13); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)par3 + var17 + var19), (double)((float)(par4 + 1) - var36), var11, var13); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 0) + var19), (double)(par4 + 1 - 0), var11, var15); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)(par3 + 0) + var19), (double)(par4 + 1 - 0), var9, var15); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)par3 + var17 + var19), (double)((float)(par4 + 1) - var36), var9, var13); | |
| } | |
| if (Block.fire.canBlockCatchFire(this.blockAccess, par2, par3 + 1, par4)) { | |
| var20 = (double)par2 + 0.5D + 0.5D; | |
| var22 = (double)par2 + 0.5D - 0.5D; | |
| var24 = (double)par4 + 0.5D + 0.5D; | |
| var26 = (double)par4 + 0.5D - 0.5D; | |
| var28 = (double)par2 + 0.5D - 0.5D; | |
| var30 = (double)par2 + 0.5D + 0.5D; | |
| var32 = (double)par4 + 0.5D - 0.5D; | |
| double var34 = (double)par4 + 0.5D + 0.5D; | |
| var9 = (double)((float)var7 / 256.0F); | |
| var11 = (double)(((float)var7 + 15.99F) / 256.0F); | |
| var13 = (double)((float)var8 / 256.0F); | |
| var15 = (double)(((float)var8 + 15.99F) / 256.0F); | |
| ++par3; | |
| var17 = -0.2F; | |
| if ((par2 + par3 + par4 & 1) == 0) { | |
| var5.addVertexWithUV(var28, (double)((float)par3 + var17), (double)(par4 + 0), var11, var13); | |
| var5.addVertexWithUV(var20, (double)(par3 + 0), (double)(par4 + 0), var11, var15); | |
| var5.addVertexWithUV(var20, (double)(par3 + 0), (double)(par4 + 1), var9, var15); | |
| var5.addVertexWithUV(var28, (double)((float)par3 + var17), (double)(par4 + 1), var9, var13); | |
| var9 = (double)((float)var7 / 256.0F); | |
| var11 = (double)(((float)var7 + 15.99F) / 256.0F); | |
| var13 = (double)((float)(var8 + 16) / 256.0F); | |
| var15 = (double)(((float)var8 + 15.99F + 16.0F) / 256.0F); | |
| var5.addVertexWithUV(var30, (double)((float)par3 + var17), (double)(par4 + 1), var11, var13); | |
| var5.addVertexWithUV(var22, (double)(par3 + 0), (double)(par4 + 1), var11, var15); | |
| var5.addVertexWithUV(var22, (double)(par3 + 0), (double)(par4 + 0), var9, var15); | |
| var5.addVertexWithUV(var30, (double)((float)par3 + var17), (double)(par4 + 0), var9, var13); | |
| } else { | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)par3 + var17), var34, var11, var13); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), var26, var11, var15); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), var26, var9, var15); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)par3 + var17), var34, var9, var13); | |
| var9 = (double)((float)var7 / 256.0F); | |
| var11 = (double)(((float)var7 + 15.99F) / 256.0F); | |
| var13 = (double)((float)(var8 + 16) / 256.0F); | |
| var15 = (double)(((float)var8 + 15.99F + 16.0F) / 256.0F); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)par3 + var17), var32, var11, var13); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), var24, var11, var15); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), var24, var9, var15); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)par3 + var17), var32, var9, var13); | |
| } | |
| } | |
| } else { | |
| double var18 = (double)par2 + 0.5D + 0.2D; | |
| var20 = (double)par2 + 0.5D - 0.2D; | |
| var22 = (double)par4 + 0.5D + 0.2D; | |
| var24 = (double)par4 + 0.5D - 0.2D; | |
| var26 = (double)par2 + 0.5D - 0.3D; | |
| var28 = (double)par2 + 0.5D + 0.3D; | |
| var30 = (double)par4 + 0.5D - 0.3D; | |
| var32 = (double)par4 + 0.5D + 0.3D; | |
| var5.addVertexWithUV(var26, (double)((float)par3 + var17), (double)(par4 + 1), var11, var13); | |
| var5.addVertexWithUV(var18, (double)(par3 + 0), (double)(par4 + 1), var11, var15); | |
| var5.addVertexWithUV(var18, (double)(par3 + 0), (double)(par4 + 0), var9, var15); | |
| var5.addVertexWithUV(var26, (double)((float)par3 + var17), (double)(par4 + 0), var9, var13); | |
| var5.addVertexWithUV(var28, (double)((float)par3 + var17), (double)(par4 + 0), var11, var13); | |
| var5.addVertexWithUV(var20, (double)(par3 + 0), (double)(par4 + 0), var11, var15); | |
| var5.addVertexWithUV(var20, (double)(par3 + 0), (double)(par4 + 1), var9, var15); | |
| var5.addVertexWithUV(var28, (double)((float)par3 + var17), (double)(par4 + 1), var9, var13); | |
| var9 = (double)((float)var7 / 256.0F); | |
| var11 = (double)(((float)var7 + 15.99F) / 256.0F); | |
| var13 = (double)((float)(var8 + 16) / 256.0F); | |
| var15 = (double)(((float)var8 + 15.99F + 16.0F) / 256.0F); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)par3 + var17), var32, var11, var13); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), var24, var11, var15); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), var24, var9, var15); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)par3 + var17), var32, var9, var13); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)par3 + var17), var30, var11, var13); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), var22, var11, var15); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), var22, var9, var15); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)par3 + var17), var30, var9, var13); | |
| var18 = (double)par2 + 0.5D - 0.5D; | |
| var20 = (double)par2 + 0.5D + 0.5D; | |
| var22 = (double)par4 + 0.5D - 0.5D; | |
| var24 = (double)par4 + 0.5D + 0.5D; | |
| var26 = (double)par2 + 0.5D - 0.4D; | |
| var28 = (double)par2 + 0.5D + 0.4D; | |
| var30 = (double)par4 + 0.5D - 0.4D; | |
| var32 = (double)par4 + 0.5D + 0.4D; | |
| var5.addVertexWithUV(var26, (double)((float)par3 + var17), (double)(par4 + 0), var9, var13); | |
| var5.addVertexWithUV(var18, (double)(par3 + 0), (double)(par4 + 0), var9, var15); | |
| var5.addVertexWithUV(var18, (double)(par3 + 0), (double)(par4 + 1), var11, var15); | |
| var5.addVertexWithUV(var26, (double)((float)par3 + var17), (double)(par4 + 1), var11, var13); | |
| var5.addVertexWithUV(var28, (double)((float)par3 + var17), (double)(par4 + 1), var9, var13); | |
| var5.addVertexWithUV(var20, (double)(par3 + 0), (double)(par4 + 1), var9, var15); | |
| var5.addVertexWithUV(var20, (double)(par3 + 0), (double)(par4 + 0), var11, var15); | |
| var5.addVertexWithUV(var28, (double)((float)par3 + var17), (double)(par4 + 0), var11, var13); | |
| var9 = (double)((float)var7 / 256.0F); | |
| var11 = (double)(((float)var7 + 15.99F) / 256.0F); | |
| var13 = (double)((float)var8 / 256.0F); | |
| var15 = (double)(((float)var8 + 15.99F) / 256.0F); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)par3 + var17), var32, var9, var13); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), var24, var9, var15); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), var24, var11, var15); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)par3 + var17), var32, var11, var13); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)par3 + var17), var30, var9, var13); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), var22, var9, var15); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), var22, var11, var15); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)par3 + var17), var30, var11, var13); | |
| } | |
| return true; | |
| } | |
| public boolean renderBlockRedstoneWire(Block par1Block, int par2, int par3, int par4) { | |
| Tessellator var5 = Tessellator.instance; | |
| int var6 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| int var7 = par1Block.getBlockTextureFromSideAndMetadata(1, var6); | |
| if (this.overrideBlockTexture >= 0) { | |
| var7 = this.overrideBlockTexture; | |
| } | |
| var5.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| float var8 = 1.0F; | |
| //Spout HD Start | |
| float var10; | |
| float var11; | |
| float var12; | |
| if (Colorizer.computeRedstoneWireColor(var6)) { | |
| var10 = Colorizer.setColor[0]; | |
| var11 = Colorizer.setColor[1]; | |
| var12 = Colorizer.setColor[2]; | |
| } else { | |
| float var9 = (float)var6 / 15.0F; | |
| var10 = var9 * 0.6F + 0.4F; | |
| if (var6 == 0) { | |
| var10 = 0.3F; | |
| } | |
| var11 = var9 * var9 * 0.7F - 0.5F; | |
| var12 = var9 * var9 * 0.6F - 0.7F; | |
| } | |
| //Spout HD end | |
| if (var11 < 0.0F) { | |
| var11 = 0.0F; | |
| } | |
| if (var12 < 0.0F) { | |
| var12 = 0.0F; | |
| } | |
| var5.setColorOpaque_F(var10, var11, var12); | |
| int var13 = (var7 & 15) << 4; | |
| int var14 = var7 & 240; | |
| double var15 = (double)((float)var13 / 256.0F); | |
| double var17 = (double)(((float)var13 + 15.99F) / 256.0F); | |
| double var19 = (double)((float)var14 / 256.0F); | |
| double var21 = (double)(((float)var14 + 15.99F) / 256.0F); | |
| boolean var29 = BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, par2 - 1, par3, par4, 1) || !this.blockAccess.isBlockNormalCube(par2 - 1, par3, par4) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, par2 - 1, par3 - 1, par4, -1); | |
| boolean var30 = BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, par2 + 1, par3, par4, 3) || !this.blockAccess.isBlockNormalCube(par2 + 1, par3, par4) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, par2 + 1, par3 - 1, par4, -1); | |
| boolean var31 = BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, par2, par3, par4 - 1, 2) || !this.blockAccess.isBlockNormalCube(par2, par3, par4 - 1) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, par2, par3 - 1, par4 - 1, -1); | |
| boolean var32 = BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, par2, par3, par4 + 1, 0) || !this.blockAccess.isBlockNormalCube(par2, par3, par4 + 1) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, par2, par3 - 1, par4 + 1, -1); | |
| if (!this.blockAccess.isBlockNormalCube(par2, par3 + 1, par4)) { | |
| if (this.blockAccess.isBlockNormalCube(par2 - 1, par3, par4) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, par2 - 1, par3 + 1, par4, -1)) { | |
| var29 = true; | |
| } | |
| if (this.blockAccess.isBlockNormalCube(par2 + 1, par3, par4) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, par2 + 1, par3 + 1, par4, -1)) { | |
| var30 = true; | |
| } | |
| if (this.blockAccess.isBlockNormalCube(par2, par3, par4 - 1) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, par2, par3 + 1, par4 - 1, -1)) { | |
| var31 = true; | |
| } | |
| if (this.blockAccess.isBlockNormalCube(par2, par3, par4 + 1) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, par2, par3 + 1, par4 + 1, -1)) { | |
| var32 = true; | |
| } | |
| } | |
| float var34 = (float)(par2 + 0); | |
| float var35 = (float)(par2 + 1); | |
| float var36 = (float)(par4 + 0); | |
| float var37 = (float)(par4 + 1); | |
| byte var38 = 0; | |
| if ((var29 || var30) && !var31 && !var32) { | |
| var38 = 1; | |
| } | |
| if ((var31 || var32) && !var30 && !var29) { | |
| var38 = 2; | |
| } | |
| if (var38 != 0) { | |
| var15 = (double)((float)(var13 + 16) / 256.0F); | |
| var17 = (double)(((float)(var13 + 16) + 15.99F) / 256.0F); | |
| var19 = (double)((float)var14 / 256.0F); | |
| var21 = (double)(((float)var14 + 15.99F) / 256.0F); | |
| } | |
| if (var38 == 0) { | |
| if (!var29) { | |
| var34 += 0.3125F; | |
| } | |
| if (!var29) { | |
| var15 += 0.01953125D; | |
| } | |
| if (!var30) { | |
| var35 -= 0.3125F; | |
| } | |
| if (!var30) { | |
| var17 -= 0.01953125D; | |
| } | |
| if (!var31) { | |
| var36 += 0.3125F; | |
| } | |
| if (!var31) { | |
| var19 += 0.01953125D; | |
| } | |
| if (!var32) { | |
| var37 -= 0.3125F; | |
| } | |
| if (!var32) { | |
| var21 -= 0.01953125D; | |
| } | |
| var5.addVertexWithUV((double)var35, (double)par3 + 0.015625D, (double)var37, var17, var21); | |
| var5.addVertexWithUV((double)var35, (double)par3 + 0.015625D, (double)var36, var17, var19); | |
| var5.addVertexWithUV((double)var34, (double)par3 + 0.015625D, (double)var36, var15, var19); | |
| var5.addVertexWithUV((double)var34, (double)par3 + 0.015625D, (double)var37, var15, var21); | |
| var5.setColorOpaque_F(var8, var8, var8); | |
| var5.addVertexWithUV((double)var35, (double)par3 + 0.015625D, (double)var37, var17, var21 + 0.0625D); | |
| var5.addVertexWithUV((double)var35, (double)par3 + 0.015625D, (double)var36, var17, var19 + 0.0625D); | |
| var5.addVertexWithUV((double)var34, (double)par3 + 0.015625D, (double)var36, var15, var19 + 0.0625D); | |
| var5.addVertexWithUV((double)var34, (double)par3 + 0.015625D, (double)var37, var15, var21 + 0.0625D); | |
| } else if (var38 == 1) { | |
| var5.addVertexWithUV((double)var35, (double)par3 + 0.015625D, (double)var37, var17, var21); | |
| var5.addVertexWithUV((double)var35, (double)par3 + 0.015625D, (double)var36, var17, var19); | |
| var5.addVertexWithUV((double)var34, (double)par3 + 0.015625D, (double)var36, var15, var19); | |
| var5.addVertexWithUV((double)var34, (double)par3 + 0.015625D, (double)var37, var15, var21); | |
| var5.setColorOpaque_F(var8, var8, var8); | |
| var5.addVertexWithUV((double)var35, (double)par3 + 0.015625D, (double)var37, var17, var21 + 0.0625D); | |
| var5.addVertexWithUV((double)var35, (double)par3 + 0.015625D, (double)var36, var17, var19 + 0.0625D); | |
| var5.addVertexWithUV((double)var34, (double)par3 + 0.015625D, (double)var36, var15, var19 + 0.0625D); | |
| var5.addVertexWithUV((double)var34, (double)par3 + 0.015625D, (double)var37, var15, var21 + 0.0625D); | |
| } else if (var38 == 2) { | |
| var5.addVertexWithUV((double)var35, (double)par3 + 0.015625D, (double)var37, var17, var21); | |
| var5.addVertexWithUV((double)var35, (double)par3 + 0.015625D, (double)var36, var15, var21); | |
| var5.addVertexWithUV((double)var34, (double)par3 + 0.015625D, (double)var36, var15, var19); | |
| var5.addVertexWithUV((double)var34, (double)par3 + 0.015625D, (double)var37, var17, var19); | |
| var5.setColorOpaque_F(var8, var8, var8); | |
| var5.addVertexWithUV((double)var35, (double)par3 + 0.015625D, (double)var37, var17, var21 + 0.0625D); | |
| var5.addVertexWithUV((double)var35, (double)par3 + 0.015625D, (double)var36, var15, var21 + 0.0625D); | |
| var5.addVertexWithUV((double)var34, (double)par3 + 0.015625D, (double)var36, var15, var19 + 0.0625D); | |
| var5.addVertexWithUV((double)var34, (double)par3 + 0.015625D, (double)var37, var17, var19 + 0.0625D); | |
| } | |
| if (!this.blockAccess.isBlockNormalCube(par2, par3 + 1, par4)) { | |
| var15 = (double)((float)(var13 + 16) / 256.0F); | |
| var17 = (double)(((float)(var13 + 16) + 15.99F) / 256.0F); | |
| var19 = (double)((float)var14 / 256.0F); | |
| var21 = (double)(((float)var14 + 15.99F) / 256.0F); | |
| if (this.blockAccess.isBlockNormalCube(par2 - 1, par3, par4) && this.blockAccess.getBlockId(par2 - 1, par3 + 1, par4) == Block.redstoneWire.blockID) { | |
| var5.setColorOpaque_F(var8 * var10, var8 * var11, var8 * var12); | |
| var5.addVertexWithUV((double)par2 + 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1), var17, var19); | |
| var5.addVertexWithUV((double)par2 + 0.015625D, (double)(par3 + 0), (double)(par4 + 1), var15, var19); | |
| var5.addVertexWithUV((double)par2 + 0.015625D, (double)(par3 + 0), (double)(par4 + 0), var15, var21); | |
| var5.addVertexWithUV((double)par2 + 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 0), var17, var21); | |
| var5.setColorOpaque_F(var8, var8, var8); | |
| var5.addVertexWithUV((double)par2 + 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1), var17, var19 + 0.0625D); | |
| var5.addVertexWithUV((double)par2 + 0.015625D, (double)(par3 + 0), (double)(par4 + 1), var15, var19 + 0.0625D); | |
| var5.addVertexWithUV((double)par2 + 0.015625D, (double)(par3 + 0), (double)(par4 + 0), var15, var21 + 0.0625D); | |
| var5.addVertexWithUV((double)par2 + 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 0), var17, var21 + 0.0625D); | |
| } | |
| if (this.blockAccess.isBlockNormalCube(par2 + 1, par3, par4) && this.blockAccess.getBlockId(par2 + 1, par3 + 1, par4) == Block.redstoneWire.blockID) { | |
| var5.setColorOpaque_F(var8 * var10, var8 * var11, var8 * var12); | |
| var5.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)(par3 + 0), (double)(par4 + 1), var15, var21); | |
| var5.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1), var17, var21); | |
| var5.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 0), var17, var19); | |
| var5.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)(par3 + 0), (double)(par4 + 0), var15, var19); | |
| var5.setColorOpaque_F(var8, var8, var8); | |
| var5.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)(par3 + 0), (double)(par4 + 1), var15, var21 + 0.0625D); | |
| var5.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1), var17, var21 + 0.0625D); | |
| var5.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 0), var17, var19 + 0.0625D); | |
| var5.addVertexWithUV((double)(par2 + 1) - 0.015625D, (double)(par3 + 0), (double)(par4 + 0), var15, var19 + 0.0625D); | |
| } | |
| if (this.blockAccess.isBlockNormalCube(par2, par3, par4 - 1) && this.blockAccess.getBlockId(par2, par3 + 1, par4 - 1) == Block.redstoneWire.blockID) { | |
| var5.setColorOpaque_F(var8 * var10, var8 * var11, var8 * var12); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), (double)par4 + 0.015625D, var15, var21); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)(par3 + 1) + 0.021875F), (double)par4 + 0.015625D, var17, var21); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 1) + 0.021875F), (double)par4 + 0.015625D, var17, var19); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), (double)par4 + 0.015625D, var15, var19); | |
| var5.setColorOpaque_F(var8, var8, var8); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), (double)par4 + 0.015625D, var15, var21 + 0.0625D); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)(par3 + 1) + 0.021875F), (double)par4 + 0.015625D, var17, var21 + 0.0625D); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 1) + 0.021875F), (double)par4 + 0.015625D, var17, var19 + 0.0625D); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), (double)par4 + 0.015625D, var15, var19 + 0.0625D); | |
| } | |
| if (this.blockAccess.isBlockNormalCube(par2, par3, par4 + 1) && this.blockAccess.getBlockId(par2, par3 + 1, par4 + 1) == Block.redstoneWire.blockID) { | |
| var5.setColorOpaque_F(var8 * var10, var8 * var11, var8 * var12); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1) - 0.015625D, var17, var19); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), (double)(par4 + 1) - 0.015625D, var15, var19); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), (double)(par4 + 1) - 0.015625D, var15, var21); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1) - 0.015625D, var17, var21); | |
| var5.setColorOpaque_F(var8, var8, var8); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1) - 0.015625D, var17, var19 + 0.0625D); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), (double)(par4 + 1) - 0.015625D, var15, var19 + 0.0625D); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), (double)(par4 + 1) - 0.015625D, var15, var21 + 0.0625D); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)((float)(par3 + 1) + 0.021875F), (double)(par4 + 1) - 0.015625D, var17, var21 + 0.0625D); | |
| } | |
| } | |
| return true; | |
| } | |
| public boolean renderBlockMinecartTrack(BlockRail par1BlockRail, int par2, int par3, int par4) { | |
| Tessellator var5 = Tessellator.instance; | |
| int var6 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| int var7 = par1BlockRail.getBlockTextureFromSideAndMetadata(0, var6); | |
| if (this.overrideBlockTexture >= 0) { | |
| var7 = this.overrideBlockTexture; | |
| } | |
| if (par1BlockRail.isPowered()) { | |
| var6 &= 7; | |
| } | |
| var5.setBrightness(par1BlockRail.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| var5.setColorOpaque_F(1.0F, 1.0F, 1.0F); | |
| int var8 = (var7 & 15) << 4; | |
| int var9 = var7 & 240; | |
| double var10 = (double)((float)var8 / 256.0F); | |
| double var12 = (double)(((float)var8 + 15.99F) / 256.0F); | |
| double var14 = (double)((float)var9 / 256.0F); | |
| double var16 = (double)(((float)var9 + 15.99F) / 256.0F); | |
| double var18 = 0.0625D; | |
| double var20 = (double)(par2 + 1); | |
| double var22 = (double)(par2 + 1); | |
| double var24 = (double)(par2 + 0); | |
| double var26 = (double)(par2 + 0); | |
| double var28 = (double)(par4 + 0); | |
| double var30 = (double)(par4 + 1); | |
| double var32 = (double)(par4 + 1); | |
| double var34 = (double)(par4 + 0); | |
| double var36 = (double)par3 + var18; | |
| double var38 = (double)par3 + var18; | |
| double var40 = (double)par3 + var18; | |
| double var42 = (double)par3 + var18; | |
| if (var6 != 1 && var6 != 2 && var6 != 3 && var6 != 7) { | |
| if (var6 == 8) { | |
| var20 = var22 = (double)(par2 + 0); | |
| var24 = var26 = (double)(par2 + 1); | |
| var28 = var34 = (double)(par4 + 1); | |
| var30 = var32 = (double)(par4 + 0); | |
| } else if (var6 == 9) { | |
| var20 = var26 = (double)(par2 + 0); | |
| var22 = var24 = (double)(par2 + 1); | |
| var28 = var30 = (double)(par4 + 0); | |
| var32 = var34 = (double)(par4 + 1); | |
| } | |
| } else { | |
| var20 = var26 = (double)(par2 + 1); | |
| var22 = var24 = (double)(par2 + 0); | |
| var28 = var30 = (double)(par4 + 1); | |
| var32 = var34 = (double)(par4 + 0); | |
| } | |
| if (var6 != 2 && var6 != 4) { | |
| if (var6 == 3 || var6 == 5) { | |
| ++var38; | |
| ++var40; | |
| } | |
| } else { | |
| ++var36; | |
| ++var42; | |
| } | |
| var5.addVertexWithUV(var20, var36, var28, var12, var14); | |
| var5.addVertexWithUV(var22, var38, var30, var12, var16); | |
| var5.addVertexWithUV(var24, var40, var32, var10, var16); | |
| var5.addVertexWithUV(var26, var42, var34, var10, var14); | |
| var5.addVertexWithUV(var26, var42, var34, var10, var14); | |
| var5.addVertexWithUV(var24, var40, var32, var10, var16); | |
| var5.addVertexWithUV(var22, var38, var30, var12, var16); | |
| var5.addVertexWithUV(var20, var36, var28, var12, var14); | |
| return true; | |
| } | |
| public boolean renderBlockLadder(Block par1Block, int par2, int par3, int par4) { | |
| Tessellator var5 = Tessellator.instance; | |
| int var6 = par1Block.getBlockTextureFromSide(0); | |
| if (this.overrideBlockTexture >= 0) { | |
| var6 = this.overrideBlockTexture; | |
| } | |
| var5.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| float var7 = 1.0F; | |
| var5.setColorOpaque_F(var7, var7, var7); | |
| int var22 = (var6 & 15) << 4; | |
| int var8 = var6 & 240; | |
| double var9 = (double)((float)var22 / 256.0F); | |
| double var11 = (double)(((float)var22 + 15.99F) / 256.0F); | |
| double var13 = (double)((float)var8 / 256.0F); | |
| double var15 = (double)(((float)var8 + 15.99F) / 256.0F); | |
| int var17 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| double var18 = 0.0D; | |
| double var20 = 0.05000000074505806D; | |
| if (var17 == 5) { | |
| var5.addVertexWithUV((double)par2 + var20, (double)(par3 + 1) + var18, (double)(par4 + 1) + var18, var9, var13); | |
| var5.addVertexWithUV((double)par2 + var20, (double)(par3 + 0) - var18, (double)(par4 + 1) + var18, var9, var15); | |
| var5.addVertexWithUV((double)par2 + var20, (double)(par3 + 0) - var18, (double)(par4 + 0) - var18, var11, var15); | |
| var5.addVertexWithUV((double)par2 + var20, (double)(par3 + 1) + var18, (double)(par4 + 0) - var18, var11, var13); | |
| } | |
| if (var17 == 4) { | |
| var5.addVertexWithUV((double)(par2 + 1) - var20, (double)(par3 + 0) - var18, (double)(par4 + 1) + var18, var11, var15); | |
| var5.addVertexWithUV((double)(par2 + 1) - var20, (double)(par3 + 1) + var18, (double)(par4 + 1) + var18, var11, var13); | |
| var5.addVertexWithUV((double)(par2 + 1) - var20, (double)(par3 + 1) + var18, (double)(par4 + 0) - var18, var9, var13); | |
| var5.addVertexWithUV((double)(par2 + 1) - var20, (double)(par3 + 0) - var18, (double)(par4 + 0) - var18, var9, var15); | |
| } | |
| if (var17 == 3) { | |
| var5.addVertexWithUV((double)(par2 + 1) + var18, (double)(par3 + 0) - var18, (double)par4 + var20, var11, var15); | |
| var5.addVertexWithUV((double)(par2 + 1) + var18, (double)(par3 + 1) + var18, (double)par4 + var20, var11, var13); | |
| var5.addVertexWithUV((double)(par2 + 0) - var18, (double)(par3 + 1) + var18, (double)par4 + var20, var9, var13); | |
| var5.addVertexWithUV((double)(par2 + 0) - var18, (double)(par3 + 0) - var18, (double)par4 + var20, var9, var15); | |
| } | |
| if (var17 == 2) { | |
| var5.addVertexWithUV((double)(par2 + 1) + var18, (double)(par3 + 1) + var18, (double)(par4 + 1) - var20, var9, var13); | |
| var5.addVertexWithUV((double)(par2 + 1) + var18, (double)(par3 + 0) - var18, (double)(par4 + 1) - var20, var9, var15); | |
| var5.addVertexWithUV((double)(par2 + 0) - var18, (double)(par3 + 0) - var18, (double)(par4 + 1) - var20, var11, var15); | |
| var5.addVertexWithUV((double)(par2 + 0) - var18, (double)(par3 + 1) + var18, (double)(par4 + 1) - var20, var11, var13); | |
| } | |
| return true; | |
| } | |
| public boolean renderBlockVine(Block par1Block, int par2, int par3, int par4) { | |
| Tessellator var5 = Tessellator.instance; | |
| int var6 = par1Block.getBlockTextureFromSide(0); | |
| if (this.overrideBlockTexture >= 0) { | |
| var6 = this.overrideBlockTexture; | |
| } | |
| float var7 = 1.0F; | |
| var5.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| int var8 = par1Block.colorMultiplier(this.blockAccess, par2, par3, par4); | |
| float var9 = (float)(var8 >> 16 & 255) / 255.0F; | |
| float var10 = (float)(var8 >> 8 & 255) / 255.0F; | |
| float var11 = (float)(var8 & 255) / 255.0F; | |
| var5.setColorOpaque_F(var7 * var9, var7 * var10, var7 * var11); | |
| var8 = (var6 & 15) << 4; | |
| int var21 = var6 & 240; | |
| double var22 = (double)((float)var8 / 256.0F); | |
| double var12 = (double)(((float)var8 + 15.99F) / 256.0F); | |
| double var14 = (double)((float)var21 / 256.0F); | |
| double var16 = (double)(((float)var21 + 15.99F) / 256.0F); | |
| double var18 = 0.05000000074505806D; | |
| int var20 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| if ((var20 & 2) != 0) { | |
| var5.addVertexWithUV((double)par2 + var18, (double)(par3 + 1), (double)(par4 + 1), var22, var14); | |
| var5.addVertexWithUV((double)par2 + var18, (double)(par3 + 0), (double)(par4 + 1), var22, var16); | |
| var5.addVertexWithUV((double)par2 + var18, (double)(par3 + 0), (double)(par4 + 0), var12, var16); | |
| var5.addVertexWithUV((double)par2 + var18, (double)(par3 + 1), (double)(par4 + 0), var12, var14); | |
| var5.addVertexWithUV((double)par2 + var18, (double)(par3 + 1), (double)(par4 + 0), var12, var14); | |
| var5.addVertexWithUV((double)par2 + var18, (double)(par3 + 0), (double)(par4 + 0), var12, var16); | |
| var5.addVertexWithUV((double)par2 + var18, (double)(par3 + 0), (double)(par4 + 1), var22, var16); | |
| var5.addVertexWithUV((double)par2 + var18, (double)(par3 + 1), (double)(par4 + 1), var22, var14); | |
| } | |
| if ((var20 & 8) != 0) { | |
| var5.addVertexWithUV((double)(par2 + 1) - var18, (double)(par3 + 0), (double)(par4 + 1), var12, var16); | |
| var5.addVertexWithUV((double)(par2 + 1) - var18, (double)(par3 + 1), (double)(par4 + 1), var12, var14); | |
| var5.addVertexWithUV((double)(par2 + 1) - var18, (double)(par3 + 1), (double)(par4 + 0), var22, var14); | |
| var5.addVertexWithUV((double)(par2 + 1) - var18, (double)(par3 + 0), (double)(par4 + 0), var22, var16); | |
| var5.addVertexWithUV((double)(par2 + 1) - var18, (double)(par3 + 0), (double)(par4 + 0), var22, var16); | |
| var5.addVertexWithUV((double)(par2 + 1) - var18, (double)(par3 + 1), (double)(par4 + 0), var22, var14); | |
| var5.addVertexWithUV((double)(par2 + 1) - var18, (double)(par3 + 1), (double)(par4 + 1), var12, var14); | |
| var5.addVertexWithUV((double)(par2 + 1) - var18, (double)(par3 + 0), (double)(par4 + 1), var12, var16); | |
| } | |
| if ((var20 & 4) != 0) { | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), (double)par4 + var18, var12, var16); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 1), (double)par4 + var18, var12, var14); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 1), (double)par4 + var18, var22, var14); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), (double)par4 + var18, var22, var16); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), (double)par4 + var18, var22, var16); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 1), (double)par4 + var18, var22, var14); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 1), (double)par4 + var18, var12, var14); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), (double)par4 + var18, var12, var16); | |
| } | |
| if ((var20 & 1) != 0) { | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 1), (double)(par4 + 1) - var18, var22, var14); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), (double)(par4 + 1) - var18, var22, var16); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), (double)(par4 + 1) - var18, var12, var16); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 1), (double)(par4 + 1) - var18, var12, var14); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 1), (double)(par4 + 1) - var18, var12, var14); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 0), (double)(par4 + 1) - var18, var12, var16); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 0), (double)(par4 + 1) - var18, var22, var16); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 1), (double)(par4 + 1) - var18, var22, var14); | |
| } | |
| if (this.blockAccess.isBlockNormalCube(par2, par3 + 1, par4)) { | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 1) - var18, (double)(par4 + 0), var22, var14); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)(par3 + 1) - var18, (double)(par4 + 1), var22, var16); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 1) - var18, (double)(par4 + 1), var12, var16); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)(par3 + 1) - var18, (double)(par4 + 0), var12, var14); | |
| } | |
| return true; | |
| } | |
| public boolean renderBlockPane(BlockPane par1BlockPane, int par2, int par3, int par4) { | |
| int var5 = this.blockAccess.getHeight(); | |
| Tessellator var6 = Tessellator.instance; | |
| var6.setBrightness(par1BlockPane.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| float var7 = 1.0F; | |
| int var8 = par1BlockPane.colorMultiplier(this.blockAccess, par2, par3, par4); | |
| float var9 = (float)(var8 >> 16 & 255) / 255.0F; | |
| float var10 = (float)(var8 >> 8 & 255) / 255.0F; | |
| float var11 = (float)(var8 & 255) / 255.0F; | |
| if (EntityRenderer.anaglyphEnable) { | |
| float var12 = (var9 * 30.0F + var10 * 59.0F + var11 * 11.0F) / 100.0F; | |
| float var13 = (var9 * 30.0F + var10 * 70.0F) / 100.0F; | |
| float var14 = (var9 * 30.0F + var11 * 70.0F) / 100.0F; | |
| var9 = var12; | |
| var10 = var13; | |
| var11 = var14; | |
| } | |
| var6.setColorOpaque_F(var7 * var9, var7 * var10, var7 * var11); | |
| boolean var64 = false; | |
| boolean var67 = false; | |
| int var68; | |
| int var65; | |
| int var66; | |
| if (this.overrideBlockTexture >= 0) { | |
| var65 = this.overrideBlockTexture; | |
| var66 = this.overrideBlockTexture; | |
| } else { | |
| var68 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| var65 = par1BlockPane.getBlockTextureFromSideAndMetadata(0, var68); | |
| var66 = par1BlockPane.getSideTextureIndex(); | |
| } | |
| var68 = (var65 & 15) << 4; | |
| int var15 = var65 & 240; | |
| double var16 = (double)((float)var68 / 256.0F); | |
| double var18 = (double)(((float)var68 + 7.99F) / 256.0F); | |
| double var20 = (double)(((float)var68 + 15.99F) / 256.0F); | |
| double var22 = (double)((float)var15 / 256.0F); | |
| double var24 = (double)(((float)var15 + 15.99F) / 256.0F); | |
| int var26 = (var66 & 15) << 4; | |
| int var27 = var66 & 240; | |
| double var28 = (double)((float)(var26 + 7) / 256.0F); | |
| double var30 = (double)(((float)var26 + 8.99F) / 256.0F); | |
| double var32 = (double)((float)var27 / 256.0F); | |
| double var34 = (double)((float)(var27 + 8) / 256.0F); | |
| double var36 = (double)(((float)var27 + 15.99F) / 256.0F); | |
| double var38 = (double)par2; | |
| double var40 = (double)par2 + 0.5D; | |
| double var42 = (double)(par2 + 1); | |
| double var44 = (double)par4; | |
| double var46 = (double)par4 + 0.5D; | |
| double var48 = (double)(par4 + 1); | |
| double var50 = (double)par2 + 0.5D - 0.0625D; | |
| double var52 = (double)par2 + 0.5D + 0.0625D; | |
| double var54 = (double)par4 + 0.5D - 0.0625D; | |
| double var56 = (double)par4 + 0.5D + 0.0625D; | |
| boolean var58 = par1BlockPane.canThisPaneConnectToThisBlockID(this.blockAccess.getBlockId(par2, par3, par4 - 1)); | |
| boolean var59 = par1BlockPane.canThisPaneConnectToThisBlockID(this.blockAccess.getBlockId(par2, par3, par4 + 1)); | |
| boolean var60 = par1BlockPane.canThisPaneConnectToThisBlockID(this.blockAccess.getBlockId(par2 - 1, par3, par4)); | |
| boolean var61 = par1BlockPane.canThisPaneConnectToThisBlockID(this.blockAccess.getBlockId(par2 + 1, par3, par4)); | |
| boolean var62 = par1BlockPane.shouldSideBeRendered(this.blockAccess, par2, par3 + 1, par4, 1); | |
| boolean var63 = par1BlockPane.shouldSideBeRendered(this.blockAccess, par2, par3 - 1, par4, 0); | |
| if ((!var60 || !var61) && (var60 || var61 || var58 || var59)) { | |
| if (var60 && !var61) { | |
| var6.addVertexWithUV(var38, (double)(par3 + 1), var46, var16, var22); | |
| var6.addVertexWithUV(var38, (double)(par3 + 0), var46, var16, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var46, var18, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var46, var18, var22); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var46, var16, var22); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var46, var16, var24); | |
| var6.addVertexWithUV(var38, (double)(par3 + 0), var46, var18, var24); | |
| var6.addVertexWithUV(var38, (double)(par3 + 1), var46, var18, var22); | |
| if (!var59 && !var58) { | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var56, var28, var32); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var56, var28, var36); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var54, var30, var36); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var54, var30, var32); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var54, var28, var32); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var54, var28, var36); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var56, var30, var36); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var56, var30, var32); | |
| } | |
| if (var62 || par3 < var5 - 1 && this.blockAccess.isAirBlock(par2 - 1, par3 + 1, par4)) { | |
| var6.addVertexWithUV(var38, (double)(par3 + 1) + 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var56, var30, var36); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var54, var28, var36); | |
| var6.addVertexWithUV(var38, (double)(par3 + 1) + 0.01D, var54, var28, var34); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var38, (double)(par3 + 1) + 0.01D, var56, var30, var36); | |
| var6.addVertexWithUV(var38, (double)(par3 + 1) + 0.01D, var54, var28, var36); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var54, var28, var34); | |
| } | |
| if (var63 || par3 > 1 && this.blockAccess.isAirBlock(par2 - 1, par3 - 1, par4)) { | |
| var6.addVertexWithUV(var38, (double)par3 - 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var56, var30, var36); | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var54, var28, var36); | |
| var6.addVertexWithUV(var38, (double)par3 - 0.01D, var54, var28, var34); | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var38, (double)par3 - 0.01D, var56, var30, var36); | |
| var6.addVertexWithUV(var38, (double)par3 - 0.01D, var54, var28, var36); | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var54, var28, var34); | |
| } | |
| } else if (!var60 && var61) { | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var46, var18, var22); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var46, var18, var24); | |
| var6.addVertexWithUV(var42, (double)(par3 + 0), var46, var20, var24); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1), var46, var20, var22); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1), var46, var18, var22); | |
| var6.addVertexWithUV(var42, (double)(par3 + 0), var46, var18, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var46, var20, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var46, var20, var22); | |
| if (!var59 && !var58) { | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var54, var28, var32); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var54, var28, var36); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var56, var30, var36); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var56, var30, var32); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var56, var28, var32); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var56, var28, var36); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var54, var30, var36); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var54, var30, var32); | |
| } | |
| if (var62 || par3 < var5 - 1 && this.blockAccess.isAirBlock(par2 + 1, par3 + 1, par4)) { | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var56, var30, var32); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1) + 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1) + 0.01D, var54, var28, var34); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var54, var28, var32); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1) + 0.01D, var56, var30, var32); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var54, var28, var34); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1) + 0.01D, var54, var28, var32); | |
| } | |
| if (var63 || par3 > 1 && this.blockAccess.isAirBlock(par2 + 1, par3 - 1, par4)) { | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var56, var30, var32); | |
| var6.addVertexWithUV(var42, (double)par3 - 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var42, (double)par3 - 0.01D, var54, var28, var34); | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var54, var28, var32); | |
| var6.addVertexWithUV(var42, (double)par3 - 0.01D, var56, var30, var32); | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var54, var28, var34); | |
| var6.addVertexWithUV(var42, (double)par3 - 0.01D, var54, var28, var32); | |
| } | |
| } | |
| } else { | |
| var6.addVertexWithUV(var38, (double)(par3 + 1), var46, var16, var22); | |
| var6.addVertexWithUV(var38, (double)(par3 + 0), var46, var16, var24); | |
| var6.addVertexWithUV(var42, (double)(par3 + 0), var46, var20, var24); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1), var46, var20, var22); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1), var46, var16, var22); | |
| var6.addVertexWithUV(var42, (double)(par3 + 0), var46, var16, var24); | |
| var6.addVertexWithUV(var38, (double)(par3 + 0), var46, var20, var24); | |
| var6.addVertexWithUV(var38, (double)(par3 + 1), var46, var20, var22); | |
| if (var62) { | |
| var6.addVertexWithUV(var38, (double)(par3 + 1) + 0.01D, var56, var30, var36); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1) + 0.01D, var56, var30, var32); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1) + 0.01D, var54, var28, var32); | |
| var6.addVertexWithUV(var38, (double)(par3 + 1) + 0.01D, var54, var28, var36); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1) + 0.01D, var56, var30, var36); | |
| var6.addVertexWithUV(var38, (double)(par3 + 1) + 0.01D, var56, var30, var32); | |
| var6.addVertexWithUV(var38, (double)(par3 + 1) + 0.01D, var54, var28, var32); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1) + 0.01D, var54, var28, var36); | |
| } else { | |
| if (par3 < var5 - 1 && this.blockAccess.isAirBlock(par2 - 1, par3 + 1, par4)) { | |
| var6.addVertexWithUV(var38, (double)(par3 + 1) + 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var56, var30, var36); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var54, var28, var36); | |
| var6.addVertexWithUV(var38, (double)(par3 + 1) + 0.01D, var54, var28, var34); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var38, (double)(par3 + 1) + 0.01D, var56, var30, var36); | |
| var6.addVertexWithUV(var38, (double)(par3 + 1) + 0.01D, var54, var28, var36); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var54, var28, var34); | |
| } | |
| if (par3 < var5 - 1 && this.blockAccess.isAirBlock(par2 + 1, par3 + 1, par4)) { | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var56, var30, var32); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1) + 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1) + 0.01D, var54, var28, var34); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var54, var28, var32); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1) + 0.01D, var56, var30, var32); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1) + 0.01D, var54, var28, var34); | |
| var6.addVertexWithUV(var42, (double)(par3 + 1) + 0.01D, var54, var28, var32); | |
| } | |
| } | |
| if (var63) { | |
| var6.addVertexWithUV(var38, (double)par3 - 0.01D, var56, var30, var36); | |
| var6.addVertexWithUV(var42, (double)par3 - 0.01D, var56, var30, var32); | |
| var6.addVertexWithUV(var42, (double)par3 - 0.01D, var54, var28, var32); | |
| var6.addVertexWithUV(var38, (double)par3 - 0.01D, var54, var28, var36); | |
| var6.addVertexWithUV(var42, (double)par3 - 0.01D, var56, var30, var36); | |
| var6.addVertexWithUV(var38, (double)par3 - 0.01D, var56, var30, var32); | |
| var6.addVertexWithUV(var38, (double)par3 - 0.01D, var54, var28, var32); | |
| var6.addVertexWithUV(var42, (double)par3 - 0.01D, var54, var28, var36); | |
| } else { | |
| if (par3 > 1 && this.blockAccess.isAirBlock(par2 - 1, par3 - 1, par4)) { | |
| var6.addVertexWithUV(var38, (double)par3 - 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var56, var30, var36); | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var54, var28, var36); | |
| var6.addVertexWithUV(var38, (double)par3 - 0.01D, var54, var28, var34); | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var38, (double)par3 - 0.01D, var56, var30, var36); | |
| var6.addVertexWithUV(var38, (double)par3 - 0.01D, var54, var28, var36); | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var54, var28, var34); | |
| } | |
| if (par3 > 1 && this.blockAccess.isAirBlock(par2 + 1, par3 - 1, par4)) { | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var56, var30, var32); | |
| var6.addVertexWithUV(var42, (double)par3 - 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var42, (double)par3 - 0.01D, var54, var28, var34); | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var54, var28, var32); | |
| var6.addVertexWithUV(var42, (double)par3 - 0.01D, var56, var30, var32); | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var56, var30, var34); | |
| var6.addVertexWithUV(var40, (double)par3 - 0.01D, var54, var28, var34); | |
| var6.addVertexWithUV(var42, (double)par3 - 0.01D, var54, var28, var32); | |
| } | |
| } | |
| } | |
| if ((!var58 || !var59) && (var60 || var61 || var58 || var59)) { | |
| if (var58 && !var59) { | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var44, var16, var22); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var44, var16, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var46, var18, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var46, var18, var22); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var46, var16, var22); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var46, var16, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var44, var18, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var44, var18, var22); | |
| if (!var61 && !var60) { | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var46, var28, var32); | |
| var6.addVertexWithUV(var50, (double)(par3 + 0), var46, var28, var36); | |
| var6.addVertexWithUV(var52, (double)(par3 + 0), var46, var30, var36); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var46, var30, var32); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var46, var28, var32); | |
| var6.addVertexWithUV(var52, (double)(par3 + 0), var46, var28, var36); | |
| var6.addVertexWithUV(var50, (double)(par3 + 0), var46, var30, var36); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var46, var30, var32); | |
| } | |
| if (var62 || par3 < var5 - 1 && this.blockAccess.isAirBlock(par2, par3 + 1, par4 - 1)) { | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var44, var30, var32); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var46, var30, var34); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var46, var28, var34); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var44, var28, var32); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var46, var30, var32); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var44, var30, var34); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var44, var28, var34); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var46, var28, var32); | |
| } | |
| if (var63 || par3 > 1 && this.blockAccess.isAirBlock(par2, par3 - 1, par4 - 1)) { | |
| var6.addVertexWithUV(var50, (double)par3, var44, var30, var32); | |
| var6.addVertexWithUV(var50, (double)par3, var46, var30, var34); | |
| var6.addVertexWithUV(var52, (double)par3, var46, var28, var34); | |
| var6.addVertexWithUV(var52, (double)par3, var44, var28, var32); | |
| var6.addVertexWithUV(var50, (double)par3, var46, var30, var32); | |
| var6.addVertexWithUV(var50, (double)par3, var44, var30, var34); | |
| var6.addVertexWithUV(var52, (double)par3, var44, var28, var34); | |
| var6.addVertexWithUV(var52, (double)par3, var46, var28, var32); | |
| } | |
| } else if (!var58 && var59) { | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var46, var18, var22); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var46, var18, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var48, var20, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var48, var20, var22); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var48, var18, var22); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var48, var18, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var46, var20, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var46, var20, var22); | |
| if (!var61 && !var60) { | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var46, var28, var32); | |
| var6.addVertexWithUV(var52, (double)(par3 + 0), var46, var28, var36); | |
| var6.addVertexWithUV(var50, (double)(par3 + 0), var46, var30, var36); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var46, var30, var32); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var46, var28, var32); | |
| var6.addVertexWithUV(var50, (double)(par3 + 0), var46, var28, var36); | |
| var6.addVertexWithUV(var52, (double)(par3 + 0), var46, var30, var36); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var46, var30, var32); | |
| } | |
| if (var62 || par3 < var5 - 1 && this.blockAccess.isAirBlock(par2, par3 + 1, par4 + 1)) { | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var46, var28, var34); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var48, var28, var36); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var48, var30, var36); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var46, var30, var34); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var48, var28, var34); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var46, var28, var36); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var46, var30, var36); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var48, var30, var34); | |
| } | |
| if (var63 || par3 > 1 && this.blockAccess.isAirBlock(par2, par3 - 1, par4 + 1)) { | |
| var6.addVertexWithUV(var50, (double)par3, var46, var28, var34); | |
| var6.addVertexWithUV(var50, (double)par3, var48, var28, var36); | |
| var6.addVertexWithUV(var52, (double)par3, var48, var30, var36); | |
| var6.addVertexWithUV(var52, (double)par3, var46, var30, var34); | |
| var6.addVertexWithUV(var50, (double)par3, var48, var28, var34); | |
| var6.addVertexWithUV(var50, (double)par3, var46, var28, var36); | |
| var6.addVertexWithUV(var52, (double)par3, var46, var30, var36); | |
| var6.addVertexWithUV(var52, (double)par3, var48, var30, var34); | |
| } | |
| } | |
| } else { | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var48, var16, var22); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var48, var16, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var44, var20, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var44, var20, var22); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var44, var16, var22); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var44, var16, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 0), var48, var20, var24); | |
| var6.addVertexWithUV(var40, (double)(par3 + 1), var48, var20, var22); | |
| if (var62) { | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var48, var30, var36); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var44, var30, var32); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var44, var28, var32); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var48, var28, var36); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var44, var30, var36); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var48, var30, var32); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var48, var28, var32); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var44, var28, var36); | |
| } else { | |
| if (par3 < var5 - 1 && this.blockAccess.isAirBlock(par2, par3 + 1, par4 - 1)) { | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var44, var30, var32); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var46, var30, var34); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var46, var28, var34); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var44, var28, var32); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var46, var30, var32); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var44, var30, var34); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var44, var28, var34); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var46, var28, var32); | |
| } | |
| if (par3 < var5 - 1 && this.blockAccess.isAirBlock(par2, par3 + 1, par4 + 1)) { | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var46, var28, var34); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var48, var28, var36); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var48, var30, var36); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var46, var30, var34); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var48, var28, var34); | |
| var6.addVertexWithUV(var50, (double)(par3 + 1), var46, var28, var36); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var46, var30, var36); | |
| var6.addVertexWithUV(var52, (double)(par3 + 1), var48, var30, var34); | |
| } | |
| } | |
| if (var63) { | |
| var6.addVertexWithUV(var52, (double)par3, var48, var30, var36); | |
| var6.addVertexWithUV(var52, (double)par3, var44, var30, var32); | |
| var6.addVertexWithUV(var50, (double)par3, var44, var28, var32); | |
| var6.addVertexWithUV(var50, (double)par3, var48, var28, var36); | |
| var6.addVertexWithUV(var52, (double)par3, var44, var30, var36); | |
| var6.addVertexWithUV(var52, (double)par3, var48, var30, var32); | |
| var6.addVertexWithUV(var50, (double)par3, var48, var28, var32); | |
| var6.addVertexWithUV(var50, (double)par3, var44, var28, var36); | |
| } else { | |
| if (par3 > 1 && this.blockAccess.isAirBlock(par2, par3 - 1, par4 - 1)) { | |
| var6.addVertexWithUV(var50, (double)par3, var44, var30, var32); | |
| var6.addVertexWithUV(var50, (double)par3, var46, var30, var34); | |
| var6.addVertexWithUV(var52, (double)par3, var46, var28, var34); | |
| var6.addVertexWithUV(var52, (double)par3, var44, var28, var32); | |
| var6.addVertexWithUV(var50, (double)par3, var46, var30, var32); | |
| var6.addVertexWithUV(var50, (double)par3, var44, var30, var34); | |
| var6.addVertexWithUV(var52, (double)par3, var44, var28, var34); | |
| var6.addVertexWithUV(var52, (double)par3, var46, var28, var32); | |
| } | |
| if (par3 > 1 && this.blockAccess.isAirBlock(par2, par3 - 1, par4 + 1)) { | |
| var6.addVertexWithUV(var50, (double)par3, var46, var28, var34); | |
| var6.addVertexWithUV(var50, (double)par3, var48, var28, var36); | |
| var6.addVertexWithUV(var52, (double)par3, var48, var30, var36); | |
| var6.addVertexWithUV(var52, (double)par3, var46, var30, var34); | |
| var6.addVertexWithUV(var50, (double)par3, var48, var28, var34); | |
| var6.addVertexWithUV(var50, (double)par3, var46, var28, var36); | |
| var6.addVertexWithUV(var52, (double)par3, var46, var30, var36); | |
| var6.addVertexWithUV(var52, (double)par3, var48, var30, var34); | |
| } | |
| } | |
| } | |
| return true; | |
| } | |
| public boolean renderCrossedSquares(Block par1Block, int par2, int par3, int par4) { | |
| Tessellator var5 = Tessellator.instance; | |
| var5.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| float var6 = 1.0F; | |
| int var7 = par1Block.colorMultiplier(this.blockAccess, par2, par3, par4); | |
| float var8 = (float)(var7 >> 16 & 255) / 255.0F; | |
| float var9 = (float)(var7 >> 8 & 255) / 255.0F; | |
| float var10 = (float)(var7 & 255) / 255.0F; | |
| if (EntityRenderer.anaglyphEnable) { | |
| float var11 = (var8 * 30.0F + var9 * 59.0F + var10 * 11.0F) / 100.0F; | |
| float var12 = (var8 * 30.0F + var9 * 70.0F) / 100.0F; | |
| float var13 = (var8 * 30.0F + var10 * 70.0F) / 100.0F; | |
| var8 = var11; | |
| var9 = var12; | |
| var10 = var13; | |
| } | |
| var5.setColorOpaque_F(var6 * var8, var6 * var9, var6 * var10); | |
| double var19 = (double)par2; | |
| double var20 = (double)par3; | |
| double var15 = (double)par4; | |
| if (par1Block == Block.tallGrass) { | |
| long var17 = (long)(par2 * 3129871) ^ (long)par4 * 116129781L ^ (long)par3; | |
| var17 = var17 * var17 * 42317861L + var17 * 11L; | |
| var19 += ((double)((float)(var17 >> 16 & 15L) / 15.0F) - 0.5D) * 0.5D; | |
| var20 += ((double)((float)(var17 >> 20 & 15L) / 15.0F) - 1.0D) * 0.2D; | |
| var15 += ((double)((float)(var17 >> 24 & 15L) / 15.0F) - 0.5D) * 0.5D; | |
| } | |
| this.drawCrossedSquares(par1Block, this.blockAccess.getBlockMetadata(par2, par3, par4), var19, var20, var15); | |
| return true; | |
| } | |
| public boolean renderBlockStem(Block par1Block, int par2, int par3, int par4) { | |
| BlockStem var5 = (BlockStem)par1Block; | |
| Tessellator var6 = Tessellator.instance; | |
| var6.setBrightness(var5.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| float var7 = 1.0F; | |
| int var8 = var5.colorMultiplier(this.blockAccess, par2, par3, par4); | |
| float var9 = (float)(var8 >> 16 & 255) / 255.0F; | |
| float var10 = (float)(var8 >> 8 & 255) / 255.0F; | |
| float var11 = (float)(var8 & 255) / 255.0F; | |
| if (EntityRenderer.anaglyphEnable) { | |
| float var12 = (var9 * 30.0F + var10 * 59.0F + var11 * 11.0F) / 100.0F; | |
| float var13 = (var9 * 30.0F + var10 * 70.0F) / 100.0F; | |
| float var14 = (var9 * 30.0F + var11 * 70.0F) / 100.0F; | |
| var9 = var12; | |
| var10 = var13; | |
| var11 = var14; | |
| } | |
| var6.setColorOpaque_F(var7 * var9, var7 * var10, var7 * var11); | |
| var5.setBlockBoundsBasedOnState(this.blockAccess, par2, par3, par4); | |
| int var15 = var5.func_35296_f(this.blockAccess, par2, par3, par4); | |
| if (var15 < 0) { | |
| this.renderBlockStemSmall(var5, this.blockAccess.getBlockMetadata(par2, par3, par4), var5.maxY, (double)par2, (double)par3, (double)par4); | |
| } else { | |
| this.renderBlockStemSmall(var5, this.blockAccess.getBlockMetadata(par2, par3, par4), 0.5D, (double)par2, (double)par3, (double)par4); | |
| this.renderBlockStemBig(var5, this.blockAccess.getBlockMetadata(par2, par3, par4), var15, var5.maxY, (double)par2, (double)par3, (double)par4); | |
| } | |
| return true; | |
| } | |
| public boolean renderBlockCrops(Block par1Block, int par2, int par3, int par4) { | |
| Tessellator var5 = Tessellator.instance; | |
| var5.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| var5.setColorOpaque_F(1.0F, 1.0F, 1.0F); | |
| this.renderBlockCropsImpl(par1Block, this.blockAccess.getBlockMetadata(par2, par3, par4), (double)par2, (double)((float)par3 - 0.0625F), (double)par4); | |
| return true; | |
| } | |
| public void renderTorchAtAngle(Block par1Block, double par2, double par4, double par6, double par8, double par10) { | |
| Tessellator var12 = Tessellator.instance; | |
| int var13 = par1Block.getBlockTextureFromSide(0); | |
| if (this.overrideBlockTexture >= 0) { | |
| var13 = this.overrideBlockTexture; | |
| } | |
| int var14 = (var13 & 15) << 4; | |
| int var15 = var13 & 240; | |
| float var16 = (float)var14 / 256.0F; | |
| float var17 = ((float)var14 + 15.99F) / 256.0F; | |
| float var18 = (float)var15 / 256.0F; | |
| float var19 = ((float)var15 + 15.99F) / 256.0F; | |
| double var20 = (double)var16 + 0.02734375D; | |
| double var22 = (double)var18 + 0.0234375D; | |
| double var24 = (double)var16 + 0.03515625D; | |
| double var26 = (double)var18 + 0.03125D; | |
| par2 += 0.5D; | |
| par6 += 0.5D; | |
| double var28 = par2 - 0.5D; | |
| double var30 = par2 + 0.5D; | |
| double var32 = par6 - 0.5D; | |
| double var34 = par6 + 0.5D; | |
| double var36 = 0.0625D; | |
| double var38 = 0.625D; | |
| var12.addVertexWithUV(par2 + par8 * (1.0D - var38) - var36, par4 + var38, par6 + par10 * (1.0D - var38) - var36, var20, var22); | |
| var12.addVertexWithUV(par2 + par8 * (1.0D - var38) - var36, par4 + var38, par6 + par10 * (1.0D - var38) + var36, var20, var26); | |
| var12.addVertexWithUV(par2 + par8 * (1.0D - var38) + var36, par4 + var38, par6 + par10 * (1.0D - var38) + var36, var24, var26); | |
| var12.addVertexWithUV(par2 + par8 * (1.0D - var38) + var36, par4 + var38, par6 + par10 * (1.0D - var38) - var36, var24, var22); | |
| var12.addVertexWithUV(par2 - var36, par4 + 1.0D, var32, (double)var16, (double)var18); | |
| var12.addVertexWithUV(par2 - var36 + par8, par4 + 0.0D, var32 + par10, (double)var16, (double)var19); | |
| var12.addVertexWithUV(par2 - var36 + par8, par4 + 0.0D, var34 + par10, (double)var17, (double)var19); | |
| var12.addVertexWithUV(par2 - var36, par4 + 1.0D, var34, (double)var17, (double)var18); | |
| var12.addVertexWithUV(par2 + var36, par4 + 1.0D, var34, (double)var16, (double)var18); | |
| var12.addVertexWithUV(par2 + par8 + var36, par4 + 0.0D, var34 + par10, (double)var16, (double)var19); | |
| var12.addVertexWithUV(par2 + par8 + var36, par4 + 0.0D, var32 + par10, (double)var17, (double)var19); | |
| var12.addVertexWithUV(par2 + var36, par4 + 1.0D, var32, (double)var17, (double)var18); | |
| var12.addVertexWithUV(var28, par4 + 1.0D, par6 + var36, (double)var16, (double)var18); | |
| var12.addVertexWithUV(var28 + par8, par4 + 0.0D, par6 + var36 + par10, (double)var16, (double)var19); | |
| var12.addVertexWithUV(var30 + par8, par4 + 0.0D, par6 + var36 + par10, (double)var17, (double)var19); | |
| var12.addVertexWithUV(var30, par4 + 1.0D, par6 + var36, (double)var17, (double)var18); | |
| var12.addVertexWithUV(var30, par4 + 1.0D, par6 - var36, (double)var16, (double)var18); | |
| var12.addVertexWithUV(var30 + par8, par4 + 0.0D, par6 - var36 + par10, (double)var16, (double)var19); | |
| var12.addVertexWithUV(var28 + par8, par4 + 0.0D, par6 - var36 + par10, (double)var17, (double)var19); | |
| var12.addVertexWithUV(var28, par4 + 1.0D, par6 - var36, (double)var17, (double)var18); | |
| } | |
| // Spout start | |
| public void drawCrossedSquares(Block var1, int var2, double var3, double var5, double var7) { | |
| drawCrossedSquares(var1, var2, var3, var5, var7, false); | |
| } | |
| public void drawCrossedSquares(Block par1Block, int par2, double par3, double par5, double par7, boolean customUV) { | |
| // Spout end | |
| Tessellator var9 = Tessellator.instance; | |
| int var10 = par1Block.getBlockTextureFromSideAndMetadata(0, par2); | |
| if (this.overrideBlockTexture >= 0) { | |
| var10 = this.overrideBlockTexture; | |
| } | |
| int var11 = (var10 & 15) << 4; | |
| int var12 = var10 & 240; | |
| double var13 = (double)((float)var11 / 256.0F); | |
| double var15 = (double)(((float)var11 + 15.99F) / 256.0F); | |
| double var17 = (double)((float)var12 / 256.0F); | |
| double var19 = (double)(((float)var12 + 15.99F) / 256.0F); | |
| double var21 = par3 + 0.5D - 0.45D; | |
| double var23 = par3 + 0.5D + 0.45D; | |
| double var25 = par7 + 0.5D - 0.45D; | |
| double var27 = par7 + 0.5D + 0.45D; | |
| // Spout start | |
| if (customUV) { | |
| var13 = 1; | |
| var15 = 0; | |
| var17 = 1; | |
| var19 = 0; | |
| } | |
| // Spout end | |
| var9.addVertexWithUV(var21, par5 + 1.0D, var25, var13, var17); | |
| var9.addVertexWithUV(var21, par5 + 0.0D, var25, var13, var19); | |
| var9.addVertexWithUV(var23, par5 + 0.0D, var27, var15, var19); | |
| var9.addVertexWithUV(var23, par5 + 1.0D, var27, var15, var17); | |
| var9.addVertexWithUV(var23, par5 + 1.0D, var27, var13, var17); | |
| var9.addVertexWithUV(var23, par5 + 0.0D, var27, var13, var19); | |
| var9.addVertexWithUV(var21, par5 + 0.0D, var25, var15, var19); | |
| var9.addVertexWithUV(var21, par5 + 1.0D, var25, var15, var17); | |
| var9.addVertexWithUV(var21, par5 + 1.0D, var27, var13, var17); | |
| var9.addVertexWithUV(var21, par5 + 0.0D, var27, var13, var19); | |
| var9.addVertexWithUV(var23, par5 + 0.0D, var25, var15, var19); | |
| var9.addVertexWithUV(var23, par5 + 1.0D, var25, var15, var17); | |
| var9.addVertexWithUV(var23, par5 + 1.0D, var25, var13, var17); | |
| var9.addVertexWithUV(var23, par5 + 0.0D, var25, var13, var19); | |
| var9.addVertexWithUV(var21, par5 + 0.0D, var27, var15, var19); | |
| var9.addVertexWithUV(var21, par5 + 1.0D, var27, var15, var17); | |
| } | |
| public void renderBlockStemSmall(Block par1Block, int par2, double par3, double par5, double par7, double par9) { | |
| Tessellator var11 = Tessellator.instance; | |
| int var12 = par1Block.getBlockTextureFromSideAndMetadata(0, par2); | |
| if (this.overrideBlockTexture >= 0) { | |
| var12 = this.overrideBlockTexture; | |
| } | |
| int var13 = (var12 & 15) << 4; | |
| int var14 = var12 & 240; | |
| double var15 = (double)((float)var13 / 256.0F); | |
| double var17 = (double)(((float)var13 + 15.99F) / 256.0F); | |
| double var19 = (double)((float)var14 / 256.0F); | |
| double var21 = ((double)var14 + 15.989999771118164D * par3) / 256.0D; | |
| double var23 = par5 + 0.5D - 0.44999998807907104D; | |
| double var25 = par5 + 0.5D + 0.44999998807907104D; | |
| double var27 = par9 + 0.5D - 0.44999998807907104D; | |
| double var29 = par9 + 0.5D + 0.44999998807907104D; | |
| var11.addVertexWithUV(var23, par7 + par3, var27, var15, var19); | |
| var11.addVertexWithUV(var23, par7 + 0.0D, var27, var15, var21); | |
| var11.addVertexWithUV(var25, par7 + 0.0D, var29, var17, var21); | |
| var11.addVertexWithUV(var25, par7 + par3, var29, var17, var19); | |
| var11.addVertexWithUV(var25, par7 + par3, var29, var15, var19); | |
| var11.addVertexWithUV(var25, par7 + 0.0D, var29, var15, var21); | |
| var11.addVertexWithUV(var23, par7 + 0.0D, var27, var17, var21); | |
| var11.addVertexWithUV(var23, par7 + par3, var27, var17, var19); | |
| var11.addVertexWithUV(var23, par7 + par3, var29, var15, var19); | |
| var11.addVertexWithUV(var23, par7 + 0.0D, var29, var15, var21); | |
| var11.addVertexWithUV(var25, par7 + 0.0D, var27, var17, var21); | |
| var11.addVertexWithUV(var25, par7 + par3, var27, var17, var19); | |
| var11.addVertexWithUV(var25, par7 + par3, var27, var15, var19); | |
| var11.addVertexWithUV(var25, par7 + 0.0D, var27, var15, var21); | |
| var11.addVertexWithUV(var23, par7 + 0.0D, var29, var17, var21); | |
| var11.addVertexWithUV(var23, par7 + par3, var29, var17, var19); | |
| } | |
| public boolean renderBlockLilyPad(Block par1Block, int par2, int par3, int par4) { | |
| Tessellator var5 = Tessellator.instance; | |
| int var6 = par1Block.blockIndexInTexture; | |
| if (this.overrideBlockTexture >= 0) { | |
| var6 = this.overrideBlockTexture; | |
| } | |
| int var7 = (var6 & 15) << 4; | |
| int var8 = var6 & 240; | |
| float var9 = 0.015625F; | |
| double var10 = (double)((float)var7 / 256.0F); | |
| double var12 = (double)(((float)var7 + 15.99F) / 256.0F); | |
| double var14 = (double)((float)var8 / 256.0F); | |
| double var16 = (double)(((float)var8 + 15.99F) / 256.0F); | |
| long var18 = (long)(par2 * 3129871) ^ (long)par4 * 116129781L ^ (long)par3; | |
| var18 = var18 * var18 * 42317861L + var18 * 11L; | |
| int var20 = (int)(var18 >> 16 & 3L); | |
| var5.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| float var21 = (float)par2 + 0.5F; | |
| float var22 = (float)par4 + 0.5F; | |
| float var23 = (float)(var20 & 1) * 0.5F * (float)(1 - var20 / 2 % 2 * 2); | |
| float var24 = (float)(var20 + 1 & 1) * 0.5F * (float)(1 - (var20 + 1) / 2 % 2 * 2); | |
| var5.setColorOpaque_I(par1Block.getBlockColor()); | |
| var5.addVertexWithUV((double)(var21 + var23 - var24), (double)((float)par3 + var9), (double)(var22 + var23 + var24), var10, var14); | |
| var5.addVertexWithUV((double)(var21 + var23 + var24), (double)((float)par3 + var9), (double)(var22 - var23 + var24), var12, var14); | |
| var5.addVertexWithUV((double)(var21 - var23 + var24), (double)((float)par3 + var9), (double)(var22 - var23 - var24), var12, var16); | |
| var5.addVertexWithUV((double)(var21 - var23 - var24), (double)((float)par3 + var9), (double)(var22 + var23 - var24), var10, var16); | |
| var5.setColorOpaque_I((par1Block.getBlockColor() & 16711422) >> 1); | |
| var5.addVertexWithUV((double)(var21 - var23 - var24), (double)((float)par3 + var9), (double)(var22 + var23 - var24), var10, var16); | |
| var5.addVertexWithUV((double)(var21 - var23 + var24), (double)((float)par3 + var9), (double)(var22 - var23 - var24), var12, var16); | |
| var5.addVertexWithUV((double)(var21 + var23 + var24), (double)((float)par3 + var9), (double)(var22 - var23 + var24), var12, var14); | |
| var5.addVertexWithUV((double)(var21 + var23 - var24), (double)((float)par3 + var9), (double)(var22 + var23 + var24), var10, var14); | |
| return true; | |
| } | |
| public void renderBlockStemBig(Block par1Block, int par2, int par3, double par4, double par6, double par8, double par10) { | |
| Tessellator var12 = Tessellator.instance; | |
| int var13 = par1Block.getBlockTextureFromSideAndMetadata(0, par2) + 16; | |
| if (this.overrideBlockTexture >= 0) { | |
| var13 = this.overrideBlockTexture; | |
| } | |
| int var14 = (var13 & 15) << 4; | |
| int var15 = var13 & 240; | |
| double var16 = (double)((float)var14 / 256.0F); | |
| double var18 = (double)(((float)var14 + 15.99F) / 256.0F); | |
| double var20 = (double)((float)var15 / 256.0F); | |
| double var22 = ((double)var15 + 15.989999771118164D * par4) / 256.0D; | |
| double var24 = par6 + 0.5D - 0.5D; | |
| double var26 = par6 + 0.5D + 0.5D; | |
| double var28 = par10 + 0.5D - 0.5D; | |
| double var30 = par10 + 0.5D + 0.5D; | |
| double var32 = par6 + 0.5D; | |
| double var34 = par10 + 0.5D; | |
| if ((par3 + 1) / 2 % 2 == 1) { | |
| double var36 = var18; | |
| var18 = var16; | |
| var16 = var36; | |
| } | |
| if (par3 < 2) { | |
| var12.addVertexWithUV(var24, par8 + par4, var34, var16, var20); | |
| var12.addVertexWithUV(var24, par8 + 0.0D, var34, var16, var22); | |
| var12.addVertexWithUV(var26, par8 + 0.0D, var34, var18, var22); | |
| var12.addVertexWithUV(var26, par8 + par4, var34, var18, var20); | |
| var12.addVertexWithUV(var26, par8 + par4, var34, var18, var20); | |
| var12.addVertexWithUV(var26, par8 + 0.0D, var34, var18, var22); | |
| var12.addVertexWithUV(var24, par8 + 0.0D, var34, var16, var22); | |
| var12.addVertexWithUV(var24, par8 + par4, var34, var16, var20); | |
| } else { | |
| var12.addVertexWithUV(var32, par8 + par4, var30, var16, var20); | |
| var12.addVertexWithUV(var32, par8 + 0.0D, var30, var16, var22); | |
| var12.addVertexWithUV(var32, par8 + 0.0D, var28, var18, var22); | |
| var12.addVertexWithUV(var32, par8 + par4, var28, var18, var20); | |
| var12.addVertexWithUV(var32, par8 + par4, var28, var18, var20); | |
| var12.addVertexWithUV(var32, par8 + 0.0D, var28, var18, var22); | |
| var12.addVertexWithUV(var32, par8 + 0.0D, var30, var16, var22); | |
| var12.addVertexWithUV(var32, par8 + par4, var30, var16, var20); | |
| } | |
| } | |
| public void renderBlockCropsImpl(Block par1Block, int par2, double par3, double par5, double par7) { | |
| Tessellator var9 = Tessellator.instance; | |
| int var10 = par1Block.getBlockTextureFromSideAndMetadata(0, par2); | |
| if (this.overrideBlockTexture >= 0) { | |
| var10 = this.overrideBlockTexture; | |
| } | |
| int var11 = (var10 & 15) << 4; | |
| int var12 = var10 & 240; | |
| double var13 = (double)((float)var11 / 256.0F); | |
| double var15 = (double)(((float)var11 + 15.99F) / 256.0F); | |
| double var17 = (double)((float)var12 / 256.0F); | |
| double var19 = (double)(((float)var12 + 15.99F) / 256.0F); | |
| double var21 = par3 + 0.5D - 0.25D; | |
| double var23 = par3 + 0.5D + 0.25D; | |
| double var25 = par7 + 0.5D - 0.5D; | |
| double var27 = par7 + 0.5D + 0.5D; | |
| var9.addVertexWithUV(var21, par5 + 1.0D, var25, var13, var17); | |
| var9.addVertexWithUV(var21, par5 + 0.0D, var25, var13, var19); | |
| var9.addVertexWithUV(var21, par5 + 0.0D, var27, var15, var19); | |
| var9.addVertexWithUV(var21, par5 + 1.0D, var27, var15, var17); | |
| var9.addVertexWithUV(var21, par5 + 1.0D, var27, var13, var17); | |
| var9.addVertexWithUV(var21, par5 + 0.0D, var27, var13, var19); | |
| var9.addVertexWithUV(var21, par5 + 0.0D, var25, var15, var19); | |
| var9.addVertexWithUV(var21, par5 + 1.0D, var25, var15, var17); | |
| var9.addVertexWithUV(var23, par5 + 1.0D, var27, var13, var17); | |
| var9.addVertexWithUV(var23, par5 + 0.0D, var27, var13, var19); | |
| var9.addVertexWithUV(var23, par5 + 0.0D, var25, var15, var19); | |
| var9.addVertexWithUV(var23, par5 + 1.0D, var25, var15, var17); | |
| var9.addVertexWithUV(var23, par5 + 1.0D, var25, var13, var17); | |
| var9.addVertexWithUV(var23, par5 + 0.0D, var25, var13, var19); | |
| var9.addVertexWithUV(var23, par5 + 0.0D, var27, var15, var19); | |
| var9.addVertexWithUV(var23, par5 + 1.0D, var27, var15, var17); | |
| var21 = par3 + 0.5D - 0.5D; | |
| var23 = par3 + 0.5D + 0.5D; | |
| var25 = par7 + 0.5D - 0.25D; | |
| var27 = par7 + 0.5D + 0.25D; | |
| var9.addVertexWithUV(var21, par5 + 1.0D, var25, var13, var17); | |
| var9.addVertexWithUV(var21, par5 + 0.0D, var25, var13, var19); | |
| var9.addVertexWithUV(var23, par5 + 0.0D, var25, var15, var19); | |
| var9.addVertexWithUV(var23, par5 + 1.0D, var25, var15, var17); | |
| var9.addVertexWithUV(var23, par5 + 1.0D, var25, var13, var17); | |
| var9.addVertexWithUV(var23, par5 + 0.0D, var25, var13, var19); | |
| var9.addVertexWithUV(var21, par5 + 0.0D, var25, var15, var19); | |
| var9.addVertexWithUV(var21, par5 + 1.0D, var25, var15, var17); | |
| var9.addVertexWithUV(var23, par5 + 1.0D, var27, var13, var17); | |
| var9.addVertexWithUV(var23, par5 + 0.0D, var27, var13, var19); | |
| var9.addVertexWithUV(var21, par5 + 0.0D, var27, var15, var19); | |
| var9.addVertexWithUV(var21, par5 + 1.0D, var27, var15, var17); | |
| var9.addVertexWithUV(var21, par5 + 1.0D, var27, var13, var17); | |
| var9.addVertexWithUV(var21, par5 + 0.0D, var27, var13, var19); | |
| var9.addVertexWithUV(var23, par5 + 0.0D, var27, var15, var19); | |
| var9.addVertexWithUV(var23, par5 + 1.0D, var27, var15, var17); | |
| } | |
| public boolean renderBlockFluids(Block par1Block, int par2, int par3, int par4) { | |
| Tessellator var5 = Tessellator.instance; | |
| int var6 = par1Block.colorMultiplier(this.blockAccess, par2, par3, par4); | |
| float var7 = (float)(var6 >> 16 & 255) / 255.0F; | |
| float var8 = (float)(var6 >> 8 & 255) / 255.0F; | |
| float var9 = (float)(var6 & 255) / 255.0F; | |
| boolean var10 = par1Block.shouldSideBeRendered(this.blockAccess, par2, par3 + 1, par4, 1); | |
| boolean var11 = par1Block.shouldSideBeRendered(this.blockAccess, par2, par3 - 1, par4, 0); | |
| boolean[] var12 = new boolean[]{par1Block.shouldSideBeRendered(this.blockAccess, par2, par3, par4 - 1, 2), par1Block.shouldSideBeRendered(this.blockAccess, par2, par3, par4 + 1, 3), par1Block.shouldSideBeRendered(this.blockAccess, par2 - 1, par3, par4, 4), par1Block.shouldSideBeRendered(this.blockAccess, par2 + 1, par3, par4, 5)}; | |
| if (!var10 && !var11 && !var12[0] && !var12[1] && !var12[2] && !var12[3]) { | |
| return false; | |
| } else { | |
| boolean var13 = false; | |
| float var14 = 0.5F; | |
| float var15 = 1.0F; | |
| float var16 = 0.8F; | |
| float var17 = 0.6F; | |
| double var18 = 0.0D; | |
| double var20 = 1.0D; | |
| Material var22 = par1Block.blockMaterial; | |
| int var23 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| double var24 = (double)this.getFluidHeight(par2, par3, par4, var22); | |
| double var26 = (double)this.getFluidHeight(par2, par3, par4 + 1, var22); | |
| double var28 = (double)this.getFluidHeight(par2 + 1, par3, par4 + 1, var22); | |
| double var30 = (double)this.getFluidHeight(par2 + 1, par3, par4, var22); | |
| double var32 = 0.0010000000474974513D; | |
| int var34; | |
| int var37; | |
| if (this.renderAllFaces || var10) { | |
| var13 = true; | |
| var34 = par1Block.getBlockTextureFromSideAndMetadata(1, var23); | |
| float var35 = (float)BlockFluid.func_293_a(this.blockAccess, par2, par3, par4, var22); | |
| if (var35 > -999.0F) { | |
| var34 = par1Block.getBlockTextureFromSideAndMetadata(2, var23); | |
| } | |
| var24 -= var32; | |
| var26 -= var32; | |
| var28 -= var32; | |
| var30 -= var32; | |
| int var36 = (var34 & 15) << 4; | |
| var37 = var34 & 240; | |
| double var38 = ((double)var36 + 8.0D) / 256.0D; | |
| double var40 = ((double)var37 + 8.0D) / 256.0D; | |
| if (var35 < -999.0F) { | |
| var35 = 0.0F; | |
| } else { | |
| var38 = (double)((float)(var36 + 16) / 256.0F); | |
| var40 = (double)((float)(var37 + 16) / 256.0F); | |
| } | |
| double var42 = (double)(MathHelper.sin(var35) * 8.0F) / 256.0D; | |
| double var44 = (double)(MathHelper.cos(var35) * 8.0F) / 256.0D; | |
| var5.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); | |
| float var46 = 1.0F; | |
| var5.setColorOpaque_F(var15 * var46 * var7, var15 * var46 * var8, var15 * var46 * var9); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)par3 + var24, (double)(par4 + 0), var38 - var44 - var42, var40 - var44 + var42); | |
| var5.addVertexWithUV((double)(par2 + 0), (double)par3 + var26, (double)(par4 + 1), var38 - var44 + var42, var40 + var44 + var42); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)par3 + var28, (double)(par4 + 1), var38 + var44 + var42, var40 + var44 - var42); | |
| var5.addVertexWithUV((double)(par2 + 1), (double)par3 + var30, (double)(par4 + 0), var38 + var44 - var42, var40 - var44 - var42); | |
| } | |
| if (this.renderAllFaces || var11) { | |
| var5.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4)); | |
| float var65 = 1.0F; | |
| var5.setColorOpaque_F(var14 * var65, var14 * var65, var14 * var65); | |
| this.renderBottomFace(par1Block, (double)par2, (double)par3 + var32, (double)par4, par1Block.getBlockTextureFromSide(0)); | |
| var13 = true; | |
| } | |
| for (var34 = 0; var34 < 4; ++var34) { | |
| int var64 = par2; | |
| var37 = par4; | |
| if (var34 == 0) { | |
| var37 = par4 - 1; | |
| } | |
| if (var34 == 1) { | |
| ++var37; | |
| } | |
| if (var34 == 2) { | |
| var64 = par2 - 1; | |
| } | |
| if (var34 == 3) { | |
| ++var64; | |
| } | |
| int var66 = par1Block.getBlockTextureFromSideAndMetadata(var34 + 2, var23); | |
| int var39 = (var66 & 15) << 4; | |
| int var67 = var66 & 240; | |
| if (this.renderAllFaces || var12[var34]) { | |
| double var43; | |
| double var41; | |
| double var47; | |
| double var45; | |
| double var51; | |
| double var49; | |
| if (var34 == 0) { | |
| var41 = var24; | |
| var43 = var30; | |
| var45 = (double)par2; | |
| var49 = (double)(par2 + 1); | |
| var47 = (double)par4 + var32; | |
| var51 = (double)par4 + var32; | |
| } else if (var34 == 1) { | |
| var41 = var28; | |
| var43 = var26; | |
| var45 = (double)(par2 + 1); | |
| var49 = (double)par2; | |
| var47 = (double)(par4 + 1) - var32; | |
| var51 = (double)(par4 + 1) - var32; | |
| } else if (var34 == 2) { | |
| var41 = var26; | |
| var43 = var24; | |
| var45 = (double)par2 + var32; | |
| var49 = (double)par2 + var32; | |
| var47 = (double)(par4 + 1); | |
| var51 = (double)par4; | |
| } else { | |
| var41 = var30; | |
| var43 = var28; | |
| var45 = (double)(par2 + 1) - var32; | |
| var49 = (double)(par2 + 1) - var32; | |
| var47 = (double)par4; | |
| var51 = (double)(par4 + 1); | |
| } | |
| var13 = true; | |
| double var53 = (double)((float)(var39 + 0) / 256.0F); | |
| double var55 = ((double)(var39 + 16) - 0.01D) / 256.0D; | |
| double var57 = ((double)var67 + (1.0D - var41) * 16.0D) / 256.0D; | |
| double var59 = ((double)var67 + (1.0D - var43) * 16.0D) / 256.0D; | |
| double var61 = ((double)(var67 + 16) - 0.01D) / 256.0D; | |
| var5.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, var64, par3, var37)); | |
| float var63 = 1.0F; | |
| if (var34 < 2) { | |
| var63 *= var16; | |
| } else { | |
| var63 *= var17; | |
| } | |
| var5.setColorOpaque_F(var15 * var63 * var7, var15 * var63 * var8, var15 * var63 * var9); | |
| var5.addVertexWithUV(var45, (double)par3 + var41, var47, var53, var57); | |
| var5.addVertexWithUV(var49, (double)par3 + var43, var51, var55, var59); | |
| var5.addVertexWithUV(var49, (double)(par3 + 0), var51, var55, var61); | |
| var5.addVertexWithUV(var45, (double)(par3 + 0), var47, var53, var61); | |
| } | |
| } | |
| par1Block.minY = var18; | |
| par1Block.maxY = var20; | |
| return var13; | |
| } | |
| } | |
| private float getFluidHeight(int par1, int par2, int par3, Material par4Material) { | |
| int var5 = 0; | |
| float var6 = 0.0F; | |
| for (int var7 = 0; var7 < 4; ++var7) { | |
| int var8 = par1 - (var7 & 1); | |
| int var10 = par3 - (var7 >> 1 & 1); | |
| if (this.blockAccess.getBlockMaterial(var8, par2 + 1, var10) == par4Material) { | |
| return 1.0F; | |
| } | |
| Material var11 = this.blockAccess.getBlockMaterial(var8, par2, var10); | |
| if (var11 == par4Material) { | |
| int var12 = this.blockAccess.getBlockMetadata(var8, par2, var10); | |
| if (var12 >= 8 || var12 == 0) { | |
| var6 += BlockFluid.getFluidHeightPercent(var12) * 10.0F; | |
| var5 += 10; | |
| } | |
| var6 += BlockFluid.getFluidHeightPercent(var12); | |
| ++var5; | |
| } else if (!var11.isSolid()) { | |
| ++var6; | |
| ++var5; | |
| } | |
| } | |
| return 1.0F - var6 / (float)var5; | |
| } | |
| public void renderBlockFallingSand(Block par1Block, World par2World, int par3, int par4, int par5) { | |
| float var6 = 0.5F; | |
| float var7 = 1.0F; | |
| float var8 = 0.8F; | |
| float var9 = 0.6F; | |
| Tessellator var10 = Tessellator.instance; | |
| var10.startDrawingQuads(); | |
| var10.setBrightness(par1Block.getMixedBrightnessForBlock(par2World, par3, par4, par5)); | |
| float var11 = 1.0F; | |
| float var12 = 1.0F; | |
| if (var12 < var11) { | |
| var12 = var11; | |
| } | |
| //Spout HD Start | |
| Colorizer.setColorF(Colorizer.colorizeBlock(par1Block, par3, par4, par5, 0)); | |
| var10.setColorOpaque_F(Colorizer.setColor[0] * var12, Colorizer.setColor[1] * var12, Colorizer.setColor[2] * var12); | |
| this.renderBottomFace(par1Block, -0.5D, -0.5D, -0.5D, par1Block.getBlockTextureFromSide(0)); | |
| var12 = 1.0F; | |
| if (var12 < var11) { | |
| var12 = var11; | |
| } | |
| var10.setColorOpaque_F(Colorizer.setColor[0] * var12, Colorizer.setColor[1] * var12, Colorizer.setColor[2] * var12); | |
| this.renderTopFace(par1Block, -0.5D, -0.5D, -0.5D, par1Block.getBlockTextureFromSide(1)); | |
| var12 = 1.0F; | |
| if (var12 < var11) { | |
| var12 = var11; | |
| } | |
| var10.setColorOpaque_F(Colorizer.setColor[0] * var12, Colorizer.setColor[1] * var12, Colorizer.setColor[2] * var12); | |
| this.renderEastFace(par1Block, -0.5D, -0.5D, -0.5D, par1Block.getBlockTextureFromSide(2)); | |
| var12 = 1.0F; | |
| if (var12 < var11) { | |
| var12 = var11; | |
| } | |
| var10.setColorOpaque_F(Colorizer.setColor[0] * var12, Colorizer.setColor[1] * var12, Colorizer.setColor[2] * var12); | |
| this.renderWestFace(par1Block, -0.5D, -0.5D, -0.5D, par1Block.getBlockTextureFromSide(3)); | |
| var12 = 1.0F; | |
| if (var12 < var11) { | |
| var12 = var11; | |
| } | |
| var10.setColorOpaque_F(Colorizer.setColor[0] * var12, Colorizer.setColor[1] * var12, Colorizer.setColor[2] * var12); | |
| this.renderNorthFace(par1Block, -0.5D, -0.5D, -0.5D, par1Block.getBlockTextureFromSide(4)); | |
| var12 = 1.0F; | |
| if (var12 < var11) { | |
| var12 = var11; | |
| } | |
| var10.setColorOpaque_F(Colorizer.setColor[0] * var12, Colorizer.setColor[1] * var12, Colorizer.setColor[2] * var12); | |
| //Spout HD end | |
| this.renderSouthFace(par1Block, -0.5D, -0.5D, -0.5D, par1Block.getBlockTextureFromSide(5)); | |
| var10.draw(); | |
| } | |
| public boolean renderStandardBlock(Block par1Block, int par2, int par3, int par4) { | |
| int var5 = par1Block.colorMultiplier(this.blockAccess, par2, par3, par4); | |
| float var6 = (float)(var5 >> 16 & 255) / 255.0F; | |
| float var7 = (float)(var5 >> 8 & 255) / 255.0F; | |
| float var8 = (float)(var5 & 255) / 255.0F; | |
| if (EntityRenderer.anaglyphEnable) { | |
| float var9 = (var6 * 30.0F + var7 * 59.0F + var8 * 11.0F) / 100.0F; | |
| float var10 = (var6 * 30.0F + var7 * 70.0F) / 100.0F; | |
| float var11 = (var6 * 30.0F + var8 * 70.0F) / 100.0F; | |
| var6 = var9; | |
| var7 = var10; | |
| var8 = var11; | |
| } | |
| return Minecraft.isAmbientOcclusionEnabled() && Block.lightValue[par1Block.blockID] == 0?this.renderStandardBlockWithAmbientOcclusion(par1Block, par2, par3, par4, var6, var7, var8):this.renderStandardBlockWithColorMultiplier(par1Block, par2, par3, par4, var6, var7, var8); | |
| } | |
| public boolean renderStandardBlockWithAmbientOcclusion(Block par1Block, int par2, int par3, int par4, float par5, float par6, float par7) { | |
| this.enableAO = true; | |
| boolean var8 = false; | |
| //Spout start | |
| this.dirtyAmbientOcclusionCache = true; | |
| /* removed | |
| float var9 = this.lightValueOwn; | |
| float var10 = this.lightValueOwn; | |
| float var11 = this.lightValueOwn; | |
| float var12 = this.lightValueOwn; | |
| */ | |
| float var9, var10, var11, var12; | |
| //Spout end | |
| boolean var13 = true; | |
| boolean var14 = true; | |
| boolean var15 = true; | |
| boolean var16 = true; | |
| boolean var17 = true; | |
| boolean var18 = true; | |
| //Spout start | |
| /* removed | |
| this.lightValueOwn = var1.getAmbientOcclusionLightValue(this.blockAccess, var2, var3, var4); | |
| this.aoLightValueXNeg = var1.getAmbientOcclusionLightValue(this.blockAccess, var2 - 1, var3, var4); | |
| this.aoLightValueYNeg = var1.getAmbientOcclusionLightValue(this.blockAccess, var2, var3 - 1, var4); | |
| this.aoLightValueZNeg = var1.getAmbientOcclusionLightValue(this.blockAccess, var2, var3, var4 - 1); | |
| this.aoLightValueXPos = var1.getAmbientOcclusionLightValue(this.blockAccess, var2 + 1, var3, var4); | |
| this.aoLightValueYPos = var1.getAmbientOcclusionLightValue(this.blockAccess, var2, var3 + 1, var4); | |
| this.aoLightValueZPos = var1.getAmbientOcclusionLightValue(this.blockAccess, var2, var3, var4 + 1); | |
| */ | |
| //Spout end | |
| int var19 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4); | |
| //Spout start | |
| int var20 = var19; | |
| int var21 = var19; | |
| int var22 = var19; | |
| int var23 = var19; | |
| int var24 = var19; | |
| int var25 = var19; | |
| /* removed | |
| if (par1Block.minY <= 0.0D) { | |
| var21 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4); | |
| } | |
| if (par1Block.maxY >= 1.0D) { | |
| var24 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4); | |
| } | |
| if (par1Block.minX <= 0.0D) { | |
| var20 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4); | |
| } | |
| if (par1Block.maxX >= 1.0D) { | |
| var23 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4); | |
| } | |
| if (par1Block.minZ <= 0.0D) { | |
| var22 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 - 1); | |
| } | |
| if (par1Block.maxZ >= 1.0D) { | |
| var25 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 + 1); | |
| } | |
| this.aoGrassXYZPPC = Block.canBlockGrass[this.blockAccess.getBlockId(par2 + 1, par3 + 1, par4)]; | |
| this.aoGrassXYZPNC = Block.canBlockGrass[this.blockAccess.getBlockId(par2 + 1, par3 - 1, par4)]; | |
| this.aoGrassXYZPCP = Block.canBlockGrass[this.blockAccess.getBlockId(par2 + 1, par3, par4 + 1)]; | |
| this.aoGrassXYZPCN = Block.canBlockGrass[this.blockAccess.getBlockId(par2 + 1, par3, par4 - 1)]; | |
| this.aoGrassXYZNPC = Block.canBlockGrass[this.blockAccess.getBlockId(par2 - 1, par3 + 1, par4)]; | |
| this.aoGrassXYZNNC = Block.canBlockGrass[this.blockAccess.getBlockId(par2 - 1, par3 - 1, par4)]; | |
| this.aoGrassXYZNCN = Block.canBlockGrass[this.blockAccess.getBlockId(par2 - 1, par3, par4 - 1)]; | |
| this.aoGrassXYZNCP = Block.canBlockGrass[this.blockAccess.getBlockId(par2 - 1, par3, par4 + 1)]; | |
| this.aoGrassXYZCPP = Block.canBlockGrass[this.blockAccess.getBlockId(par2, par3 + 1, par4 + 1)]; | |
| this.aoGrassXYZCPN = Block.canBlockGrass[this.blockAccess.getBlockId(par2, par3 + 1, par4 - 1)]; | |
| this.aoGrassXYZCNP = Block.canBlockGrass[this.blockAccess.getBlockId(par2, par3 - 1, par4 + 1)]; | |
| this.aoGrassXYZCNN = Block.canBlockGrass[this.blockAccess.getBlockId(par2, par3 - 1, par4 - 1)]; | |
| */ | |
| //Spout end | |
| Tessellator var26 = Tessellator.instance; | |
| var26.setBrightness(983055); | |
| if (par1Block.blockIndexInTexture == 3) { | |
| var18 = false; | |
| var17 = false; | |
| var16 = false; | |
| var15 = false; | |
| var13 = false; | |
| // Spout HD start | |
| if (par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 2) == 0) { | |
| var15 = true; | |
| } | |
| if (par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 3) == 0) { | |
| var16 = true; | |
| } | |
| if (par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 4) == 0) { | |
| var17 = true; | |
| } | |
| if (par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 5) == 0) { | |
| var18 = true; | |
| } | |
| // Spout HD end | |
| } | |
| if (this.overrideBlockTexture >= 0) { | |
| var18 = false; | |
| var17 = false; | |
| var16 = false; | |
| var15 = false; | |
| var13 = false; | |
| // Spout HD start | |
| if (par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 2) == 0) { | |
| var15 = true; | |
| } | |
| if (par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 3) == 0) { | |
| var16 = true; | |
| } | |
| if (par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 4) == 0) { | |
| var17 = true; | |
| } | |
| if (par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 5) == 0) { | |
| var18 = true; | |
| } | |
| // Spout HD end | |
| } | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3 - 1, par4, 0)) { | |
| //Spout start | |
| if(this.dirtyAmbientOcclusionCache) { | |
| this.calculateAmbientOcclusionLightValues(par1Block, par2, par3, par4); | |
| } | |
| if (par1Block.minY <= 0.0D) { | |
| var21 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4); | |
| } | |
| //Spout end | |
| if (this.aoType > 0) { | |
| if (par1Block.minY <= 0.0D) { | |
| --par3; | |
| } | |
| this.aoBrightnessXYNN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4); | |
| this.aoBrightnessYZNN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 - 1); | |
| this.aoBrightnessYZNP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 + 1); | |
| this.aoBrightnessXYPN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4); | |
| this.aoLightValueScratchXYNN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 - 1, par3, par4); | |
| this.aoLightValueScratchYZNN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3, par4 - 1); | |
| this.aoLightValueScratchYZNP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3, par4 + 1); | |
| this.aoLightValueScratchXYPN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 + 1, par3, par4); | |
| if (!this.aoGrassXYZCNN && !this.aoGrassXYZNNC) { | |
| this.aoLightValueScratchXYZNNN = this.aoLightValueScratchXYNN; | |
| this.aoBrightnessXYZNNN = this.aoBrightnessXYNN; | |
| } else { | |
| this.aoLightValueScratchXYZNNN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 - 1, par3, par4 - 1); | |
| this.aoBrightnessXYZNNN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4 - 1); | |
| } | |
| if (!this.aoGrassXYZCNP && !this.aoGrassXYZNNC) { | |
| this.aoLightValueScratchXYZNNP = this.aoLightValueScratchXYNN; | |
| this.aoBrightnessXYZNNP = this.aoBrightnessXYNN; | |
| } else { | |
| this.aoLightValueScratchXYZNNP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 - 1, par3, par4 + 1); | |
| this.aoBrightnessXYZNNP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4 + 1); | |
| } | |
| if (!this.aoGrassXYZCNN && !this.aoGrassXYZPNC) { | |
| this.aoLightValueScratchXYZPNN = this.aoLightValueScratchXYPN; | |
| this.aoBrightnessXYZPNN = this.aoBrightnessXYPN; | |
| } else { | |
| this.aoLightValueScratchXYZPNN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 + 1, par3, par4 - 1); | |
| this.aoBrightnessXYZPNN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4 - 1); | |
| } | |
| if (!this.aoGrassXYZCNP && !this.aoGrassXYZPNC) { | |
| this.aoLightValueScratchXYZPNP = this.aoLightValueScratchXYPN; | |
| this.aoBrightnessXYZPNP = this.aoBrightnessXYPN; | |
| } else { | |
| this.aoLightValueScratchXYZPNP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 + 1, par3, par4 + 1); | |
| this.aoBrightnessXYZPNP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4 + 1); | |
| } | |
| if (par1Block.minY <= 0.0D) { | |
| ++par3; | |
| } | |
| //Spout Start | |
| if(org.spoutcraft.client.config.ConfigReader.fancyLight && org.spoutcraft.client.config.ConfigReader.smoothLighting > 0F) { | |
| this.aoLightValueScratchXYZNNP = adjustAmbientOcclusion(this.aoLightValueScratchXYZNNP, this.aoLightValueYNeg); | |
| this.aoLightValueScratchXYNN = adjustAmbientOcclusion(this.aoLightValueScratchXYNN, this.aoLightValueYNeg); | |
| this.aoLightValueScratchYZNP = adjustAmbientOcclusion(this.aoLightValueScratchYZNP, this.aoLightValueYNeg); | |
| this.aoLightValueScratchXYZPNP = adjustAmbientOcclusion(this.aoLightValueScratchXYZPNP, this.aoLightValueYNeg); | |
| this.aoLightValueScratchXYPN = adjustAmbientOcclusion(this.aoLightValueScratchXYPN, this.aoLightValueYNeg); | |
| this.aoLightValueScratchYZNN = adjustAmbientOcclusion(this.aoLightValueScratchYZNN, this.aoLightValueYNeg); | |
| this.aoLightValueScratchXYZPNN = adjustAmbientOcclusion(this.aoLightValueScratchXYZPNN, this.aoLightValueYNeg); | |
| this.aoLightValueScratchXYZNNN = adjustAmbientOcclusion(this.aoLightValueScratchXYZNNN, this.aoLightValueYNeg); | |
| } | |
| //Spout end | |
| var9 = (this.aoLightValueScratchXYZNNP + this.aoLightValueScratchXYNN + this.aoLightValueScratchYZNP + this.aoLightValueYNeg) / 4.0F; | |
| var12 = (this.aoLightValueScratchYZNP + this.aoLightValueYNeg + this.aoLightValueScratchXYZPNP + this.aoLightValueScratchXYPN) / 4.0F; | |
| var11 = (this.aoLightValueYNeg + this.aoLightValueScratchYZNN + this.aoLightValueScratchXYPN + this.aoLightValueScratchXYZPNN) / 4.0F; | |
| var10 = (this.aoLightValueScratchXYNN + this.aoLightValueScratchXYZNNN + this.aoLightValueYNeg + this.aoLightValueScratchYZNN) / 4.0F; | |
| this.brightnessTopLeft = this.getAoBrightness(this.aoBrightnessXYZNNP, this.aoBrightnessXYNN, this.aoBrightnessYZNP, var21); | |
| this.brightnessTopRight = this.getAoBrightness(this.aoBrightnessYZNP, this.aoBrightnessXYZPNP, this.aoBrightnessXYPN, var21); | |
| this.brightnessBottomRight = this.getAoBrightness(this.aoBrightnessYZNN, this.aoBrightnessXYPN, this.aoBrightnessXYZPNN, var21); | |
| this.brightnessBottomLeft = this.getAoBrightness(this.aoBrightnessXYNN, this.aoBrightnessXYZNNN, this.aoBrightnessYZNN, var21); | |
| } else { | |
| var12 = this.aoLightValueYNeg; | |
| var11 = this.aoLightValueYNeg; | |
| var10 = this.aoLightValueYNeg; | |
| var9 = this.aoLightValueYNeg; | |
| this.brightnessTopLeft = this.brightnessBottomLeft = this.brightnessBottomRight = this.brightnessTopRight = this.aoBrightnessXYNN; | |
| } | |
| this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = (var13?par5:1.0F) * 0.5F; | |
| this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = (var13?par6:1.0F) * 0.5F; | |
| this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = (var13?par7:1.0F) * 0.5F; | |
| this.colorRedTopLeft *= var9; | |
| this.colorGreenTopLeft *= var9; | |
| this.colorBlueTopLeft *= var9; | |
| this.colorRedBottomLeft *= var10; | |
| this.colorGreenBottomLeft *= var10; | |
| this.colorBlueBottomLeft *= var10; | |
| this.colorRedBottomRight *= var11; | |
| this.colorGreenBottomRight *= var11; | |
| this.colorBlueBottomRight *= var11; | |
| this.colorRedTopRight *= var12; | |
| this.colorGreenTopRight *= var12; | |
| this.colorBlueTopRight *= var12; | |
| this.renderBottomFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 0)); | |
| var8 = true; | |
| } | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3 + 1, par4, 1)) { | |
| //Spout start | |
| if(this.dirtyAmbientOcclusionCache) { | |
| this.calculateAmbientOcclusionLightValues(par1Block, par2, par3, par4); | |
| } | |
| if (par1Block.maxY >= 1.0D) { | |
| var24 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4); | |
| } | |
| //Spout end | |
| if (this.aoType > 0) { | |
| if (par1Block.maxY >= 1.0D) { | |
| ++par3; | |
| } | |
| this.aoBrightnessXYNP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4); | |
| this.aoBrightnessXYPP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4); | |
| this.aoBrightnessYZPN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 - 1); | |
| this.aoBrightnessYZPP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 + 1); | |
| this.aoLightValueScratchXYNP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 - 1, par3, par4); | |
| this.aoLightValueScratchXYPP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 + 1, par3, par4); | |
| this.aoLightValueScratchYZPN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3, par4 - 1); | |
| this.aoLightValueScratchYZPP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3, par4 + 1); | |
| if (!this.aoGrassXYZCPN && !this.aoGrassXYZNPC) { | |
| this.aoLightValueScratchXYZNPN = this.aoLightValueScratchXYNP; | |
| this.aoBrightnessXYZNPN = this.aoBrightnessXYNP; | |
| } else { | |
| this.aoLightValueScratchXYZNPN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 - 1, par3, par4 - 1); | |
| this.aoBrightnessXYZNPN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4 - 1); | |
| } | |
| if (!this.aoGrassXYZCPN && !this.aoGrassXYZPPC) { | |
| this.aoLightValueScratchXYZPPN = this.aoLightValueScratchXYPP; | |
| this.aoBrightnessXYZPPN = this.aoBrightnessXYPP; | |
| } else { | |
| this.aoLightValueScratchXYZPPN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 + 1, par3, par4 - 1); | |
| this.aoBrightnessXYZPPN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4 - 1); | |
| } | |
| if (!this.aoGrassXYZCPP && !this.aoGrassXYZNPC) { | |
| this.aoLightValueScratchXYZNPP = this.aoLightValueScratchXYNP; | |
| this.aoBrightnessXYZNPP = this.aoBrightnessXYNP; | |
| } else { | |
| this.aoLightValueScratchXYZNPP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 - 1, par3, par4 + 1); | |
| this.aoBrightnessXYZNPP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4 + 1); | |
| } | |
| if (!this.aoGrassXYZCPP && !this.aoGrassXYZPPC) { | |
| this.aoLightValueScratchXYZPPP = this.aoLightValueScratchXYPP; | |
| this.aoBrightnessXYZPPP = this.aoBrightnessXYPP; | |
| } else { | |
| this.aoLightValueScratchXYZPPP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 + 1, par3, par4 + 1); | |
| this.aoBrightnessXYZPPP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4 + 1); | |
| } | |
| if (par1Block.maxY >= 1.0D) { | |
| --par3; | |
| } | |
| //Spout start | |
| if(org.spoutcraft.client.config.ConfigReader.fancyLight && org.spoutcraft.client.config.ConfigReader.smoothLighting > 0F) { | |
| this.aoLightValueScratchXYZNPP = adjustAmbientOcclusion(this.aoLightValueScratchXYZNPP, this.aoLightValueYPos); | |
| this.aoLightValueScratchXYNP = adjustAmbientOcclusion(this.aoLightValueScratchXYNP, this.aoLightValueYPos); | |
| this.aoLightValueScratchYZPP = adjustAmbientOcclusion(this.aoLightValueScratchYZPP, this.aoLightValueYPos); | |
| this.aoLightValueScratchXYZPPP = adjustAmbientOcclusion(this.aoLightValueScratchXYZPPP, this.aoLightValueYPos); | |
| this.aoLightValueScratchXYPP = adjustAmbientOcclusion(this.aoLightValueScratchXYPP, this.aoLightValueYPos); | |
| this.aoLightValueScratchYZPN = adjustAmbientOcclusion(this.aoLightValueScratchYZPN, this.aoLightValueYPos); | |
| this.aoLightValueScratchXYZPPN = adjustAmbientOcclusion(this.aoLightValueScratchXYZPPN, this.aoLightValueYPos); | |
| this.aoLightValueScratchXYZNPN = adjustAmbientOcclusion(this.aoLightValueScratchXYZNPN, this.aoLightValueYPos); | |
| } | |
| //Spout end | |
| var12 = (this.aoLightValueScratchXYZNPP + this.aoLightValueScratchXYNP + this.aoLightValueScratchYZPP + this.aoLightValueYPos) / 4.0F; | |
| var9 = (this.aoLightValueScratchYZPP + this.aoLightValueYPos + this.aoLightValueScratchXYZPPP + this.aoLightValueScratchXYPP) / 4.0F; | |
| var10 = (this.aoLightValueYPos + this.aoLightValueScratchYZPN + this.aoLightValueScratchXYPP + this.aoLightValueScratchXYZPPN) / 4.0F; | |
| var11 = (this.aoLightValueScratchXYNP + this.aoLightValueScratchXYZNPN + this.aoLightValueYPos + this.aoLightValueScratchYZPN) / 4.0F; | |
| this.brightnessTopRight = this.getAoBrightness(this.aoBrightnessXYZNPP, this.aoBrightnessXYNP, this.aoBrightnessYZPP, var24); | |
| this.brightnessTopLeft = this.getAoBrightness(this.aoBrightnessYZPP, this.aoBrightnessXYZPPP, this.aoBrightnessXYPP, var24); | |
| this.brightnessBottomLeft = this.getAoBrightness(this.aoBrightnessYZPN, this.aoBrightnessXYPP, this.aoBrightnessXYZPPN, var24); | |
| this.brightnessBottomRight = this.getAoBrightness(this.aoBrightnessXYNP, this.aoBrightnessXYZNPN, this.aoBrightnessYZPN, var24); | |
| } else { | |
| var12 = this.aoLightValueYPos; | |
| var11 = this.aoLightValueYPos; | |
| var10 = this.aoLightValueYPos; | |
| var9 = this.aoLightValueYPos; | |
| this.brightnessTopLeft = this.brightnessBottomLeft = this.brightnessBottomRight = this.brightnessTopRight = var24; | |
| } | |
| this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = var14?par5:1.0F; | |
| this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = var14?par6:1.0F; | |
| this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = var14?par7:1.0F; | |
| this.colorRedTopLeft *= var9; | |
| this.colorGreenTopLeft *= var9; | |
| this.colorBlueTopLeft *= var9; | |
| this.colorRedBottomLeft *= var10; | |
| this.colorGreenBottomLeft *= var10; | |
| this.colorBlueBottomLeft *= var10; | |
| this.colorRedBottomRight *= var11; | |
| this.colorGreenBottomRight *= var11; | |
| this.colorBlueBottomRight *= var11; | |
| this.colorRedTopRight *= var12; | |
| this.colorGreenTopRight *= var12; | |
| this.colorBlueTopRight *= var12; | |
| this.renderTopFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 1)); | |
| var8 = true; | |
| } | |
| int var27; | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3, par4 - 1, 2)) { | |
| //Spout start | |
| if(this.dirtyAmbientOcclusionCache) { | |
| this.calculateAmbientOcclusionLightValues(par1Block, par2, par3, par4); | |
| } | |
| if (par1Block.minZ <= 0.0D) { | |
| var22 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 - 1); | |
| } | |
| //Spout end | |
| if (this.aoType > 0) { | |
| if (par1Block.minZ <= 0.0D) { | |
| --par4; | |
| } | |
| this.aoLightValueScratchXZNN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 - 1, par3, par4); | |
| this.aoLightValueScratchYZNN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 - 1, par4); | |
| this.aoLightValueScratchYZPN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 + 1, par4); | |
| this.aoLightValueScratchXZPN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 + 1, par3, par4); | |
| this.aoBrightnessXZNN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4); | |
| this.aoBrightnessYZNN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4); | |
| this.aoBrightnessYZPN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4); | |
| this.aoBrightnessXZPN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4); | |
| if (!this.aoGrassXYZNCN && !this.aoGrassXYZCNN) { | |
| this.aoLightValueScratchXYZNNN = this.aoLightValueScratchXZNN; | |
| this.aoBrightnessXYZNNN = this.aoBrightnessXZNN; | |
| } else { | |
| this.aoLightValueScratchXYZNNN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 - 1, par3 - 1, par4); | |
| this.aoBrightnessXYZNNN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3 - 1, par4); | |
| } | |
| if (!this.aoGrassXYZNCN && !this.aoGrassXYZCPN) { | |
| this.aoLightValueScratchXYZNPN = this.aoLightValueScratchXZNN; | |
| this.aoBrightnessXYZNPN = this.aoBrightnessXZNN; | |
| } else { | |
| this.aoLightValueScratchXYZNPN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 - 1, par3 + 1, par4); | |
| this.aoBrightnessXYZNPN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3 + 1, par4); | |
| } | |
| if (!this.aoGrassXYZPCN && !this.aoGrassXYZCNN) { | |
| this.aoLightValueScratchXYZPNN = this.aoLightValueScratchXZPN; | |
| this.aoBrightnessXYZPNN = this.aoBrightnessXZPN; | |
| } else { | |
| this.aoLightValueScratchXYZPNN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 + 1, par3 - 1, par4); | |
| this.aoBrightnessXYZPNN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3 - 1, par4); | |
| } | |
| if (!this.aoGrassXYZPCN && !this.aoGrassXYZCPN) { | |
| this.aoLightValueScratchXYZPPN = this.aoLightValueScratchXZPN; | |
| this.aoBrightnessXYZPPN = this.aoBrightnessXZPN; | |
| } else { | |
| this.aoLightValueScratchXYZPPN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 + 1, par3 + 1, par4); | |
| this.aoBrightnessXYZPPN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3 + 1, par4); | |
| } | |
| if (par1Block.minZ <= 0.0D) { | |
| ++par4; | |
| } | |
| //Spout start | |
| if(org.spoutcraft.client.config.ConfigReader.fancyLight && org.spoutcraft.client.config.ConfigReader.smoothLighting > 0F) { | |
| this.aoLightValueScratchXZNN = adjustAmbientOcclusion(this.aoLightValueScratchXZNN, this.aoLightValueZNeg); | |
| this.aoLightValueScratchXYZNPN = adjustAmbientOcclusion(this.aoLightValueScratchXYZNPN, this.aoLightValueZNeg); | |
| this.aoLightValueScratchYZPN = adjustAmbientOcclusion(this.aoLightValueScratchYZPN, this.aoLightValueZNeg); | |
| this.aoLightValueScratchXZPN = adjustAmbientOcclusion(this.aoLightValueScratchXZPN, this.aoLightValueZNeg); | |
| this.aoLightValueScratchXYZPPN = adjustAmbientOcclusion(this.aoLightValueScratchXYZPPN, this.aoLightValueZNeg); | |
| this.aoLightValueScratchYZNN = adjustAmbientOcclusion(this.aoLightValueScratchYZNN, this.aoLightValueZNeg); | |
| this.aoLightValueScratchXYZPNN = adjustAmbientOcclusion(this.aoLightValueScratchXYZPNN, this.aoLightValueZNeg); | |
| this.aoLightValueScratchXYZNNN = adjustAmbientOcclusion(this.aoLightValueScratchXYZNNN, this.aoLightValueZNeg); | |
| } | |
| //Spout end | |
| var9 = (this.aoLightValueScratchXZNN + this.aoLightValueScratchXYZNPN + this.aoLightValueZNeg + this.aoLightValueScratchYZPN) / 4.0F; | |
| var10 = (this.aoLightValueZNeg + this.aoLightValueScratchYZPN + this.aoLightValueScratchXZPN + this.aoLightValueScratchXYZPPN) / 4.0F; | |
| var11 = (this.aoLightValueScratchYZNN + this.aoLightValueZNeg + this.aoLightValueScratchXYZPNN + this.aoLightValueScratchXZPN) / 4.0F; | |
| var12 = (this.aoLightValueScratchXYZNNN + this.aoLightValueScratchXZNN + this.aoLightValueScratchYZNN + this.aoLightValueZNeg) / 4.0F; | |
| this.brightnessTopLeft = this.getAoBrightness(this.aoBrightnessXZNN, this.aoBrightnessXYZNPN, this.aoBrightnessYZPN, var22); | |
| this.brightnessBottomLeft = this.getAoBrightness(this.aoBrightnessYZPN, this.aoBrightnessXZPN, this.aoBrightnessXYZPPN, var22); | |
| this.brightnessBottomRight = this.getAoBrightness(this.aoBrightnessYZNN, this.aoBrightnessXYZPNN, this.aoBrightnessXZPN, var22); | |
| this.brightnessTopRight = this.getAoBrightness(this.aoBrightnessXYZNNN, this.aoBrightnessXZNN, this.aoBrightnessYZNN, var22); | |
| } else { | |
| var12 = this.aoLightValueZNeg; | |
| var11 = this.aoLightValueZNeg; | |
| var10 = this.aoLightValueZNeg; | |
| var9 = this.aoLightValueZNeg; | |
| this.brightnessTopLeft = this.brightnessBottomLeft = this.brightnessBottomRight = this.brightnessTopRight = var22; | |
| } | |
| this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = (var15?par5:1.0F) * 0.8F; | |
| this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = (var15?par6:1.0F) * 0.8F; | |
| this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = (var15?par7:1.0F) * 0.8F; | |
| this.colorRedTopLeft *= var9; | |
| this.colorGreenTopLeft *= var9; | |
| this.colorBlueTopLeft *= var9; | |
| this.colorRedBottomLeft *= var10; | |
| this.colorGreenBottomLeft *= var10; | |
| this.colorBlueBottomLeft *= var10; | |
| this.colorRedBottomRight *= var11; | |
| this.colorGreenBottomRight *= var11; | |
| this.colorBlueBottomRight *= var11; | |
| this.colorRedTopRight *= var12; | |
| this.colorGreenTopRight *= var12; | |
| this.colorBlueTopRight *= var12; | |
| var27 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 2); | |
| //Spout start | |
| if (ConfigReader.betterGrass != 0) { | |
| if(var27 == 3) { | |
| var27 = getSideGrassTexture(this.blockAccess, par2, par3, par4, 2); | |
| if(var27 == 0) { | |
| this.colorRedTopLeft *= par5; | |
| this.colorRedBottomLeft *= par5; | |
| this.colorRedBottomRight *= par5; | |
| this.colorRedTopRight *= par5; | |
| this.colorGreenTopLeft *= par6; | |
| this.colorGreenBottomLeft *= par6; | |
| this.colorGreenBottomRight *= par6; | |
| this.colorGreenTopRight *= par6; | |
| this.colorBlueTopLeft *= par7; | |
| this.colorBlueBottomLeft *= par7; | |
| this.colorBlueBottomRight *= par7; | |
| this.colorBlueTopRight *= par7; | |
| var27 = 38; | |
| } | |
| } | |
| if(var27 == 68) { | |
| var27 = getSideSnowGrassTexture(this.blockAccess, par2, par3, par4, 2); | |
| } | |
| } | |
| //Spout end | |
| this.renderEastFace(par1Block, (double)par2, (double)par3, (double)par4, var27); | |
| var8 = true; | |
| } | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3, par4 + 1, 3)) { | |
| //Spout start | |
| if(this.dirtyAmbientOcclusionCache) { | |
| this.calculateAmbientOcclusionLightValues(par1Block, par2, par3, par4); | |
| } | |
| if (par1Block.maxZ >= 1.0D) { | |
| var25 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 + 1); | |
| } | |
| //Spout end | |
| if (this.aoType > 0) { | |
| if (par1Block.maxZ >= 1.0D) { | |
| ++par4; | |
| } | |
| this.aoLightValueScratchXZNP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 - 1, par3, par4); | |
| this.aoLightValueScratchXZPP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 + 1, par3, par4); | |
| this.aoLightValueScratchYZNP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 - 1, par4); | |
| this.aoLightValueScratchYZPP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 + 1, par4); | |
| this.aoBrightnessXZNP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4); | |
| this.aoBrightnessXZPP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4); | |
| this.aoBrightnessYZNP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4); | |
| this.aoBrightnessYZPP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4); | |
| if (!this.aoGrassXYZNCP && !this.aoGrassXYZCNP) { | |
| this.aoLightValueScratchXYZNNP = this.aoLightValueScratchXZNP; | |
| this.aoBrightnessXYZNNP = this.aoBrightnessXZNP; | |
| } else { | |
| this.aoLightValueScratchXYZNNP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 - 1, par3 - 1, par4); | |
| this.aoBrightnessXYZNNP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3 - 1, par4); | |
| } | |
| if (!this.aoGrassXYZNCP && !this.aoGrassXYZCPP) { | |
| this.aoLightValueScratchXYZNPP = this.aoLightValueScratchXZNP; | |
| this.aoBrightnessXYZNPP = this.aoBrightnessXZNP; | |
| } else { | |
| this.aoLightValueScratchXYZNPP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 - 1, par3 + 1, par4); | |
| this.aoBrightnessXYZNPP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3 + 1, par4); | |
| } | |
| if (!this.aoGrassXYZPCP && !this.aoGrassXYZCNP) { | |
| this.aoLightValueScratchXYZPNP = this.aoLightValueScratchXZPP; | |
| this.aoBrightnessXYZPNP = this.aoBrightnessXZPP; | |
| } else { | |
| this.aoLightValueScratchXYZPNP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 + 1, par3 - 1, par4); | |
| this.aoBrightnessXYZPNP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3 - 1, par4); | |
| } | |
| if (!this.aoGrassXYZPCP && !this.aoGrassXYZCPP) { | |
| this.aoLightValueScratchXYZPPP = this.aoLightValueScratchXZPP; | |
| this.aoBrightnessXYZPPP = this.aoBrightnessXZPP; | |
| } else { | |
| this.aoLightValueScratchXYZPPP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 + 1, par3 + 1, par4); | |
| this.aoBrightnessXYZPPP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3 + 1, par4); | |
| } | |
| if (par1Block.maxZ >= 1.0D) { | |
| --par4; | |
| } | |
| //Spout start | |
| if(org.spoutcraft.client.config.ConfigReader.fancyLight && org.spoutcraft.client.config.ConfigReader.smoothLighting > 0F) { | |
| this.aoLightValueScratchXZNP = adjustAmbientOcclusion(this.aoLightValueScratchXZNP, this.aoLightValueZPos); | |
| this.aoLightValueScratchXYZNPP = adjustAmbientOcclusion(this.aoLightValueScratchXYZNPP, this.aoLightValueZPos); | |
| this.aoLightValueScratchYZPP = adjustAmbientOcclusion(this.aoLightValueScratchYZPP, this.aoLightValueZPos); | |
| this.aoLightValueScratchXZPP = adjustAmbientOcclusion(this.aoLightValueScratchXZPP, this.aoLightValueZPos); | |
| this.aoLightValueScratchXYZPPP = adjustAmbientOcclusion(this.aoLightValueScratchXYZPPP, this.aoLightValueZPos); | |
| this.aoLightValueScratchYZNP = adjustAmbientOcclusion(this.aoLightValueScratchYZNP, this.aoLightValueZPos); | |
| this.aoLightValueScratchXYZPNP = adjustAmbientOcclusion(this.aoLightValueScratchXYZPNP, this.aoLightValueZPos); | |
| this.aoLightValueScratchXYZNNP = adjustAmbientOcclusion(this.aoLightValueScratchXYZNNP, this.aoLightValueZPos); | |
| } | |
| //Spout end | |
| var9 = (this.aoLightValueScratchXZNP + this.aoLightValueScratchXYZNPP + this.aoLightValueZPos + this.aoLightValueScratchYZPP) / 4.0F; | |
| var12 = (this.aoLightValueZPos + this.aoLightValueScratchYZPP + this.aoLightValueScratchXZPP + this.aoLightValueScratchXYZPPP) / 4.0F; | |
| var11 = (this.aoLightValueScratchYZNP + this.aoLightValueZPos + this.aoLightValueScratchXYZPNP + this.aoLightValueScratchXZPP) / 4.0F; | |
| var10 = (this.aoLightValueScratchXYZNNP + this.aoLightValueScratchXZNP + this.aoLightValueScratchYZNP + this.aoLightValueZPos) / 4.0F; | |
| this.brightnessTopLeft = this.getAoBrightness(this.aoBrightnessXZNP, this.aoBrightnessXYZNPP, this.aoBrightnessYZPP, var25); | |
| this.brightnessTopRight = this.getAoBrightness(this.aoBrightnessYZPP, this.aoBrightnessXZPP, this.aoBrightnessXYZPPP, var25); | |
| this.brightnessBottomRight = this.getAoBrightness(this.aoBrightnessYZNP, this.aoBrightnessXYZPNP, this.aoBrightnessXZPP, var25); | |
| this.brightnessBottomLeft = this.getAoBrightness(this.aoBrightnessXYZNNP, this.aoBrightnessXZNP, this.aoBrightnessYZNP, var25); | |
| } else { | |
| var12 = this.aoLightValueZPos; | |
| var11 = this.aoLightValueZPos; | |
| var10 = this.aoLightValueZPos; | |
| var9 = this.aoLightValueZPos; | |
| this.brightnessTopLeft = this.brightnessBottomLeft = this.brightnessBottomRight = this.brightnessTopRight = var25; | |
| } | |
| this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = (var16?par5:1.0F) * 0.8F; | |
| this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = (var16?par6:1.0F) * 0.8F; | |
| this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = (var16?par7:1.0F) * 0.8F; | |
| this.colorRedTopLeft *= var9; | |
| this.colorGreenTopLeft *= var9; | |
| this.colorBlueTopLeft *= var9; | |
| this.colorRedBottomLeft *= var10; | |
| this.colorGreenBottomLeft *= var10; | |
| this.colorBlueBottomLeft *= var10; | |
| this.colorRedBottomRight *= var11; | |
| this.colorGreenBottomRight *= var11; | |
| this.colorBlueBottomRight *= var11; | |
| this.colorRedTopRight *= var12; | |
| this.colorGreenTopRight *= var12; | |
| this.colorBlueTopRight *= var12; | |
| var27 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 3); | |
| //Spout start | |
| if (ConfigReader.betterGrass != 0) { | |
| if(var27 == 3) { | |
| var27 = getSideGrassTexture(this.blockAccess, par2, par3, par4, 3); | |
| if(var27 == 0) { | |
| this.colorRedTopLeft *= par5; | |
| this.colorRedBottomLeft *= par5; | |
| this.colorRedBottomRight *= par5; | |
| this.colorRedTopRight *= par5; | |
| this.colorGreenTopLeft *= par6; | |
| this.colorGreenBottomLeft *= par6; | |
| this.colorGreenBottomRight *= par6; | |
| this.colorGreenTopRight *= par6; | |
| this.colorBlueTopLeft *= par7; | |
| this.colorBlueBottomLeft *= par7; | |
| this.colorBlueBottomRight *= par7; | |
| this.colorBlueTopRight *= par7; | |
| var27 = 38; | |
| } | |
| } | |
| if(var27 == 68) { | |
| var27 = getSideSnowGrassTexture(this.blockAccess, par2, par3, par4, 3); | |
| } | |
| } | |
| //Spout end | |
| this.renderWestFace(par1Block, (double)par2, (double)par3, (double)par4, var27); | |
| var8 = true; | |
| } | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2 - 1, par3, par4, 4)) { | |
| //Spout start | |
| if(this.dirtyAmbientOcclusionCache) { | |
| this.calculateAmbientOcclusionLightValues(par1Block, par2, par3, par4); | |
| } | |
| if (par1Block.minX <= 0.0D) { | |
| var20 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4); | |
| } | |
| //Spout end | |
| if (this.aoType > 0) { | |
| if (par1Block.minX <= 0.0D) { | |
| --par2; | |
| } | |
| this.aoLightValueScratchXYNN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 - 1, par4); | |
| this.aoLightValueScratchXZNN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3, par4 - 1); | |
| this.aoLightValueScratchXZNP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3, par4 + 1); | |
| this.aoLightValueScratchXYNP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 + 1, par4); | |
| this.aoBrightnessXYNN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4); | |
| this.aoBrightnessXZNN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 - 1); | |
| this.aoBrightnessXZNP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 + 1); | |
| this.aoBrightnessXYNP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4); | |
| if (!this.aoGrassXYZNCN && !this.aoGrassXYZNNC) { | |
| this.aoLightValueScratchXYZNNN = this.aoLightValueScratchXZNN; | |
| this.aoBrightnessXYZNNN = this.aoBrightnessXZNN; | |
| } else { | |
| this.aoLightValueScratchXYZNNN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 - 1, par4 - 1); | |
| this.aoBrightnessXYZNNN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4 - 1); | |
| } | |
| if (!this.aoGrassXYZNCP && !this.aoGrassXYZNNC) { | |
| this.aoLightValueScratchXYZNNP = this.aoLightValueScratchXZNP; | |
| this.aoBrightnessXYZNNP = this.aoBrightnessXZNP; | |
| } else { | |
| this.aoLightValueScratchXYZNNP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 - 1, par4 + 1); | |
| this.aoBrightnessXYZNNP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4 + 1); | |
| } | |
| if (!this.aoGrassXYZNCN && !this.aoGrassXYZNPC) { | |
| this.aoLightValueScratchXYZNPN = this.aoLightValueScratchXZNN; | |
| this.aoBrightnessXYZNPN = this.aoBrightnessXZNN; | |
| } else { | |
| this.aoLightValueScratchXYZNPN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 + 1, par4 - 1); | |
| this.aoBrightnessXYZNPN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4 - 1); | |
| } | |
| if (!this.aoGrassXYZNCP && !this.aoGrassXYZNPC) { | |
| this.aoLightValueScratchXYZNPP = this.aoLightValueScratchXZNP; | |
| this.aoBrightnessXYZNPP = this.aoBrightnessXZNP; | |
| } else { | |
| this.aoLightValueScratchXYZNPP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 + 1, par4 + 1); | |
| this.aoBrightnessXYZNPP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4 + 1); | |
| } | |
| if (par1Block.minX <= 0.0D) { | |
| ++par2; | |
| } | |
| //Spout start | |
| if(org.spoutcraft.client.config.ConfigReader.fancyLight && org.spoutcraft.client.config.ConfigReader.smoothLighting > 0F) { | |
| this.aoLightValueScratchXYNN = adjustAmbientOcclusion(this.aoLightValueScratchXYNN, this.aoLightValueXNeg); | |
| this.aoLightValueScratchXYZNNP = adjustAmbientOcclusion(this.aoLightValueScratchXYZNNP, this.aoLightValueXNeg); | |
| this.aoLightValueScratchXZNP = adjustAmbientOcclusion(this.aoLightValueScratchXZNP, this.aoLightValueXNeg); | |
| this.aoLightValueScratchXYNP = adjustAmbientOcclusion(this.aoLightValueScratchXYNP, this.aoLightValueXNeg); | |
| this.aoLightValueScratchXYZNPP = adjustAmbientOcclusion(this.aoLightValueScratchXYZNPP, this.aoLightValueXNeg); | |
| this.aoLightValueScratchXZNN = adjustAmbientOcclusion(this.aoLightValueScratchXZNN, this.aoLightValueXNeg); | |
| this.aoLightValueScratchXYZNPN = adjustAmbientOcclusion(this.aoLightValueScratchXYZNPN, this.aoLightValueXNeg); | |
| this.aoLightValueScratchXYZNNN = adjustAmbientOcclusion(this.aoLightValueScratchXYZNNN, this.aoLightValueXNeg); | |
| } | |
| //Spout end | |
| var12 = (this.aoLightValueScratchXYNN + this.aoLightValueScratchXYZNNP + this.aoLightValueXNeg + this.aoLightValueScratchXZNP) / 4.0F; | |
| var9 = (this.aoLightValueXNeg + this.aoLightValueScratchXZNP + this.aoLightValueScratchXYNP + this.aoLightValueScratchXYZNPP) / 4.0F; | |
| var10 = (this.aoLightValueScratchXZNN + this.aoLightValueXNeg + this.aoLightValueScratchXYZNPN + this.aoLightValueScratchXYNP) / 4.0F; | |
| var11 = (this.aoLightValueScratchXYZNNN + this.aoLightValueScratchXYNN + this.aoLightValueScratchXZNN + this.aoLightValueXNeg) / 4.0F; | |
| this.brightnessTopRight = this.getAoBrightness(this.aoBrightnessXYNN, this.aoBrightnessXYZNNP, this.aoBrightnessXZNP, var20); | |
| this.brightnessTopLeft = this.getAoBrightness(this.aoBrightnessXZNP, this.aoBrightnessXYNP, this.aoBrightnessXYZNPP, var20); | |
| this.brightnessBottomLeft = this.getAoBrightness(this.aoBrightnessXZNN, this.aoBrightnessXYZNPN, this.aoBrightnessXYNP, var20); | |
| this.brightnessBottomRight = this.getAoBrightness(this.aoBrightnessXYZNNN, this.aoBrightnessXYNN, this.aoBrightnessXZNN, var20); | |
| } else { | |
| var12 = this.aoLightValueXNeg; | |
| var11 = this.aoLightValueXNeg; | |
| var10 = this.aoLightValueXNeg; | |
| var9 = this.aoLightValueXNeg; | |
| this.brightnessTopLeft = this.brightnessBottomLeft = this.brightnessBottomRight = this.brightnessTopRight = var20; | |
| } | |
| this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = (var17?par5:1.0F) * 0.6F; | |
| this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = (var17?par6:1.0F) * 0.6F; | |
| this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = (var17?par7:1.0F) * 0.6F; | |
| this.colorRedTopLeft *= var9; | |
| this.colorGreenTopLeft *= var9; | |
| this.colorBlueTopLeft *= var9; | |
| this.colorRedBottomLeft *= var10; | |
| this.colorGreenBottomLeft *= var10; | |
| this.colorBlueBottomLeft *= var10; | |
| this.colorRedBottomRight *= var11; | |
| this.colorGreenBottomRight *= var11; | |
| this.colorBlueBottomRight *= var11; | |
| this.colorRedTopRight *= var12; | |
| this.colorGreenTopRight *= var12; | |
| this.colorBlueTopRight *= var12; | |
| var27 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 4); | |
| //Spout start | |
| if (ConfigReader.betterGrass != 0) { | |
| if(var27 == 3) { | |
| var27 = getSideGrassTexture(this.blockAccess, par2, par3, par4, 4); | |
| if(var27 == 0) { | |
| this.colorRedTopLeft *= par5; | |
| this.colorRedBottomLeft *= par5; | |
| this.colorRedBottomRight *= par5; | |
| this.colorRedTopRight *= par5; | |
| this.colorGreenTopLeft *= par6; | |
| this.colorGreenBottomLeft *= par6; | |
| this.colorGreenBottomRight *= par6; | |
| this.colorGreenTopRight *= par6; | |
| this.colorBlueTopLeft *= par7; | |
| this.colorBlueBottomLeft *= par7; | |
| this.colorBlueBottomRight *= par7; | |
| this.colorBlueTopRight *= par7; | |
| var27 = 38; | |
| } | |
| } | |
| if(var27 == 68) { | |
| var27 = getSideSnowGrassTexture(this.blockAccess, par2, par3, par4, 4); | |
| } | |
| } | |
| //Spout end | |
| this.renderNorthFace(par1Block, (double)par2, (double)par3, (double)par4, var27); | |
| var8 = true; | |
| } | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2 + 1, par3, par4, 5)) { | |
| //Spout start | |
| if(this.dirtyAmbientOcclusionCache) { | |
| this.calculateAmbientOcclusionLightValues(par1Block, par2, par3, par4); | |
| } | |
| if (par1Block.maxX >= 1.0D) { | |
| var23 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4); | |
| } | |
| //Spout end | |
| if (this.aoType > 0) { | |
| if (par1Block.maxX >= 1.0D) { | |
| ++par2; | |
| } | |
| this.aoLightValueScratchXYPN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 - 1, par4); | |
| this.aoLightValueScratchXZPN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3, par4 - 1); | |
| this.aoLightValueScratchXZPP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3, par4 + 1); | |
| this.aoLightValueScratchXYPP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 + 1, par4); | |
| this.aoBrightnessXYPN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4); | |
| this.aoBrightnessXZPN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 - 1); | |
| this.aoBrightnessXZPP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 + 1); | |
| this.aoBrightnessXYPP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4); | |
| if (!this.aoGrassXYZPNC && !this.aoGrassXYZPCN) { | |
| this.aoLightValueScratchXYZPNN = this.aoLightValueScratchXZPN; | |
| this.aoBrightnessXYZPNN = this.aoBrightnessXZPN; | |
| } else { | |
| this.aoLightValueScratchXYZPNN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 - 1, par4 - 1); | |
| this.aoBrightnessXYZPNN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4 - 1); | |
| } | |
| if (!this.aoGrassXYZPNC && !this.aoGrassXYZPCP) { | |
| this.aoLightValueScratchXYZPNP = this.aoLightValueScratchXZPP; | |
| this.aoBrightnessXYZPNP = this.aoBrightnessXZPP; | |
| } else { | |
| this.aoLightValueScratchXYZPNP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 - 1, par4 + 1); | |
| this.aoBrightnessXYZPNP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4 + 1); | |
| } | |
| if (!this.aoGrassXYZPPC && !this.aoGrassXYZPCN) { | |
| this.aoLightValueScratchXYZPPN = this.aoLightValueScratchXZPN; | |
| this.aoBrightnessXYZPPN = this.aoBrightnessXZPN; | |
| } else { | |
| this.aoLightValueScratchXYZPPN = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 + 1, par4 - 1); | |
| this.aoBrightnessXYZPPN = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4 - 1); | |
| } | |
| if (!this.aoGrassXYZPPC && !this.aoGrassXYZPCP) { | |
| this.aoLightValueScratchXYZPPP = this.aoLightValueScratchXZPP; | |
| this.aoBrightnessXYZPPP = this.aoBrightnessXZPP; | |
| } else { | |
| this.aoLightValueScratchXYZPPP = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 + 1, par4 + 1); | |
| this.aoBrightnessXYZPPP = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4 + 1); | |
| } | |
| if (par1Block.maxX >= 1.0D) { | |
| --par2; | |
| } | |
| //Spout start | |
| if(org.spoutcraft.client.config.ConfigReader.fancyLight && org.spoutcraft.client.config.ConfigReader.smoothLighting > 0F) { | |
| this.aoLightValueScratchXYPN = adjustAmbientOcclusion(this.aoLightValueScratchXYPN, this.aoLightValueXPos); | |
| this.aoLightValueScratchXYZPNP = adjustAmbientOcclusion(this.aoLightValueScratchXYZPNP, this.aoLightValueXPos); | |
| this.aoLightValueScratchXZPP = adjustAmbientOcclusion(this.aoLightValueScratchXZPP, this.aoLightValueXPos); | |
| this.aoLightValueScratchXYPP = adjustAmbientOcclusion(this.aoLightValueScratchXYPP, this.aoLightValueXPos); | |
| this.aoLightValueScratchXYZPPP = adjustAmbientOcclusion(this.aoLightValueScratchXYZPPP, this.aoLightValueXPos); | |
| this.aoLightValueScratchXZPN = adjustAmbientOcclusion(this.aoLightValueScratchXZPN, this.aoLightValueXPos); | |
| this.aoLightValueScratchXYZPPN = adjustAmbientOcclusion(this.aoLightValueScratchXYZPPN, this.aoLightValueXPos); | |
| this.aoLightValueScratchXYZPNN = adjustAmbientOcclusion(this.aoLightValueScratchXYZPNN, this.aoLightValueXPos); | |
| } | |
| //Spout end | |
| var9 = (this.aoLightValueScratchXYPN + this.aoLightValueScratchXYZPNP + this.aoLightValueXPos + this.aoLightValueScratchXZPP) / 4.0F; | |
| var12 = (this.aoLightValueXPos + this.aoLightValueScratchXZPP + this.aoLightValueScratchXYPP + this.aoLightValueScratchXYZPPP) / 4.0F; | |
| var11 = (this.aoLightValueScratchXZPN + this.aoLightValueXPos + this.aoLightValueScratchXYZPPN + this.aoLightValueScratchXYPP) / 4.0F; | |
| var10 = (this.aoLightValueScratchXYZPNN + this.aoLightValueScratchXYPN + this.aoLightValueScratchXZPN + this.aoLightValueXPos) / 4.0F; | |
| this.brightnessTopLeft = this.getAoBrightness(this.aoBrightnessXYPN, this.aoBrightnessXYZPNP, this.aoBrightnessXZPP, var23); | |
| this.brightnessTopRight = this.getAoBrightness(this.aoBrightnessXZPP, this.aoBrightnessXYPP, this.aoBrightnessXYZPPP, var23); | |
| this.brightnessBottomRight = this.getAoBrightness(this.aoBrightnessXZPN, this.aoBrightnessXYZPPN, this.aoBrightnessXYPP, var23); | |
| this.brightnessBottomLeft = this.getAoBrightness(this.aoBrightnessXYZPNN, this.aoBrightnessXYPN, this.aoBrightnessXZPN, var23); | |
| } else { | |
| var12 = this.aoLightValueXPos; | |
| var11 = this.aoLightValueXPos; | |
| var10 = this.aoLightValueXPos; | |
| var9 = this.aoLightValueXPos; | |
| this.brightnessTopLeft = this.brightnessBottomLeft = this.brightnessBottomRight = this.brightnessTopRight = var23; | |
| } | |
| this.colorRedTopLeft = this.colorRedBottomLeft = this.colorRedBottomRight = this.colorRedTopRight = (var18?par5:1.0F) * 0.6F; | |
| this.colorGreenTopLeft = this.colorGreenBottomLeft = this.colorGreenBottomRight = this.colorGreenTopRight = (var18?par6:1.0F) * 0.6F; | |
| this.colorBlueTopLeft = this.colorBlueBottomLeft = this.colorBlueBottomRight = this.colorBlueTopRight = (var18?par7:1.0F) * 0.6F; | |
| this.colorRedTopLeft *= var9; | |
| this.colorGreenTopLeft *= var9; | |
| this.colorBlueTopLeft *= var9; | |
| this.colorRedBottomLeft *= var10; | |
| this.colorGreenBottomLeft *= var10; | |
| this.colorBlueBottomLeft *= var10; | |
| this.colorRedBottomRight *= var11; | |
| this.colorGreenBottomRight *= var11; | |
| this.colorBlueBottomRight *= var11; | |
| this.colorRedTopRight *= var12; | |
| this.colorGreenTopRight *= var12; | |
| this.colorBlueTopRight *= var12; | |
| var27 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 5); | |
| //Spout start | |
| if (ConfigReader.betterGrass != 0) { | |
| if(var27 == 3) { | |
| var27 = getSideGrassTexture(this.blockAccess, par2, par3, par4, 5); | |
| if(var27 == 0) { | |
| this.colorRedTopLeft *= par5; | |
| this.colorRedBottomLeft *= par5; | |
| this.colorRedBottomRight *= par5; | |
| this.colorRedTopRight *= par5; | |
| this.colorGreenTopLeft *= par6; | |
| this.colorGreenBottomLeft *= par6; | |
| this.colorGreenBottomRight *= par6; | |
| this.colorGreenTopRight *= par6; | |
| this.colorBlueTopLeft *= par7; | |
| this.colorBlueBottomLeft *= par7; | |
| this.colorBlueBottomRight *= par7; | |
| this.colorBlueTopRight *= par7; | |
| var27 = 38; | |
| } | |
| } | |
| if(var27 == 68) { | |
| var27 = getSideSnowGrassTexture(this.blockAccess, par2, par3, par4, 5); | |
| } | |
| } | |
| //Spout end | |
| this.renderSouthFace(par1Block, (double)par2, (double)par3, (double)par4, var27); | |
| var8 = true; | |
| } | |
| this.enableAO = false; | |
| return var8; | |
| } | |
| private int getAoBrightness(int par1, int par2, int par3, int par4) { | |
| if (par1 == 0) { | |
| par1 = par4; | |
| } | |
| if (par2 == 0) { | |
| par2 = par4; | |
| } | |
| if (par3 == 0) { | |
| par3 = par4; | |
| } | |
| return par1 + par2 + par3 + par4 >> 2 & 16711935; | |
| } | |
| public boolean renderStandardBlockWithColorMultiplier(Block par1Block, int par2, int par3, int par4, float par5, float par6, float par7) { | |
| this.enableAO = false; | |
| Tessellator var8 = Tessellator.instance; | |
| boolean var9 = false; | |
| float var10 = 0.5F; | |
| float var11 = 1.0F; | |
| float var12 = 0.8F; | |
| float var13 = 0.6F; | |
| float var14 = var11 * par5; | |
| float var15 = var11 * par6; | |
| float var16 = var11 * par7; | |
| float var17 = var10; | |
| float var18 = var12; | |
| float var19 = var13; | |
| float var20 = var10; | |
| float var21 = var12; | |
| float var22 = var13; | |
| float var23 = var10; | |
| float var24 = var12; | |
| float var25 = var13; | |
| if (par1Block != Block.grass) { | |
| var17 = var10 * par5; | |
| var18 = var12 * par5; | |
| var19 = var13 * par5; | |
| var20 = var10 * par6; | |
| var21 = var12 * par6; | |
| var22 = var13 * par6; | |
| var23 = var10 * par7; | |
| var24 = var12 * par7; | |
| var25 = var13 * par7; | |
| } | |
| int var26 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4); | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3 - 1, par4, 0)) { | |
| var8.setBrightness(par1Block.minY > 0.0D?var26:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4)); | |
| var8.setColorOpaque_F(var17, var20, var23); | |
| this.renderBottomFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 0)); | |
| var9 = true; | |
| } | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3 + 1, par4, 1)) { | |
| var8.setBrightness(par1Block.maxY < 1.0D?var26:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4)); | |
| var8.setColorOpaque_F(var14, var15, var16); | |
| this.renderTopFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 1)); | |
| var9 = true; | |
| } | |
| int var28; | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3, par4 - 1, 2)) { | |
| var8.setBrightness(par1Block.minZ > 0.0D?var26:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 - 1)); | |
| var8.setColorOpaque_F(var18, var21, var24); | |
| var28 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 2); | |
| //Spout start | |
| if(var28 == 0) { | |
| var8.setColorOpaque_F(par5 * par5, par6 * par6, par7 * par7); | |
| } | |
| //Spout end | |
| if (fancyGrass && var28 == 3 && this.overrideBlockTexture < 0) { | |
| var8.setColorOpaque_F(var18 * par5, var21 * par6, var24 * par7); | |
| this.renderEastFace(par1Block, (double) par2, (double) par3, (double) par4, 38); | |
| }else{ | |
| this.renderEastFace(par1Block, (double)par2, (double)par3, (double)par4, var28); | |
| } | |
| var9 = true; | |
| } | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3, par4 + 1, 3)) { | |
| var8.setBrightness(par1Block.maxZ < 1.0D?var26:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 + 1)); | |
| var8.setColorOpaque_F(var18, var21, var24); | |
| var28 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 3); | |
| //Spout start | |
| if(var28 == 0) { | |
| var8.setColorOpaque_F(par5 * par5, par6 * par6, par7 * par7); | |
| } | |
| //Spout end | |
| this.renderWestFace(par1Block, (double)par2, (double)par3, (double)par4, var28); | |
| if (fancyGrass && var28 == 3 && this.overrideBlockTexture < 0) { | |
| var8.setColorOpaque_F(var18 * par5, var21 * par6, var24 * par7); | |
| }else{ | |
| this.renderWestFace(par1Block, (double) par2, (double) par3, (double) par4, 38); | |
| } | |
| var9 = true; | |
| } | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2 - 1, par3, par4, 4)) { | |
| var8.setBrightness(par1Block.minX > 0.0D?var26:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4)); | |
| var8.setColorOpaque_F(var19, var22, var25); | |
| var28 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 4); | |
| //Spout start | |
| if(var28 == 0) { | |
| var8.setColorOpaque_F(par5 * par5, par6 * par6, par7 * par7); | |
| } | |
| //Spout end | |
| if (fancyGrass && var28 == 3 && this.overrideBlockTexture < 0) { | |
| var8.setColorOpaque_F(var18 * par5, var21 * par6, var24 * par7); | |
| this.renderNorthFace(par1Block, (double) par2, (double) par3, (double) par4, 38); | |
| }else{ | |
| this.renderNorthFace(par1Block, (double)par2, (double)par3, (double)par4, var28); | |
| } | |
| var9 = true; | |
| } | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2 + 1, par3, par4, 5)) { | |
| var8.setBrightness(par1Block.maxX < 1.0D?var26:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4)); | |
| var8.setColorOpaque_F(var19, var22, var25); | |
| var28 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 5); | |
| //Spout start | |
| if(var28 == 0) { | |
| var8.setColorOpaque_F(par5 * par5, par6 * par6, par7 * par7); | |
| } | |
| //Spout end | |
| if (fancyGrass && var28 == 3 && this.overrideBlockTexture < 0) { | |
| var8.setColorOpaque_F(var18 * par5, var21 * par6, var24 * par7); | |
| this.renderSouthFace(par1Block, (double) par2, (double) par3, (double) par4, 38); | |
| }else{ | |
| this.renderSouthFace(par1Block, (double)par2, (double)par3, (double)par4, var28); | |
| } | |
| var9 = true; | |
| } | |
| return var9; | |
| } | |
| public boolean renderBlockCactus(Block par1Block, int par2, int par3, int par4) { | |
| int var5 = par1Block.colorMultiplier(this.blockAccess, par2, par3, par4); | |
| float var6 = (float)(var5 >> 16 & 255) / 255.0F; | |
| float var7 = (float)(var5 >> 8 & 255) / 255.0F; | |
| float var8 = (float)(var5 & 255) / 255.0F; | |
| if (EntityRenderer.anaglyphEnable) { | |
| float var9 = (var6 * 30.0F + var7 * 59.0F + var8 * 11.0F) / 100.0F; | |
| float var10 = (var6 * 30.0F + var7 * 70.0F) / 100.0F; | |
| float var11 = (var6 * 30.0F + var8 * 70.0F) / 100.0F; | |
| var6 = var9; | |
| var7 = var10; | |
| var8 = var11; | |
| } | |
| return this.renderBlockCactusImpl(par1Block, par2, par3, par4, var6, var7, var8); | |
| } | |
| public boolean renderBlockCactusImpl(Block par1Block, int par2, int par3, int par4, float par5, float par6, float par7) { | |
| Tessellator var8 = Tessellator.instance; | |
| boolean var9 = false; | |
| float var10 = 0.5F; | |
| float var11 = 1.0F; | |
| float var12 = 0.8F; | |
| float var13 = 0.6F; | |
| float var14 = var10 * par5; | |
| float var15 = var11 * par5; | |
| float var16 = var12 * par5; | |
| float var17 = var13 * par5; | |
| float var18 = var10 * par6; | |
| float var19 = var11 * par6; | |
| float var20 = var12 * par6; | |
| float var21 = var13 * par6; | |
| float var22 = var10 * par7; | |
| float var23 = var11 * par7; | |
| float var24 = var12 * par7; | |
| float var25 = var13 * par7; | |
| float var26 = 0.0625F; | |
| int var28 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4); | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3 - 1, par4, 0)) { | |
| var8.setBrightness(par1Block.minY > 0.0D?var28:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4)); | |
| var8.setColorOpaque_F(var14, var18, var22); | |
| this.renderBottomFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 0)); | |
| var9 = true; | |
| } | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3 + 1, par4, 1)) { | |
| var8.setBrightness(par1Block.maxY < 1.0D?var28:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4)); | |
| var8.setColorOpaque_F(var15, var19, var23); | |
| this.renderTopFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 1)); | |
| var9 = true; | |
| } | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3, par4 - 1, 2)) { | |
| var8.setBrightness(par1Block.minZ > 0.0D?var28:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 - 1)); | |
| var8.setColorOpaque_F(var16, var20, var24); | |
| var8.addTranslation(0.0F, 0.0F, var26); | |
| this.renderEastFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 2)); | |
| var8.addTranslation(0.0F, 0.0F, -var26); | |
| var9 = true; | |
| } | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3, par4 + 1, 3)) { | |
| var8.setBrightness(par1Block.maxZ < 1.0D?var28:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 + 1)); | |
| var8.setColorOpaque_F(var16, var20, var24); | |
| var8.addTranslation(0.0F, 0.0F, -var26); | |
| this.renderWestFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 3)); | |
| var8.addTranslation(0.0F, 0.0F, var26); | |
| var9 = true; | |
| } | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2 - 1, par3, par4, 4)) { | |
| var8.setBrightness(par1Block.minX > 0.0D?var28:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4)); | |
| var8.setColorOpaque_F(var17, var21, var25); | |
| var8.addTranslation(var26, 0.0F, 0.0F); | |
| this.renderNorthFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 4)); | |
| var8.addTranslation(-var26, 0.0F, 0.0F); | |
| var9 = true; | |
| } | |
| if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2 + 1, par3, par4, 5)) { | |
| var8.setBrightness(par1Block.maxX < 1.0D?var28:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4)); | |
| var8.setColorOpaque_F(var17, var21, var25); | |
| var8.addTranslation(-var26, 0.0F, 0.0F); | |
| this.renderSouthFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 5)); | |
| var8.addTranslation(var26, 0.0F, 0.0F); | |
| var9 = true; | |
| } | |
| return var9; | |
| } | |
| public boolean renderBlockFence(BlockFence par1BlockFence, int par2, int par3, int par4) { | |
| boolean var5 = false; | |
| float var6 = 0.375F; | |
| float var7 = 0.625F; | |
| par1BlockFence.setBlockBounds(var6, 0.0F, var6, var7, 1.0F, var7); | |
| this.renderStandardBlock(par1BlockFence, par2, par3, par4); | |
| var5 = true; | |
| boolean var8 = false; | |
| boolean var9 = false; | |
| if (par1BlockFence.canConnectFenceTo(this.blockAccess, par2 - 1, par3, par4) || par1BlockFence.canConnectFenceTo(this.blockAccess, par2 + 1, par3, par4)) { | |
| var8 = true; | |
| } | |
| if (par1BlockFence.canConnectFenceTo(this.blockAccess, par2, par3, par4 - 1) || par1BlockFence.canConnectFenceTo(this.blockAccess, par2, par3, par4 + 1)) { | |
| var9 = true; | |
| } | |
| boolean var10 = par1BlockFence.canConnectFenceTo(this.blockAccess, par2 - 1, par3, par4); | |
| boolean var11 = par1BlockFence.canConnectFenceTo(this.blockAccess, par2 + 1, par3, par4); | |
| boolean var12 = par1BlockFence.canConnectFenceTo(this.blockAccess, par2, par3, par4 - 1); | |
| boolean var13 = par1BlockFence.canConnectFenceTo(this.blockAccess, par2, par3, par4 + 1); | |
| if (!var8 && !var9) { | |
| var8 = true; | |
| } | |
| var6 = 0.4375F; | |
| var7 = 0.5625F; | |
| float var14 = 0.75F; | |
| float var15 = 0.9375F; | |
| float var16 = var10?0.0F:var6; | |
| float var17 = var11?1.0F:var7; | |
| float var18 = var12?0.0F:var6; | |
| float var19 = var13?1.0F:var7; | |
| if (var8) { | |
| par1BlockFence.setBlockBounds(var16, var14, var6, var17, var15, var7); | |
| this.renderStandardBlock(par1BlockFence, par2, par3, par4); | |
| var5 = true; | |
| } | |
| if (var9) { | |
| par1BlockFence.setBlockBounds(var6, var14, var18, var7, var15, var19); | |
| this.renderStandardBlock(par1BlockFence, par2, par3, par4); | |
| var5 = true; | |
| } | |
| var14 = 0.375F; | |
| var15 = 0.5625F; | |
| if (var8) { | |
| par1BlockFence.setBlockBounds(var16, var14, var6, var17, var15, var7); | |
| this.renderStandardBlock(par1BlockFence, par2, par3, par4); | |
| var5 = true; | |
| } | |
| if (var9) { | |
| par1BlockFence.setBlockBounds(var6, var14, var18, var7, var15, var19); | |
| this.renderStandardBlock(par1BlockFence, par2, par3, par4); | |
| var5 = true; | |
| } | |
| par1BlockFence.setBlockBoundsBasedOnState(this.blockAccess, par2, par3, par4); | |
| return var5; | |
| } | |
| public boolean renderBlockDragonEgg(BlockDragonEgg par1BlockDragonEgg, int par2, int par3, int par4) { | |
| boolean var5 = false; | |
| int var6 = 0; | |
| for (int var7 = 0; var7 < 8; ++var7) { | |
| byte var8 = 0; | |
| byte var9 = 1; | |
| if (var7 == 0) { | |
| var8 = 2; | |
| } | |
| if (var7 == 1) { | |
| var8 = 3; | |
| } | |
| if (var7 == 2) { | |
| var8 = 4; | |
| } | |
| if (var7 == 3) { | |
| var8 = 5; | |
| var9 = 2; | |
| } | |
| if (var7 == 4) { | |
| var8 = 6; | |
| var9 = 3; | |
| } | |
| if (var7 == 5) { | |
| var8 = 7; | |
| var9 = 5; | |
| } | |
| if (var7 == 6) { | |
| var8 = 6; | |
| var9 = 2; | |
| } | |
| if (var7 == 7) { | |
| var8 = 3; | |
| } | |
| float var10 = (float)var8 / 16.0F; | |
| float var11 = 1.0F - (float)var6 / 16.0F; | |
| float var12 = 1.0F - (float)(var6 + var9) / 16.0F; | |
| var6 += var9; | |
| par1BlockDragonEgg.setBlockBounds(0.5F - var10, var12, 0.5F - var10, 0.5F + var10, var11, 0.5F + var10); | |
| this.renderStandardBlock(par1BlockDragonEgg, par2, par3, par4); | |
| } | |
| var5 = true; | |
| par1BlockDragonEgg.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); | |
| return var5; | |
| } | |
| public boolean renderBlockFenceGate(BlockFenceGate par1BlockFenceGate, int par2, int par3, int par4) { | |
| boolean var5 = true; | |
| int var6 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| boolean var7 = BlockFenceGate.isFenceGateOpen(var6); | |
| int var8 = BlockDirectional.getDirection(var6); | |
| float var15; | |
| float var17; | |
| float var16; | |
| float var18; | |
| if (var8 != 3 && var8 != 1) { | |
| var15 = 0.0F; | |
| var16 = 0.125F; | |
| var17 = 0.4375F; | |
| var18 = 0.5625F; | |
| par1BlockFenceGate.setBlockBounds(var15, 0.3125F, var17, var16, 1.0F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| var15 = 0.875F; | |
| var16 = 1.0F; | |
| par1BlockFenceGate.setBlockBounds(var15, 0.3125F, var17, var16, 1.0F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| } else { | |
| var15 = 0.4375F; | |
| var16 = 0.5625F; | |
| var17 = 0.0F; | |
| var18 = 0.125F; | |
| par1BlockFenceGate.setBlockBounds(var15, 0.3125F, var17, var16, 1.0F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| var17 = 0.875F; | |
| var18 = 1.0F; | |
| par1BlockFenceGate.setBlockBounds(var15, 0.3125F, var17, var16, 1.0F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| } | |
| if (!var7) { | |
| if (var8 != 3 && var8 != 1) { | |
| var15 = 0.375F; | |
| var16 = 0.5F; | |
| var17 = 0.4375F; | |
| var18 = 0.5625F; | |
| par1BlockFenceGate.setBlockBounds(var15, 0.375F, var17, var16, 0.9375F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| var15 = 0.5F; | |
| var16 = 0.625F; | |
| par1BlockFenceGate.setBlockBounds(var15, 0.375F, var17, var16, 0.9375F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| var15 = 0.625F; | |
| var16 = 0.875F; | |
| par1BlockFenceGate.setBlockBounds(var15, 0.375F, var17, var16, 0.5625F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(var15, 0.75F, var17, var16, 0.9375F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| var15 = 0.125F; | |
| var16 = 0.375F; | |
| par1BlockFenceGate.setBlockBounds(var15, 0.375F, var17, var16, 0.5625F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(var15, 0.75F, var17, var16, 0.9375F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| } else { | |
| var15 = 0.4375F; | |
| var16 = 0.5625F; | |
| var17 = 0.375F; | |
| var18 = 0.5F; | |
| par1BlockFenceGate.setBlockBounds(var15, 0.375F, var17, var16, 0.9375F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| var17 = 0.5F; | |
| var18 = 0.625F; | |
| par1BlockFenceGate.setBlockBounds(var15, 0.375F, var17, var16, 0.9375F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| var17 = 0.625F; | |
| var18 = 0.875F; | |
| par1BlockFenceGate.setBlockBounds(var15, 0.375F, var17, var16, 0.5625F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(var15, 0.75F, var17, var16, 0.9375F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| var17 = 0.125F; | |
| var18 = 0.375F; | |
| par1BlockFenceGate.setBlockBounds(var15, 0.375F, var17, var16, 0.5625F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(var15, 0.75F, var17, var16, 0.9375F, var18); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| } | |
| } else if (var8 == 3) { | |
| par1BlockFenceGate.setBlockBounds(0.8125F, 0.375F, 0.0F, 0.9375F, 0.9375F, 0.125F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.8125F, 0.375F, 0.875F, 0.9375F, 0.9375F, 1.0F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.5625F, 0.375F, 0.0F, 0.8125F, 0.5625F, 0.125F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.5625F, 0.375F, 0.875F, 0.8125F, 0.5625F, 1.0F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.5625F, 0.75F, 0.0F, 0.8125F, 0.9375F, 0.125F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.5625F, 0.75F, 0.875F, 0.8125F, 0.9375F, 1.0F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| } else if (var8 == 1) { | |
| par1BlockFenceGate.setBlockBounds(0.0625F, 0.375F, 0.0F, 0.1875F, 0.9375F, 0.125F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.0625F, 0.375F, 0.875F, 0.1875F, 0.9375F, 1.0F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.1875F, 0.375F, 0.0F, 0.4375F, 0.5625F, 0.125F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.1875F, 0.375F, 0.875F, 0.4375F, 0.5625F, 1.0F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.1875F, 0.75F, 0.0F, 0.4375F, 0.9375F, 0.125F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.1875F, 0.75F, 0.875F, 0.4375F, 0.9375F, 1.0F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| } else if (var8 == 0) { | |
| par1BlockFenceGate.setBlockBounds(0.0F, 0.375F, 0.8125F, 0.125F, 0.9375F, 0.9375F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.875F, 0.375F, 0.8125F, 1.0F, 0.9375F, 0.9375F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.0F, 0.375F, 0.5625F, 0.125F, 0.5625F, 0.8125F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.875F, 0.375F, 0.5625F, 1.0F, 0.5625F, 0.8125F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.0F, 0.75F, 0.5625F, 0.125F, 0.9375F, 0.8125F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.875F, 0.75F, 0.5625F, 1.0F, 0.9375F, 0.8125F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| } else if (var8 == 2) { | |
| par1BlockFenceGate.setBlockBounds(0.0F, 0.375F, 0.0625F, 0.125F, 0.9375F, 0.1875F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.875F, 0.375F, 0.0625F, 1.0F, 0.9375F, 0.1875F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.0F, 0.375F, 0.1875F, 0.125F, 0.5625F, 0.4375F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.875F, 0.375F, 0.1875F, 1.0F, 0.5625F, 0.4375F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.0F, 0.75F, 0.1875F, 0.125F, 0.9375F, 0.4375F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| par1BlockFenceGate.setBlockBounds(0.875F, 0.75F, 0.1875F, 1.0F, 0.9375F, 0.4375F); | |
| this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4); | |
| } | |
| par1BlockFenceGate.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); | |
| return var5; | |
| } | |
| public boolean renderBlockStairs(Block par1Block, int par2, int par3, int par4) { | |
| int var5 = this.blockAccess.getBlockMetadata(par2, par3, par4); | |
| int var6 = var5 & 3; | |
| float var7 = 0.0F; | |
| float var8 = 0.5F; | |
| float var9 = 0.5F; | |
| float var10 = 1.0F; | |
| if ((var5 & 4) != 0) { | |
| var7 = 0.5F; | |
| var8 = 1.0F; | |
| var9 = 0.0F; | |
| var10 = 0.5F; | |
| } | |
| par1Block.setBlockBounds(0.0F, var7, 0.0F, 1.0F, var8, 1.0F); | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| if (var6 == 0) { | |
| par1Block.setBlockBounds(0.5F, var9, 0.0F, 1.0F, var10, 1.0F); | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| } else if (var6 == 1) { | |
| par1Block.setBlockBounds(0.0F, var9, 0.0F, 0.5F, var10, 1.0F); | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| } else if (var6 == 2) { | |
| par1Block.setBlockBounds(0.0F, var9, 0.5F, 1.0F, var10, 1.0F); | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| } else if (var6 == 3) { | |
| par1Block.setBlockBounds(0.0F, var9, 0.0F, 1.0F, var10, 0.5F); | |
| this.renderStandardBlock(par1Block, par2, par3, par4); | |
| } | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); | |
| return true; | |
| } | |
| public boolean renderBlockDoor(Block par1Block, int par2, int par3, int par4) { | |
| Tessellator var5 = Tessellator.instance; | |
| BlockDoor var6 = (BlockDoor)par1Block; | |
| boolean var7 = false; | |
| float var8 = 0.5F; | |
| float var9 = 1.0F; | |
| float var10 = 0.8F; | |
| float var11 = 0.6F; | |
| int var12 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4); | |
| var5.setBrightness(par1Block.minY > 0.0D?var12:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4)); | |
| var5.setColorOpaque_F(var8, var8, var8); | |
| this.renderBottomFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 0)); | |
| var7 = true; | |
| var5.setBrightness(par1Block.maxY < 1.0D?var12:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4)); | |
| var5.setColorOpaque_F(var9, var9, var9); | |
| this.renderTopFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 1)); | |
| var7 = true; | |
| var5.setBrightness(par1Block.minZ > 0.0D?var12:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 - 1)); | |
| var5.setColorOpaque_F(var10, var10, var10); | |
| int var14 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 2); | |
| if (var14 < 0) { | |
| this.flipTexture = true; | |
| var14 = -var14; | |
| } | |
| this.renderEastFace(par1Block, (double)par2, (double)par3, (double)par4, var14); | |
| var7 = true; | |
| this.flipTexture = false; | |
| var5.setBrightness(par1Block.maxZ < 1.0D?var12:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 + 1)); | |
| var5.setColorOpaque_F(var10, var10, var10); | |
| var14 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 3); | |
| if (var14 < 0) { | |
| this.flipTexture = true; | |
| var14 = -var14; | |
| } | |
| this.renderWestFace(par1Block, (double)par2, (double)par3, (double)par4, var14); | |
| var7 = true; | |
| this.flipTexture = false; | |
| var5.setBrightness(par1Block.minX > 0.0D?var12:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4)); | |
| var5.setColorOpaque_F(var11, var11, var11); | |
| var14 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 4); | |
| if (var14 < 0) { | |
| this.flipTexture = true; | |
| var14 = -var14; | |
| } | |
| this.renderNorthFace(par1Block, (double)par2, (double)par3, (double)par4, var14); | |
| var7 = true; | |
| this.flipTexture = false; | |
| var5.setBrightness(par1Block.maxX < 1.0D?var12:par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4)); | |
| var5.setColorOpaque_F(var11, var11, var11); | |
| var14 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 5); | |
| if (var14 < 0) { | |
| this.flipTexture = true; | |
| var14 = -var14; | |
| } | |
| this.renderSouthFace(par1Block, (double)par2, (double)par3, (double)par4, var14); | |
| var7 = true; | |
| this.flipTexture = false; | |
| return var7; | |
| } | |
| public void renderBottomFace(Block par1Block, double par2, double par4, double par6, int par8) { | |
| Tessellator.instance.setNormal(0.0F, -1.0F, 0.0F); | |
| Tessellator var9 = Tessellator.instance; | |
| if (this.overrideBlockTexture >= 0) { | |
| par8 = this.overrideBlockTexture; | |
| } | |
| int var10 = (par8 & 15) << 4; | |
| int var11 = par8 & 240; | |
| double var12 = ((double)var10 + par1Block.minX * 16.0D) / 256.0D; | |
| double var14 = ((double)var10 + par1Block.maxX * 16.0D - 0.01D) / 256.0D; | |
| double var16 = ((double)var11 + par1Block.minZ * 16.0D) / 256.0D; | |
| double var18 = ((double)var11 + par1Block.maxZ * 16.0D - 0.01D) / 256.0D; | |
| if (par1Block.minX < 0.0D || par1Block.maxX > 1.0D) { | |
| var12 = (double)(((float)var10 + 0.0F) / 256.0F); | |
| var14 = (double)(((float)var10 + 15.99F) / 256.0F); | |
| } | |
| if (par1Block.minZ < 0.0D || par1Block.maxZ > 1.0D) { | |
| var16 = (double)(((float)var11 + 0.0F) / 256.0F); | |
| var18 = (double)(((float)var11 + 15.99F) / 256.0F); | |
| } | |
| double var20 = var14; | |
| double var22 = var12; | |
| double var24 = var16; | |
| double var26 = var18; | |
| if (this.uvRotateBottom == 2) { | |
| var12 = ((double)var10 + par1Block.minZ * 16.0D) / 256.0D; | |
| var16 = ((double)(var11 + 16) - par1Block.maxX * 16.0D) / 256.0D; | |
| var14 = ((double)var10 + par1Block.maxZ * 16.0D) / 256.0D; | |
| var18 = ((double)(var11 + 16) - par1Block.minX * 16.0D) / 256.0D; | |
| var24 = var16; | |
| var26 = var18; | |
| var20 = var12; | |
| var22 = var14; | |
| var16 = var18; | |
| var18 = var24; | |
| } else if (this.uvRotateBottom == 1) { | |
| var12 = ((double)(var10 + 16) - par1Block.maxZ * 16.0D) / 256.0D; | |
| var16 = ((double)var11 + par1Block.minX * 16.0D) / 256.0D; | |
| var14 = ((double)(var10 + 16) - par1Block.minZ * 16.0D) / 256.0D; | |
| var18 = ((double)var11 + par1Block.maxX * 16.0D) / 256.0D; | |
| var20 = var14; | |
| var22 = var12; | |
| var12 = var14; | |
| var14 = var22; | |
| var24 = var18; | |
| var26 = var16; | |
| } else if (this.uvRotateBottom == 3) { | |
| var12 = ((double)(var10 + 16) - par1Block.minX * 16.0D) / 256.0D; | |
| var14 = ((double)(var10 + 16) - par1Block.maxX * 16.0D - 0.01D) / 256.0D; | |
| var16 = ((double)(var11 + 16) - par1Block.minZ * 16.0D) / 256.0D; | |
| var18 = ((double)(var11 + 16) - par1Block.maxZ * 16.0D - 0.01D) / 256.0D; | |
| var20 = var14; | |
| var22 = var12; | |
| var24 = var16; | |
| var26 = var18; | |
| } | |
| double var28 = par2 + par1Block.minX; | |
| double var30 = par2 + par1Block.maxX; | |
| double var32 = par4 + par1Block.minY; | |
| double var34 = par6 + par1Block.minZ; | |
| double var36 = par6 + par1Block.maxZ; | |
| if (this.enableAO) { | |
| var9.setColorOpaque_F(this.colorRedTopLeft, this.colorGreenTopLeft, this.colorBlueTopLeft); | |
| var9.setBrightness(this.brightnessTopLeft); | |
| var9.addVertexWithUV(var28, var32, var36, var22, var26); | |
| var9.setColorOpaque_F(this.colorRedBottomLeft, this.colorGreenBottomLeft, this.colorBlueBottomLeft); | |
| var9.setBrightness(this.brightnessBottomLeft); | |
| var9.addVertexWithUV(var28, var32, var34, var12, var16); | |
| var9.setColorOpaque_F(this.colorRedBottomRight, this.colorGreenBottomRight, this.colorBlueBottomRight); | |
| var9.setBrightness(this.brightnessBottomRight); | |
| var9.addVertexWithUV(var30, var32, var34, var20, var24); | |
| var9.setColorOpaque_F(this.colorRedTopRight, this.colorGreenTopRight, this.colorBlueTopRight); | |
| var9.setBrightness(this.brightnessTopRight); | |
| var9.addVertexWithUV(var30, var32, var36, var14, var18); | |
| } else { | |
| var9.addVertexWithUV(var28, var32, var36, var22, var26); | |
| var9.addVertexWithUV(var28, var32, var34, var12, var16); | |
| var9.addVertexWithUV(var30, var32, var34, var20, var24); | |
| var9.addVertexWithUV(var30, var32, var36, var14, var18); | |
| } | |
| } | |
| public void renderTopFace(Block par1Block, double par2, double par4, double par6, int par8) { | |
| Tessellator.instance.setNormal(0.0F, 1.0F, 0.0F); | |
| Tessellator var9 = Tessellator.instance; | |
| if (this.overrideBlockTexture >= 0) { | |
| par8 = this.overrideBlockTexture; | |
| } | |
| int var10 = (par8 & 15) << 4; | |
| int var11 = par8 & 240; | |
| double var12 = ((double)var10 + par1Block.minX * 16.0D) / 256.0D; | |
| double var14 = ((double)var10 + par1Block.maxX * 16.0D - 0.01D) / 256.0D; | |
| double var16 = ((double)var11 + par1Block.minZ * 16.0D) / 256.0D; | |
| double var18 = ((double)var11 + par1Block.maxZ * 16.0D - 0.01D) / 256.0D; | |
| if (par1Block.minX < 0.0D || par1Block.maxX > 1.0D) { | |
| var12 = (double)(((float)var10 + 0.0F) / 256.0F); | |
| var14 = (double)(((float)var10 + 15.99F) / 256.0F); | |
| } | |
| if (par1Block.minZ < 0.0D || par1Block.maxZ > 1.0D) { | |
| var16 = (double)(((float)var11 + 0.0F) / 256.0F); | |
| var18 = (double)(((float)var11 + 15.99F) / 256.0F); | |
| } | |
| double var20 = var14; | |
| double var22 = var12; | |
| double var24 = var16; | |
| double var26 = var18; | |
| if (this.uvRotateTop == 1) { | |
| var12 = ((double)var10 + par1Block.minZ * 16.0D) / 256.0D; | |
| var16 = ((double)(var11 + 16) - par1Block.maxX * 16.0D) / 256.0D; | |
| var14 = ((double)var10 + par1Block.maxZ * 16.0D) / 256.0D; | |
| var18 = ((double)(var11 + 16) - par1Block.minX * 16.0D) / 256.0D; | |
| var24 = var16; | |
| var26 = var18; | |
| var20 = var12; | |
| var22 = var14; | |
| var16 = var18; | |
| var18 = var24; | |
| } else if (this.uvRotateTop == 2) { | |
| var12 = ((double)(var10 + 16) - par1Block.maxZ * 16.0D) / 256.0D; | |
| var16 = ((double)var11 + par1Block.minX * 16.0D) / 256.0D; | |
| var14 = ((double)(var10 + 16) - par1Block.minZ * 16.0D) / 256.0D; | |
| var18 = ((double)var11 + par1Block.maxX * 16.0D) / 256.0D; | |
| var20 = var14; | |
| var22 = var12; | |
| var12 = var14; | |
| var14 = var22; | |
| var24 = var18; | |
| var26 = var16; | |
| } else if (this.uvRotateTop == 3) { | |
| var12 = ((double)(var10 + 16) - par1Block.minX * 16.0D) / 256.0D; | |
| var14 = ((double)(var10 + 16) - par1Block.maxX * 16.0D - 0.01D) / 256.0D; | |
| var16 = ((double)(var11 + 16) - par1Block.minZ * 16.0D) / 256.0D; | |
| var18 = ((double)(var11 + 16) - par1Block.maxZ * 16.0D - 0.01D) / 256.0D; | |
| var20 = var14; | |
| var22 = var12; | |
| var24 = var16; | |
| var26 = var18; | |
| } | |
| double var28 = par2 + par1Block.minX; | |
| double var30 = par2 + par1Block.maxX; | |
| double var32 = par4 + par1Block.maxY; | |
| double var34 = par6 + par1Block.minZ; | |
| double var36 = par6 + par1Block.maxZ; | |
| if (this.enableAO) { | |
| var9.setColorOpaque_F(this.colorRedTopLeft, this.colorGreenTopLeft, this.colorBlueTopLeft); | |
| var9.setBrightness(this.brightnessTopLeft); | |
| var9.addVertexWithUV(var30, var32, var36, var14, var18); | |
| var9.setColorOpaque_F(this.colorRedBottomLeft, this.colorGreenBottomLeft, this.colorBlueBottomLeft); | |
| var9.setBrightness(this.brightnessBottomLeft); | |
| var9.addVertexWithUV(var30, var32, var34, var20, var24); | |
| var9.setColorOpaque_F(this.colorRedBottomRight, this.colorGreenBottomRight, this.colorBlueBottomRight); | |
| var9.setBrightness(this.brightnessBottomRight); | |
| var9.addVertexWithUV(var28, var32, var34, var12, var16); | |
| var9.setColorOpaque_F(this.colorRedTopRight, this.colorGreenTopRight, this.colorBlueTopRight); | |
| var9.setBrightness(this.brightnessTopRight); | |
| var9.addVertexWithUV(var28, var32, var36, var22, var26); | |
| } else { | |
| var9.addVertexWithUV(var30, var32, var36, var14, var18); | |
| var9.addVertexWithUV(var30, var32, var34, var20, var24); | |
| var9.addVertexWithUV(var28, var32, var34, var12, var16); | |
| var9.addVertexWithUV(var28, var32, var36, var22, var26); | |
| } | |
| } | |
| public void renderEastFace(Block par1Block, double par2, double par4, double par6, int par8) { | |
| Tessellator.instance.setNormal(0.0F, 0.0F, -1.0F); | |
| Tessellator var9 = Tessellator.instance; | |
| if (this.overrideBlockTexture >= 0) { | |
| par8 = this.overrideBlockTexture; | |
| } | |
| int var10 = (par8 & 15) << 4; | |
| int var11 = par8 & 240; | |
| double var12 = ((double)var10 + par1Block.minX * 16.0D) / 256.0D; | |
| double var14 = ((double)var10 + par1Block.maxX * 16.0D - 0.01D) / 256.0D; | |
| double var16 = ((double)(var11 + 16) - par1Block.maxY * 16.0D) / 256.0D; | |
| double var18 = ((double)(var11 + 16) - par1Block.minY * 16.0D - 0.01D) / 256.0D; | |
| double var20; | |
| if (this.flipTexture) { | |
| var20 = var12; | |
| var12 = var14; | |
| var14 = var20; | |
| } | |
| if (par1Block.minX < 0.0D || par1Block.maxX > 1.0D) { | |
| var12 = (double)(((float)var10 + 0.0F) / 256.0F); | |
| var14 = (double)(((float)var10 + 15.99F) / 256.0F); | |
| } | |
| if (par1Block.minY < 0.0D || par1Block.maxY > 1.0D) { | |
| var16 = (double)(((float)var11 + 0.0F) / 256.0F); | |
| var18 = (double)(((float)var11 + 15.99F) / 256.0F); | |
| } | |
| var20 = var14; | |
| double var22 = var12; | |
| double var24 = var16; | |
| double var26 = var18; | |
| if (this.uvRotateEast == 2) { | |
| var12 = ((double)var10 + par1Block.minY * 16.0D) / 256.0D; | |
| var16 = ((double)(var11 + 16) - par1Block.minX * 16.0D) / 256.0D; | |
| var14 = ((double)var10 + par1Block.maxY * 16.0D) / 256.0D; | |
| var18 = ((double)(var11 + 16) - par1Block.maxX * 16.0D) / 256.0D; | |
| var24 = var16; | |
| var26 = var18; | |
| var20 = var12; | |
| var22 = var14; | |
| var16 = var18; | |
| var18 = var24; | |
| } else if (this.uvRotateEast == 1) { | |
| var12 = ((double)(var10 + 16) - par1Block.maxY * 16.0D) / 256.0D; | |
| var16 = ((double)var11 + par1Block.maxX * 16.0D) / 256.0D; | |
| var14 = ((double)(var10 + 16) - par1Block.minY * 16.0D) / 256.0D; | |
| var18 = ((double)var11 + par1Block.minX * 16.0D) / 256.0D; | |
| var20 = var14; | |
| var22 = var12; | |
| var12 = var14; | |
| var14 = var22; | |
| var24 = var18; | |
| var26 = var16; | |
| } else if (this.uvRotateEast == 3) { | |
| var12 = ((double)(var10 + 16) - par1Block.minX * 16.0D) / 256.0D; | |
| var14 = ((double)(var10 + 16) - par1Block.maxX * 16.0D - 0.01D) / 256.0D; | |
| var16 = ((double)var11 + par1Block.maxY * 16.0D) / 256.0D; | |
| var18 = ((double)var11 + par1Block.minY * 16.0D - 0.01D) / 256.0D; | |
| var20 = var14; | |
| var22 = var12; | |
| var24 = var16; | |
| var26 = var18; | |
| } | |
| double var28 = par2 + par1Block.minX; | |
| double var30 = par2 + par1Block.maxX; | |
| double var32 = par4 + par1Block.minY; | |
| double var34 = par4 + par1Block.maxY; | |
| double var36 = par6 + par1Block.minZ; | |
| if (this.enableAO) { | |
| var9.setColorOpaque_F(this.colorRedTopLeft, this.colorGreenTopLeft, this.colorBlueTopLeft); | |
| var9.setBrightness(this.brightnessTopLeft); | |
| var9.addVertexWithUV(var28, var34, var36, var20, var24); | |
| var9.setColorOpaque_F(this.colorRedBottomLeft, this.colorGreenBottomLeft, this.colorBlueBottomLeft); | |
| var9.setBrightness(this.brightnessBottomLeft); | |
| var9.addVertexWithUV(var30, var34, var36, var12, var16); | |
| var9.setColorOpaque_F(this.colorRedBottomRight, this.colorGreenBottomRight, this.colorBlueBottomRight); | |
| var9.setBrightness(this.brightnessBottomRight); | |
| var9.addVertexWithUV(var30, var32, var36, var22, var26); | |
| var9.setColorOpaque_F(this.colorRedTopRight, this.colorGreenTopRight, this.colorBlueTopRight); | |
| var9.setBrightness(this.brightnessTopRight); | |
| var9.addVertexWithUV(var28, var32, var36, var14, var18); | |
| } else { | |
| var9.addVertexWithUV(var28, var34, var36, var20, var24); | |
| var9.addVertexWithUV(var30, var34, var36, var12, var16); | |
| var9.addVertexWithUV(var30, var32, var36, var22, var26); | |
| var9.addVertexWithUV(var28, var32, var36, var14, var18); | |
| } | |
| } | |
| public void renderWestFace(Block par1Block, double par2, double par4, double par6, int par8) { | |
| Tessellator.instance.setNormal(0.0F, 0.0F, 1.0F); | |
| Tessellator var9 = Tessellator.instance; | |
| if (this.overrideBlockTexture >= 0) { | |
| par8 = this.overrideBlockTexture; | |
| } | |
| int var10 = (par8 & 15) << 4; | |
| int var11 = par8 & 240; | |
| double var12 = ((double)var10 + par1Block.minX * 16.0D) / 256.0D; | |
| double var14 = ((double)var10 + par1Block.maxX * 16.0D - 0.01D) / 256.0D; | |
| double var16 = ((double)(var11 + 16) - par1Block.maxY * 16.0D) / 256.0D; | |
| double var18 = ((double)(var11 + 16) - par1Block.minY * 16.0D - 0.01D) / 256.0D; | |
| double var20; | |
| if (this.flipTexture) { | |
| var20 = var12; | |
| var12 = var14; | |
| var14 = var20; | |
| } | |
| if (par1Block.minX < 0.0D || par1Block.maxX > 1.0D) { | |
| var12 = (double)(((float)var10 + 0.0F) / 256.0F); | |
| var14 = (double)(((float)var10 + 15.99F) / 256.0F); | |
| } | |
| if (par1Block.minY < 0.0D || par1Block.maxY > 1.0D) { | |
| var16 = (double)(((float)var11 + 0.0F) / 256.0F); | |
| var18 = (double)(((float)var11 + 15.99F) / 256.0F); | |
| } | |
| var20 = var14; | |
| double var22 = var12; | |
| double var24 = var16; | |
| double var26 = var18; | |
| if (this.uvRotateWest == 1) { | |
| var12 = ((double)var10 + par1Block.minY * 16.0D) / 256.0D; | |
| var18 = ((double)(var11 + 16) - par1Block.minX * 16.0D) / 256.0D; | |
| var14 = ((double)var10 + par1Block.maxY * 16.0D) / 256.0D; | |
| var16 = ((double)(var11 + 16) - par1Block.maxX * 16.0D) / 256.0D; | |
| var24 = var16; | |
| var26 = var18; | |
| var20 = var12; | |
| var22 = var14; | |
| var16 = var18; | |
| var18 = var24; | |
| } else if (this.uvRotateWest == 2) { | |
| var12 = ((double)(var10 + 16) - par1Block.maxY * 16.0D) / 256.0D; | |
| var16 = ((double)var11 + par1Block.minX * 16.0D) / 256.0D; | |
| var14 = ((double)(var10 + 16) - par1Block.minY * 16.0D) / 256.0D; | |
| var18 = ((double)var11 + par1Block.maxX * 16.0D) / 256.0D; | |
| var20 = var14; | |
| var22 = var12; | |
| var12 = var14; | |
| var14 = var22; | |
| var24 = var18; | |
| var26 = var16; | |
| } else if (this.uvRotateWest == 3) { | |
| var12 = ((double)(var10 + 16) - par1Block.minX * 16.0D) / 256.0D; | |
| var14 = ((double)(var10 + 16) - par1Block.maxX * 16.0D - 0.01D) / 256.0D; | |
| var16 = ((double)var11 + par1Block.maxY * 16.0D) / 256.0D; | |
| var18 = ((double)var11 + par1Block.minY * 16.0D - 0.01D) / 256.0D; | |
| var20 = var14; | |
| var22 = var12; | |
| var24 = var16; | |
| var26 = var18; | |
| } | |
| double var28 = par2 + par1Block.minX; | |
| double var30 = par2 + par1Block.maxX; | |
| double var32 = par4 + par1Block.minY; | |
| double var34 = par4 + par1Block.maxY; | |
| double var36 = par6 + par1Block.maxZ; | |
| if (this.enableAO) { | |
| var9.setColorOpaque_F(this.colorRedTopLeft, this.colorGreenTopLeft, this.colorBlueTopLeft); | |
| var9.setBrightness(this.brightnessTopLeft); | |
| var9.addVertexWithUV(var28, var34, var36, var12, var16); | |
| var9.setColorOpaque_F(this.colorRedBottomLeft, this.colorGreenBottomLeft, this.colorBlueBottomLeft); | |
| var9.setBrightness(this.brightnessBottomLeft); | |
| var9.addVertexWithUV(var28, var32, var36, var22, var26); | |
| var9.setColorOpaque_F(this.colorRedBottomRight, this.colorGreenBottomRight, this.colorBlueBottomRight); | |
| var9.setBrightness(this.brightnessBottomRight); | |
| var9.addVertexWithUV(var30, var32, var36, var14, var18); | |
| var9.setColorOpaque_F(this.colorRedTopRight, this.colorGreenTopRight, this.colorBlueTopRight); | |
| var9.setBrightness(this.brightnessTopRight); | |
| var9.addVertexWithUV(var30, var34, var36, var20, var24); | |
| } else { | |
| var9.addVertexWithUV(var28, var34, var36, var12, var16); | |
| var9.addVertexWithUV(var28, var32, var36, var22, var26); | |
| var9.addVertexWithUV(var30, var32, var36, var14, var18); | |
| var9.addVertexWithUV(var30, var34, var36, var20, var24); | |
| } | |
| } | |
| public void renderNorthFace(Block par1Block, double par2, double par4, double par6, int par8) { | |
| Tessellator.instance.setNormal(-1.0F, 0.0F, 0.0F); | |
| Tessellator var9 = Tessellator.instance; | |
| if (this.overrideBlockTexture >= 0) { | |
| par8 = this.overrideBlockTexture; | |
| } | |
| int var10 = (par8 & 15) << 4; | |
| int var11 = par8 & 240; | |
| double var12 = ((double)var10 + par1Block.minZ * 16.0D) / 256.0D; | |
| double var14 = ((double)var10 + par1Block.maxZ * 16.0D - 0.01D) / 256.0D; | |
| double var16 = ((double)(var11 + 16) - par1Block.maxY * 16.0D) / 256.0D; | |
| double var18 = ((double)(var11 + 16) - par1Block.minY * 16.0D - 0.01D) / 256.0D; | |
| double var20; | |
| if (this.flipTexture) { | |
| var20 = var12; | |
| var12 = var14; | |
| var14 = var20; | |
| } | |
| if (par1Block.minZ < 0.0D || par1Block.maxZ > 1.0D) { | |
| var12 = (double)(((float)var10 + 0.0F) / 256.0F); | |
| var14 = (double)(((float)var10 + 15.99F) / 256.0F); | |
| } | |
| if (par1Block.minY < 0.0D || par1Block.maxY > 1.0D) { | |
| var16 = (double)(((float)var11 + 0.0F) / 256.0F); | |
| var18 = (double)(((float)var11 + 15.99F) / 256.0F); | |
| } | |
| var20 = var14; | |
| double var22 = var12; | |
| double var24 = var16; | |
| double var26 = var18; | |
| if (this.uvRotateNorth == 1) { | |
| var12 = ((double)var10 + par1Block.minY * 16.0D) / 256.0D; | |
| var16 = ((double)(var11 + 16) - par1Block.maxZ * 16.0D) / 256.0D; | |
| var14 = ((double)var10 + par1Block.maxY * 16.0D) / 256.0D; | |
| var18 = ((double)(var11 + 16) - par1Block.minZ * 16.0D) / 256.0D; | |
| var24 = var16; | |
| var26 = var18; | |
| var20 = var12; | |
| var22 = var14; | |
| var16 = var18; | |
| var18 = var24; | |
| } else if (this.uvRotateNorth == 2) { | |
| var12 = ((double)(var10 + 16) - par1Block.maxY * 16.0D) / 256.0D; | |
| var16 = ((double)var11 + par1Block.minZ * 16.0D) / 256.0D; | |
| var14 = ((double)(var10 + 16) - par1Block.minY * 16.0D) / 256.0D; | |
| var18 = ((double)var11 + par1Block.maxZ * 16.0D) / 256.0D; | |
| var20 = var14; | |
| var22 = var12; | |
| var12 = var14; | |
| var14 = var22; | |
| var24 = var18; | |
| var26 = var16; | |
| } else if (this.uvRotateNorth == 3) { | |
| var12 = ((double)(var10 + 16) - par1Block.minZ * 16.0D) / 256.0D; | |
| var14 = ((double)(var10 + 16) - par1Block.maxZ * 16.0D - 0.01D) / 256.0D; | |
| var16 = ((double)var11 + par1Block.maxY * 16.0D) / 256.0D; | |
| var18 = ((double)var11 + par1Block.minY * 16.0D - 0.01D) / 256.0D; | |
| var20 = var14; | |
| var22 = var12; | |
| var24 = var16; | |
| var26 = var18; | |
| } | |
| double var28 = par2 + par1Block.minX; | |
| double var30 = par4 + par1Block.minY; | |
| double var32 = par4 + par1Block.maxY; | |
| double var34 = par6 + par1Block.minZ; | |
| double var36 = par6 + par1Block.maxZ; | |
| if (this.enableAO) { | |
| var9.setColorOpaque_F(this.colorRedTopLeft, this.colorGreenTopLeft, this.colorBlueTopLeft); | |
| var9.setBrightness(this.brightnessTopLeft); | |
| var9.addVertexWithUV(var28, var32, var36, var20, var24); | |
| var9.setColorOpaque_F(this.colorRedBottomLeft, this.colorGreenBottomLeft, this.colorBlueBottomLeft); | |
| var9.setBrightness(this.brightnessBottomLeft); | |
| var9.addVertexWithUV(var28, var32, var34, var12, var16); | |
| var9.setColorOpaque_F(this.colorRedBottomRight, this.colorGreenBottomRight, this.colorBlueBottomRight); | |
| var9.setBrightness(this.brightnessBottomRight); | |
| var9.addVertexWithUV(var28, var30, var34, var22, var26); | |
| var9.setColorOpaque_F(this.colorRedTopRight, this.colorGreenTopRight, this.colorBlueTopRight); | |
| var9.setBrightness(this.brightnessTopRight); | |
| var9.addVertexWithUV(var28, var30, var36, var14, var18); | |
| } else { | |
| var9.addVertexWithUV(var28, var32, var36, var20, var24); | |
| var9.addVertexWithUV(var28, var32, var34, var12, var16); | |
| var9.addVertexWithUV(var28, var30, var34, var22, var26); | |
| var9.addVertexWithUV(var28, var30, var36, var14, var18); | |
| } | |
| } | |
| public void renderSouthFace(Block par1Block, double par2, double par4, double par6, int par8) { | |
| Tessellator.instance.setNormal(1.0F, 0.0F, 0.0F); | |
| Tessellator var9 = Tessellator.instance; | |
| if (this.overrideBlockTexture >= 0) { | |
| par8 = this.overrideBlockTexture; | |
| } | |
| int var10 = (par8 & 15) << 4; | |
| int var11 = par8 & 240; | |
| double var12 = ((double)var10 + par1Block.minZ * 16.0D) / 256.0D; | |
| double var14 = ((double)var10 + par1Block.maxZ * 16.0D - 0.01D) / 256.0D; | |
| double var16 = ((double)(var11 + 16) - par1Block.maxY * 16.0D) / 256.0D; | |
| double var18 = ((double)(var11 + 16) - par1Block.minY * 16.0D - 0.01D) / 256.0D; | |
| double var20; | |
| if (this.flipTexture) { | |
| var20 = var12; | |
| var12 = var14; | |
| var14 = var20; | |
| } | |
| if (par1Block.minZ < 0.0D || par1Block.maxZ > 1.0D) { | |
| var12 = (double)(((float)var10 + 0.0F) / 256.0F); | |
| var14 = (double)(((float)var10 + 15.99F) / 256.0F); | |
| } | |
| if (par1Block.minY < 0.0D || par1Block.maxY > 1.0D) { | |
| var16 = (double)(((float)var11 + 0.0F) / 256.0F); | |
| var18 = (double)(((float)var11 + 15.99F) / 256.0F); | |
| } | |
| var20 = var14; | |
| double var22 = var12; | |
| double var24 = var16; | |
| double var26 = var18; | |
| if (this.uvRotateSouth == 2) { | |
| var12 = ((double)var10 + par1Block.minY * 16.0D) / 256.0D; | |
| var16 = ((double)(var11 + 16) - par1Block.minZ * 16.0D) / 256.0D; | |
| var14 = ((double)var10 + par1Block.maxY * 16.0D) / 256.0D; | |
| var18 = ((double)(var11 + 16) - par1Block.maxZ * 16.0D) / 256.0D; | |
| var24 = var16; | |
| var26 = var18; | |
| var20 = var12; | |
| var22 = var14; | |
| var16 = var18; | |
| var18 = var24; | |
| } else if (this.uvRotateSouth == 1) { | |
| var12 = ((double)(var10 + 16) - par1Block.maxY * 16.0D) / 256.0D; | |
| var16 = ((double)var11 + par1Block.maxZ * 16.0D) / 256.0D; | |
| var14 = ((double)(var10 + 16) - par1Block.minY * 16.0D) / 256.0D; | |
| var18 = ((double)var11 + par1Block.minZ * 16.0D) / 256.0D; | |
| var20 = var14; | |
| var22 = var12; | |
| var12 = var14; | |
| var14 = var22; | |
| var24 = var18; | |
| var26 = var16; | |
| } else if (this.uvRotateSouth == 3) { | |
| var12 = ((double)(var10 + 16) - par1Block.minZ * 16.0D) / 256.0D; | |
| var14 = ((double)(var10 + 16) - par1Block.maxZ * 16.0D - 0.01D) / 256.0D; | |
| var16 = ((double)var11 + par1Block.maxY * 16.0D) / 256.0D; | |
| var18 = ((double)var11 + par1Block.minY * 16.0D - 0.01D) / 256.0D; | |
| var20 = var14; | |
| var22 = var12; | |
| var24 = var16; | |
| var26 = var18; | |
| } | |
| double var28 = par2 + par1Block.maxX; | |
| double var30 = par4 + par1Block.minY; | |
| double var32 = par4 + par1Block.maxY; | |
| double var34 = par6 + par1Block.minZ; | |
| double var36 = par6 + par1Block.maxZ; | |
| if (this.enableAO) { | |
| var9.setColorOpaque_F(this.colorRedTopLeft, this.colorGreenTopLeft, this.colorBlueTopLeft); | |
| var9.setBrightness(this.brightnessTopLeft); | |
| var9.addVertexWithUV(var28, var30, var36, var22, var26); | |
| var9.setColorOpaque_F(this.colorRedBottomLeft, this.colorGreenBottomLeft, this.colorBlueBottomLeft); | |
| var9.setBrightness(this.brightnessBottomLeft); | |
| var9.addVertexWithUV(var28, var30, var34, var14, var18); | |
| var9.setColorOpaque_F(this.colorRedBottomRight, this.colorGreenBottomRight, this.colorBlueBottomRight); | |
| var9.setBrightness(this.brightnessBottomRight); | |
| var9.addVertexWithUV(var28, var32, var34, var20, var24); | |
| var9.setColorOpaque_F(this.colorRedTopRight, this.colorGreenTopRight, this.colorBlueTopRight); | |
| var9.setBrightness(this.brightnessTopRight); | |
| var9.addVertexWithUV(var28, var32, var36, var12, var16); | |
| } else { | |
| var9.addVertexWithUV(var28, var30, var36, var22, var26); | |
| var9.addVertexWithUV(var28, var30, var34, var14, var18); | |
| var9.addVertexWithUV(var28, var32, var34, var20, var24); | |
| var9.addVertexWithUV(var28, var32, var36, var12, var16); | |
| } | |
| } | |
| public void renderBlockAsItem(Block par1Block, int par2, float par3) { | |
| Tessellator var4 = Tessellator.instance; | |
| boolean var5 = par1Block.blockID == Block.grass.blockID; | |
| int var6; | |
| float var7; | |
| float var8; | |
| float var9; | |
| if (this.useInventoryTint) { | |
| var6 = par1Block.getRenderColor(par2); | |
| if (var5) { | |
| var6 = 16777215; | |
| } | |
| var7 = (float)(var6 >> 16 & 255) / 255.0F; | |
| var8 = (float)(var6 >> 8 & 255) / 255.0F; | |
| var9 = (float)(var6 & 255) / 255.0F; | |
| GL11.glColor4f(var7 * par3, var8 * par3, var9 * par3, 1.0F); | |
| } | |
| var6 = par1Block.getRenderType(); | |
| int var14; | |
| if (var6 != 0 && var6 != 16) { | |
| if (var6 == 1) { | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, -1.0F, 0.0F); | |
| this.drawCrossedSquares(par1Block, par2, -0.5D, -0.5D, -0.5D); | |
| var4.draw(); | |
| } else if (var6 == 19) { | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, -1.0F, 0.0F); | |
| par1Block.setBlockBoundsForItemRender(); | |
| this.renderBlockStemSmall(par1Block, par2, par1Block.maxY, -0.5D, -0.5D, -0.5D); | |
| var4.draw(); | |
| } else if (var6 == 23) { | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, -1.0F, 0.0F); | |
| par1Block.setBlockBoundsForItemRender(); | |
| var4.draw(); | |
| } else if (var6 == 13) { | |
| par1Block.setBlockBoundsForItemRender(); | |
| GL11.glTranslatef(-0.5F, -0.5F, -0.5F); | |
| var7 = 0.0625F; | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, -1.0F, 0.0F); | |
| this.renderBottomFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(0)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, 1.0F, 0.0F); | |
| this.renderTopFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(1)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, 0.0F, -1.0F); | |
| var4.addTranslation(0.0F, 0.0F, var7); | |
| this.renderEastFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(2)); | |
| var4.addTranslation(0.0F, 0.0F, -var7); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, 0.0F, 1.0F); | |
| var4.addTranslation(0.0F, 0.0F, -var7); | |
| this.renderWestFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(3)); | |
| var4.addTranslation(0.0F, 0.0F, var7); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(-1.0F, 0.0F, 0.0F); | |
| var4.addTranslation(var7, 0.0F, 0.0F); | |
| this.renderNorthFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(4)); | |
| var4.addTranslation(-var7, 0.0F, 0.0F); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(1.0F, 0.0F, 0.0F); | |
| var4.addTranslation(-var7, 0.0F, 0.0F); | |
| this.renderSouthFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(5)); | |
| var4.addTranslation(var7, 0.0F, 0.0F); | |
| var4.draw(); | |
| GL11.glTranslatef(0.5F, 0.5F, 0.5F); | |
| } else if (var6 == 22) { | |
| ChestItemRenderHelper.instance.func_35609_a(par1Block, par2, par3); | |
| GL11.glEnable(GL12.GL_RESCALE_NORMAL); | |
| } else if (var6 == 6) { | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, -1.0F, 0.0F); | |
| this.renderBlockCropsImpl(par1Block, par2, -0.5D, -0.5D, -0.5D); | |
| var4.draw(); | |
| } else if (var6 == 2) { | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, -1.0F, 0.0F); | |
| this.renderTorchAtAngle(par1Block, -0.5D, -0.5D, -0.5D, 0.0D, 0.0D); | |
| var4.draw(); | |
| } else if (var6 == 10) { | |
| for (var14 = 0; var14 < 2; ++var14) { | |
| if (var14 == 0) { | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 0.5F); | |
| } | |
| if (var14 == 1) { | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.5F, 1.0F, 0.5F, 1.0F); | |
| } | |
| GL11.glTranslatef(-0.5F, -0.5F, -0.5F); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, -1.0F, 0.0F); | |
| this.renderBottomFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(0)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, 1.0F, 0.0F); | |
| this.renderTopFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(1)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, 0.0F, -1.0F); | |
| this.renderEastFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(2)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, 0.0F, 1.0F); | |
| this.renderWestFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(3)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(-1.0F, 0.0F, 0.0F); | |
| this.renderNorthFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(4)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(1.0F, 0.0F, 0.0F); | |
| this.renderSouthFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(5)); | |
| var4.draw(); | |
| GL11.glTranslatef(0.5F, 0.5F, 0.5F); | |
| } | |
| } else if (var6 == 27) { | |
| var14 = 0; | |
| GL11.glTranslatef(-0.5F, -0.5F, -0.5F); | |
| var4.startDrawingQuads(); | |
| for (int var15 = 0; var15 < 8; ++var15) { | |
| byte var16 = 0; | |
| byte var17 = 1; | |
| if (var15 == 0) { | |
| var16 = 2; | |
| } | |
| if (var15 == 1) { | |
| var16 = 3; | |
| } | |
| if (var15 == 2) { | |
| var16 = 4; | |
| } | |
| if (var15 == 3) { | |
| var16 = 5; | |
| var17 = 2; | |
| } | |
| if (var15 == 4) { | |
| var16 = 6; | |
| var17 = 3; | |
| } | |
| if (var15 == 5) { | |
| var16 = 7; | |
| var17 = 5; | |
| } | |
| if (var15 == 6) { | |
| var16 = 6; | |
| var17 = 2; | |
| } | |
| if (var15 == 7) { | |
| var16 = 3; | |
| } | |
| float var11 = (float)var16 / 16.0F; | |
| float var12 = 1.0F - (float)var14 / 16.0F; | |
| float var13 = 1.0F - (float)(var14 + var17) / 16.0F; | |
| var14 += var17; | |
| par1Block.setBlockBounds(0.5F - var11, var13, 0.5F - var11, 0.5F + var11, var12, 0.5F + var11); | |
| var4.setNormal(0.0F, -1.0F, 0.0F); | |
| this.renderBottomFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(0)); | |
| var4.setNormal(0.0F, 1.0F, 0.0F); | |
| this.renderTopFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(1)); | |
| var4.setNormal(0.0F, 0.0F, -1.0F); | |
| this.renderEastFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(2)); | |
| var4.setNormal(0.0F, 0.0F, 1.0F); | |
| this.renderWestFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(3)); | |
| var4.setNormal(-1.0F, 0.0F, 0.0F); | |
| this.renderNorthFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(4)); | |
| var4.setNormal(1.0F, 0.0F, 0.0F); | |
| this.renderSouthFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(5)); | |
| } | |
| var4.draw(); | |
| GL11.glTranslatef(0.5F, 0.5F, 0.5F); | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); | |
| } else if (var6 == 11) { | |
| for (var14 = 0; var14 < 4; ++var14) { | |
| var8 = 0.125F; | |
| if (var14 == 0) { | |
| par1Block.setBlockBounds(0.5F - var8, 0.0F, 0.0F, 0.5F + var8, 1.0F, var8 * 2.0F); | |
| } | |
| if (var14 == 1) { | |
| par1Block.setBlockBounds(0.5F - var8, 0.0F, 1.0F - var8 * 2.0F, 0.5F + var8, 1.0F, 1.0F); | |
| } | |
| var8 = 0.0625F; | |
| if (var14 == 2) { | |
| par1Block.setBlockBounds(0.5F - var8, 1.0F - var8 * 3.0F, -var8 * 2.0F, 0.5F + var8, 1.0F - var8, 1.0F + var8 * 2.0F); | |
| } | |
| if (var14 == 3) { | |
| par1Block.setBlockBounds(0.5F - var8, 0.5F - var8 * 3.0F, -var8 * 2.0F, 0.5F + var8, 0.5F - var8, 1.0F + var8 * 2.0F); | |
| } | |
| GL11.glTranslatef(-0.5F, -0.5F, -0.5F); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, -1.0F, 0.0F); | |
| this.renderBottomFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(0)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, 1.0F, 0.0F); | |
| this.renderTopFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(1)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, 0.0F, -1.0F); | |
| this.renderEastFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(2)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, 0.0F, 1.0F); | |
| this.renderWestFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(3)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(-1.0F, 0.0F, 0.0F); | |
| this.renderNorthFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(4)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(1.0F, 0.0F, 0.0F); | |
| this.renderSouthFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(5)); | |
| var4.draw(); | |
| GL11.glTranslatef(0.5F, 0.5F, 0.5F); | |
| } | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); | |
| } else if (var6 == 21) { | |
| for (var14 = 0; var14 < 3; ++var14) { | |
| var8 = 0.0625F; | |
| if (var14 == 0) { | |
| par1Block.setBlockBounds(0.5F - var8, 0.3F, 0.0F, 0.5F + var8, 1.0F, var8 * 2.0F); | |
| } | |
| if (var14 == 1) { | |
| par1Block.setBlockBounds(0.5F - var8, 0.3F, 1.0F - var8 * 2.0F, 0.5F + var8, 1.0F, 1.0F); | |
| } | |
| var8 = 0.0625F; | |
| if (var14 == 2) { | |
| par1Block.setBlockBounds(0.5F - var8, 0.5F, 0.0F, 0.5F + var8, 1.0F - var8, 1.0F); | |
| } | |
| GL11.glTranslatef(-0.5F, -0.5F, -0.5F); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, -1.0F, 0.0F); | |
| this.renderBottomFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(0)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, 1.0F, 0.0F); | |
| this.renderTopFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(1)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, 0.0F, -1.0F); | |
| this.renderEastFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(2)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, 0.0F, 1.0F); | |
| this.renderWestFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(3)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(-1.0F, 0.0F, 0.0F); | |
| this.renderNorthFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(4)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(1.0F, 0.0F, 0.0F); | |
| this.renderSouthFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSide(5)); | |
| var4.draw(); | |
| GL11.glTranslatef(0.5F, 0.5F, 0.5F); | |
| } | |
| par1Block.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); | |
| } | |
| } else { | |
| if (var6 == 16) { | |
| par2 = 1; | |
| } | |
| par1Block.setBlockBoundsForItemRender(); | |
| GL11.glTranslatef(-0.5F, -0.5F, -0.5F); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, -1.0F, 0.0F); | |
| this.renderBottomFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSideAndMetadata(0, par2)); | |
| var4.draw(); | |
| if (var5 && this.useInventoryTint) { | |
| var14 = par1Block.getRenderColor(par2); | |
| var8 = (float)(var14 >> 16 & 255) / 255.0F; | |
| var9 = (float)(var14 >> 8 & 255) / 255.0F; | |
| float var10 = (float)(var14 & 255) / 255.0F; | |
| GL11.glColor4f(var8 * par3, var9 * par3, var10 * par3, 1.0F); | |
| } | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, 1.0F, 0.0F); | |
| this.renderTopFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSideAndMetadata(1, par2)); | |
| var4.draw(); | |
| if (var5 && this.useInventoryTint) { | |
| GL11.glColor4f(par3, par3, par3, 1.0F); | |
| } | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, 0.0F, -1.0F); | |
| this.renderEastFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSideAndMetadata(2, par2)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(0.0F, 0.0F, 1.0F); | |
| this.renderWestFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSideAndMetadata(3, par2)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(-1.0F, 0.0F, 0.0F); | |
| this.renderNorthFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSideAndMetadata(4, par2)); | |
| var4.draw(); | |
| var4.startDrawingQuads(); | |
| var4.setNormal(1.0F, 0.0F, 0.0F); | |
| this.renderSouthFace(par1Block, 0.0D, 0.0D, 0.0D, par1Block.getBlockTextureFromSideAndMetadata(5, par2)); | |
| var4.draw(); | |
| GL11.glTranslatef(0.5F, 0.5F, 0.5F); | |
| } | |
| } | |
| public static boolean renderItemIn3d(int par0) { | |
| return par0 == 0?true:(par0 == 13?true:(par0 == 10?true:(par0 == 11?true:(par0 == 27?true:(par0 == 22?true:(par0 == 21?true:par0 == 16)))))); | |
| } | |
| //Spout start | |
| public static int getSideGrassTexture(IBlockAccess world, int x, int y, int z, int blockface) { | |
| if (ConfigReader.betterGrass == 0) { | |
| return 3; | |
| } else { | |
| if(ConfigReader.betterGrass == 2) { | |
| --y; | |
| switch(blockface) { | |
| case 2: | |
| --z; | |
| break; | |
| case 3: | |
| ++z; | |
| break; | |
| case 4: | |
| --x; | |
| break; | |
| case 5: | |
| ++x; | |
| } | |
| int id = world.getBlockId(x, y, z); | |
| if(id != 2) { | |
| return 3; | |
| } | |
| } | |
| return 0; | |
| } | |
| } | |
| public static int getSideSnowGrassTexture(IBlockAccess world, int x, int y, int z, int blockface) { | |
| if (ConfigReader.betterGrass == 0) { | |
| return 68; | |
| } else { | |
| if (ConfigReader.betterGrass == 2) { | |
| switch(blockface) { | |
| case 2: | |
| --z; | |
| break; | |
| case 3: | |
| ++z; | |
| break; | |
| case 4: | |
| --x; | |
| break; | |
| case 5: | |
| ++x; | |
| } | |
| int id = world.getBlockId(x, y, z); | |
| if(id != 78 && id != 80) { | |
| return 68; | |
| } | |
| } | |
| return 66; | |
| } | |
| } | |
| public static float adjustAmbientOcclusion(float lightValue, float lightPosition) { | |
| if(Minecraft.theMinecraft.theWorld.worldProvider.lightBrightnessTable == null) { | |
| return lightValue; | |
| } | |
| if(lightValue > Minecraft.theMinecraft.theWorld.worldProvider.lightBrightnessTable[0]) { | |
| return lightValue; | |
| } | |
| if (lightPosition <= Minecraft.theMinecraft.theWorld.worldProvider.lightBrightnessTable[1]) { | |
| return lightValue; | |
| } | |
| return lightValue + (lightPosition - lightValue) * (1.0F - org.spoutcraft.client.config.ConfigReader.brightnessSlider); | |
| } | |
| private boolean dirtyAmbientOcclusionCache = true; | |
| private void calculateAmbientOcclusionLightValues(Block block, int x, int y, int z) { | |
| this.aoLightValueXNeg = block.getAmbientOcclusionLightValue(this.blockAccess, x - 1, y, z); | |
| this.aoLightValueYNeg = block.getAmbientOcclusionLightValue(this.blockAccess, x, y - 1, z); | |
| this.aoLightValueZNeg = block.getAmbientOcclusionLightValue(this.blockAccess, x, y, z - 1); | |
| this.aoLightValueXPos = block.getAmbientOcclusionLightValue(this.blockAccess, x + 1, y, z); | |
| this.aoLightValueYPos = block.getAmbientOcclusionLightValue(this.blockAccess, x, y + 1, z); | |
| this.aoLightValueZPos = block.getAmbientOcclusionLightValue(this.blockAccess, x, y, z + 1); | |
| this.aoGrassXYZPPC = Block.canBlockGrass[this.blockAccess.getBlockId(x + 1, y + 1, z)]; | |
| this.aoGrassXYZPNC = Block.canBlockGrass[this.blockAccess.getBlockId(x + 1, y - 1, z)]; | |
| this.aoGrassXYZPCP = Block.canBlockGrass[this.blockAccess.getBlockId(x + 1, y, z + 1)]; | |
| this.aoGrassXYZPCN = Block.canBlockGrass[this.blockAccess.getBlockId(x + 1, y, z - 1)]; | |
| this.aoGrassXYZNPC = Block.canBlockGrass[this.blockAccess.getBlockId(x - 1, y + 1, z)]; | |
| this.aoGrassXYZNNC = Block.canBlockGrass[this.blockAccess.getBlockId(x - 1, y - 1, z)]; | |
| this.aoGrassXYZNCN = Block.canBlockGrass[this.blockAccess.getBlockId(x - 1, y, z - 1)]; | |
| this.aoGrassXYZNCP = Block.canBlockGrass[this.blockAccess.getBlockId(x - 1, y, z + 1)]; | |
| this.aoGrassXYZCPP = Block.canBlockGrass[this.blockAccess.getBlockId(x, y + 1, z + 1)]; | |
| this.aoGrassXYZCPN = Block.canBlockGrass[this.blockAccess.getBlockId(x, y + 1, z - 1)]; | |
| this.aoGrassXYZCNP = Block.canBlockGrass[this.blockAccess.getBlockId(x, y - 1, z + 1)]; | |
| this.aoGrassXYZCNN = Block.canBlockGrass[this.blockAccess.getBlockId(x, y - 1, z - 1)]; | |
| this.dirtyAmbientOcclusionCache = false; | |
| } | |
| //Spout end | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment