From 1bd0475e49dd69a441aa52d8bf59a02057b7ae75 Mon Sep 17 00:00:00 2001 From: mckuhei Date: Thu, 4 May 2023 20:22:48 +0800 Subject: [PATCH] Fix some block renderer. --- .../net/minecraft/src/RenderBlocks.java | 666 ++++++++++++++++-- 1 file changed, 614 insertions(+), 52 deletions(-) diff --git a/src/minecraft/net/minecraft/src/RenderBlocks.java b/src/minecraft/net/minecraft/src/RenderBlocks.java index 0fa961f..ff1e179 100644 --- a/src/minecraft/net/minecraft/src/RenderBlocks.java +++ b/src/minecraft/net/minecraft/src/RenderBlocks.java @@ -7,6 +7,8 @@ import org.mcmodule.math.BigInteger; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; +import static net.minecraft.client.Minecraft.FIX_RENDERER; + public class RenderBlocks { /** The IBlockAccess used by this instance of RenderBlocks */ @@ -376,7 +378,72 @@ public class RenderBlocks { int var5 = par1Block.getRenderType(); par1Block.setBlockBoundsBasedOnState(this.blockAccess, par2, par3, par4); - return var5 == 0 ? this.renderStandardBlock(par1Block, par2, par3, par4) : (var5 == 31 ? this.func_78581_r(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 == 29 ? this.func_78577_f(par1Block, par2, par3, par4) : (var5 == 30 ? this.func_78619_g(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) : (var5 == 28 ? this.func_78616_a((BlockCocoa)par1Block, par2, par3, par4) : false)))))))))))))))))))))))))))))); + switch(var5) { + case 0: + return this.renderStandardBlock(par1Block, par2, par3, par4); + case 1: + return this.renderCrossedSquares(par1Block, par2, par3, par4); + case 2: + return this.renderBlockTorch(par1Block, par2, par3, par4); + case 3: + return this.renderBlockFire(par1Block, par2, par3, par4); + case 4: + return this.renderBlockFluids(par1Block, par2, par3, par4); + case 5: + return this.renderBlockRedstoneWire(par1Block, par2, par3, par4); + case 6: + return this.renderBlockCrops(par1Block, par2, par3, par4); + case 7: + return this.renderBlockDoor(par1Block, par2, par3, par4); + case 8: + return this.renderBlockLadder(par1Block, par2, par3, par4); + case 9: + return this.renderBlockMinecartTrack((BlockRail)par1Block, par2, par3, par4); + case 10: + return this.renderBlockStairs(par1Block, par2, par3, par4); + case 11: + return this.renderBlockFence((BlockFence)par1Block, par2, par3, par4); + case 12: + return this.renderBlockLever(par1Block, par2, par3, par4); + case 13: + return this.renderBlockCactus(par1Block, par2, par3, par4); + case 14: + return this.renderBlockBed(par1Block, par2, par3, par4); + case 15: + return this.renderBlockRepeater(par1Block, par2, par3, par4); + case 16: + return this.renderPistonBase(par1Block, par2, par3, par4, false); + case 17: + return this.renderPistonExtension(par1Block, par2, par3, par4, true); + case 18: + return this.renderBlockPane((BlockPane)par1Block, par2, par3, par4); + case 19: + return this.renderBlockStem(par1Block, par2, par3, par4); + case 20: + return this.renderBlockVine(par1Block, par2, par3, par4); + case 21: + return this.renderBlockFenceGate((BlockFenceGate)par1Block, par2, par3, par4); + case 23: + return this.renderBlockLilyPad(par1Block, par2, par3, par4); + case 24: + return this.renderBlockCauldron((BlockCauldron)par1Block, par2, par3, par4); + case 25: + return this.renderBlockBrewingStand((BlockBrewingStand)par1Block, par2, par3, par4); + case 26: + return this.renderBlockEndPortalFrame(par1Block, par2, par3, par4); + case 27: + return this.renderBlockDragonEgg((BlockDragonEgg)par1Block, par2, par3, par4); + case 28: + return this.renderBlockCocoa((BlockCocoa)par1Block, par2, par3, par4); + case 29: + return this.renderBlockTripWireSource(par1Block, par2, par3, par4); + case 30: + return this.renderBlockTripWire(par1Block, par2, par3, par4); + case 31: + return this.renderBlockLog(par1Block, par2, par3, par4); + default: + return false; + } } /** @@ -711,27 +778,31 @@ public class RenderBlocks double var7 = 0.4000000059604645D; double var9 = 0.5D - var7; double var11 = 0.20000000298023224D; + + if(FIX_RENDERER) var6.setDontTranslate(true); if (var5 == 1) { - this.renderTorchAtAngle(par1Block, par2.doubleValue() - var9, (double)par3 + var11, par4.doubleValue(), -var7, 0.0D); + this.renderTorchAtAngle(par1Block, (FIX_RENDERER ? par2.intValue() & 0xF : par2.doubleValue()) - var9, (FIX_RENDERER ? par3 & 0xF : par3) + var11, (FIX_RENDERER ? par4.intValue() & 0xF : par4.doubleValue()), -var7, 0.0D); } else if (var5 == 2) { - this.renderTorchAtAngle(par1Block, par2.doubleValue() + var9, (double)par3 + var11, par4.doubleValue(), var7, 0.0D); + this.renderTorchAtAngle(par1Block, (FIX_RENDERER ? par2.intValue() & 0xF : par2.doubleValue()) + var9, (FIX_RENDERER ? par3 & 0xF : par3) + var11, (FIX_RENDERER ? par4.intValue() & 0xF : par4.doubleValue()), var7, 0.0D); } else if (var5 == 3) { - this.renderTorchAtAngle(par1Block, par2.doubleValue(), (double)par3 + var11, par4.doubleValue() - var9, 0.0D, -var7); + this.renderTorchAtAngle(par1Block, (FIX_RENDERER ? par2.intValue() & 0xF : par2.doubleValue()), (FIX_RENDERER ? par3 & 0xF : par3) + var11, (FIX_RENDERER ? par4.intValue() & 0xF : par4.doubleValue()) - var9, 0.0D, -var7); } else if (var5 == 4) { - this.renderTorchAtAngle(par1Block, par2.doubleValue(), (double)par3 + var11, par4.doubleValue() + var9, 0.0D, var7); + this.renderTorchAtAngle(par1Block, (FIX_RENDERER ? par2.intValue() & 0xF : par2.doubleValue()), (FIX_RENDERER ? par3 & 0xF : par3) + var11, (FIX_RENDERER ? par4.intValue() & 0xF : par4.doubleValue()) + var9, 0.0D, var7); } else { - this.renderTorchAtAngle(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), 0.0D, 0.0D); + this.renderTorchAtAngle(par1Block, (FIX_RENDERER ? par2.intValue() & 0xF : par2.doubleValue()), (FIX_RENDERER ? par3 & 0xF : par3), (FIX_RENDERER ? par4.intValue() & 0xF : par4.doubleValue()), 0.0D, 0.0D); } + + if(FIX_RENDERER) var6.setDontTranslate(false); return true; } @@ -1228,6 +1299,13 @@ public class RenderBlocks var21[5] = Vec3.getVec3Pool().getVecFromPool((double)var22, (double)var24, (double)(-var23)); var21[6] = Vec3.getVec3Pool().getVecFromPool((double)var22, (double)var24, (double)var23); var21[7] = Vec3.getVec3Pool().getVecFromPool((double)(-var22), (double)var24, (double)var23); + + if(FIX_RENDERER) { + var8.setDontTranslate(true); + par2 = BigInteger.valueOf(par2.intValue() & 0xF); + par3 &= 0xF; + par4 = BigInteger.valueOf(par4.intValue() & 0xF); + } for (int var25 = 0; var25 < 8; ++var25) { @@ -1366,10 +1444,12 @@ public class RenderBlocks var8.addVertexWithUV(var28.xCoord, var28.yCoord, var28.zCoord, (double)var17, (double)var19); } + if(FIX_RENDERER) var8.setDontTranslate(false); + return true; } - public boolean func_78577_f(Block par1Block, BigInteger par2, int par3, BigInteger par4) + public boolean renderBlockTripWireSource(Block par1Block, BigInteger par2, int par3, BigInteger par4) { Tessellator var5 = tessellator; int var6 = this.blockAccess.getBlockMetadata(par2, par3, par4); @@ -1751,7 +1831,7 @@ public class RenderBlocks return true; } - public boolean func_78619_g(Block par1Block, BigInteger par2, int par3, BigInteger par4) + public boolean renderBlockTripWire(Block par1Block, BigInteger par2, int par3, BigInteger par4) { Tessellator var5 = tessellator; int var6 = par1Block.getBlockTextureFromSide(0); @@ -1892,6 +1972,9 @@ public class RenderBlocks */ public boolean renderBlockFire(Block par1Block, BigInteger par2, int par3, BigInteger par4) { + if(FIX_RENDERER) { + return renderBlockFire(par1Block, BigInteger.valueOf(par2.intValue() & 0xF), par3 & 0xF, BigInteger.valueOf(par4.intValue() & 0xF), par2, par3, par4); + } Tessellator var5 = tessellator; int var6 = par1Block.getBlockTextureFromSide(0); @@ -2099,12 +2182,226 @@ public class RenderBlocks return true; } + + public boolean renderBlockFire(Block par1Block, BigInteger par2, int par3, BigInteger par4, BigInteger realX, int realY, BigInteger realZ) + { + Tessellator var5 = tessellator; + var5.setDontTranslate(true); + 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, realX, realY, realZ)); + 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.doesBlockHaveSolidTopSurface(realX, realY - 1, realZ) && !Block.fire.canBlockCatchFire(this.blockAccess, realX, realY - 1, realZ)) + { + float var36 = 0.2F; + float var19 = 0.0625F; + + // TODO: par2.intValue() ^ par4.intValue() ^ par3 may have better performance + if ((par2.add(par4).add(BigInteger.valueOf(par3)).intValue() & 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); + } + + // TODO: par2.intValue() / 2 ^ par4.intValue() / 2 ^ par3 / 2 may have better performance + if ((par2.divide(BigInteger.valueOf(2)).add(par4.divide(BigInteger.valueOf(2))).add(BigInteger.valueOf(par3 / 2)).intValue() & 1) == 1) + { + var20 = var11; + var11 = var9; + var9 = var20; + } + + if (Block.fire.canBlockCatchFire(this.blockAccess, realX.subtract(BigInteger.ONE), realY, realZ)) + { + var5.addVertexWithUV((double)(par2.floatValue() + var36), (double)((float)par3 + var17 + var19), par4.add(BigInteger.ONE).doubleValue(), var11, var13); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)(par3 + 0) + var19), par4.add(BigInteger.ONE).doubleValue(), var11, var15); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)(par3 + 0) + var19), par4.doubleValue(), var9, var15); + var5.addVertexWithUV((double)(par2.floatValue() + var36), (double)((float)par3 + var17 + var19), par4.doubleValue(), var9, var13); + var5.addVertexWithUV((double)(par2.floatValue() + var36), (double)((float)par3 + var17 + var19), par4.doubleValue(), var9, var13); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)(par3 + 0) + var19), par4.doubleValue(), var9, var15); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)(par3 + 0) + var19), par4.add(BigInteger.ONE).doubleValue(), var11, var15); + var5.addVertexWithUV((double)(par2.floatValue() + var36), (double)((float)par3 + var17 + var19), par4.add(BigInteger.ONE).doubleValue(), var11, var13); + } + + if (Block.fire.canBlockCatchFire(this.blockAccess, realX.add(BigInteger.ONE), realY, realZ)) + { + var5.addVertexWithUV((double)(par2.add(BigInteger.ONE).floatValue() - var36), (double)((float)par3 + var17 + var19), par4.doubleValue(), var9, var13); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)(par3 + 0) + var19), par4.doubleValue(), var9, var15); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)(par3 + 0) + var19), par4.add(BigInteger.ONE).doubleValue(), var11, var15); + var5.addVertexWithUV((double)(par2.add(BigInteger.ONE).floatValue() - var36), (double)((float)par3 + var17 + var19), par4.add(BigInteger.ONE).doubleValue(), var11, var13); + var5.addVertexWithUV((double)(par2.add(BigInteger.ONE).floatValue() - var36), (double)((float)par3 + var17 + var19), par4.add(BigInteger.ONE).doubleValue(), var11, var13); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)(par3 + 0) + var19), par4.add(BigInteger.ONE).doubleValue(), var11, var15); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)(par3 + 0) + var19), par4.doubleValue(), var9, var15); + var5.addVertexWithUV((double)(par2.add(BigInteger.ONE).floatValue() - var36), (double)((float)par3 + var17 + var19), par4.doubleValue(), var9, var13); + } + + if (Block.fire.canBlockCatchFire(this.blockAccess, realX, realY, realZ.subtract(BigInteger.ONE))) + { + var5.addVertexWithUV(par2.doubleValue(), (double)((float)par3 + var17 + var19), (double)((par4).floatValue() + var36), var11, var13); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)(par3 + 0) + var19), par4.doubleValue(), var11, var15); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)(par3 + 0) + var19), par4.doubleValue(), var9, var15); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)par3 + var17 + var19), (double)((par4).floatValue() + var36), var9, var13); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)par3 + var17 + var19), (double)((par4).floatValue() + var36), var9, var13); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)(par3 + 0) + var19), par4.doubleValue(), var9, var15); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)(par3 + 0) + var19), par4.doubleValue(), var11, var15); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)par3 + var17 + var19), (double)((par4).floatValue() + var36), var11, var13); + } + + if (Block.fire.canBlockCatchFire(this.blockAccess, realX, realY, realZ.add(BigInteger.ONE))) + { + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)par3 + var17 + var19), (double)(par4.add(BigInteger.ONE).floatValue() - var36), var9, var13); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)(par3 + 0) + var19), par4.add(BigInteger.ONE).doubleValue(), var9, var15); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)(par3 + 0) + var19), par4.add(BigInteger.ONE).doubleValue(), var11, var15); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)par3 + var17 + var19), (double)(par4.add(BigInteger.ONE).floatValue() - var36), var11, var13); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)par3 + var17 + var19), (double)(par4.add(BigInteger.ONE).floatValue() - var36), var11, var13); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)(par3 + 0) + var19), par4.add(BigInteger.ONE).doubleValue(), var11, var15); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)(par3 + 0) + var19), par4.add(BigInteger.ONE).doubleValue(), var9, var15); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)par3 + var17 + var19), (double)(par4.add(BigInteger.ONE).floatValue() - var36), var9, var13); + } + + if (Block.fire.canBlockCatchFire(this.blockAccess, realX, realY + 1, realZ)) + { + var20 = par2.doubleValue() + 0.5D + 0.5D; + var22 = par2.doubleValue() + 0.5D - 0.5D; + var24 = par4.doubleValue() + 0.5D + 0.5D; + var26 = par4.doubleValue() + 0.5D - 0.5D; + var28 = par2.doubleValue() + 0.5D - 0.5D; + var30 = par2.doubleValue() + 0.5D + 0.5D; + var32 = par4.doubleValue() + 0.5D - 0.5D; + double var34 = par4.doubleValue() + 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; + + // TODO: par2.intValue() + par4.intValue() + par3 may have better performance + if ((par2.add(par4).add(BigInteger.valueOf(par3)).intValue() & 1) == 1) + { + var5.addVertexWithUV(var28, (double)((float)par3 + var17), par4.doubleValue(), var11, var13); + var5.addVertexWithUV(var20, par3, par4.doubleValue(), var11, var15); + var5.addVertexWithUV(var20, par3, par4.add(BigInteger.ONE).doubleValue(), var9, var15); + var5.addVertexWithUV(var28, (double)((float)par3 + var17), par4.add(BigInteger.ONE).doubleValue(), 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), par4.add(BigInteger.ONE).doubleValue(), var11, var13); + var5.addVertexWithUV(var22, par3, par4.add(BigInteger.ONE).doubleValue(), var11, var15); + var5.addVertexWithUV(var22, par3, par4.doubleValue(), var9, var15); + var5.addVertexWithUV(var30, (double)((float)par3 + var17), par4.doubleValue(), var9, var13); + } + else + { + var5.addVertexWithUV(par2.doubleValue(), (double)((float)par3 + var17), var34, var11, var13); + var5.addVertexWithUV(par2.doubleValue(), par3, var26, var11, var15); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), par3, var26, var9, var15); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (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(par2.add(BigInteger.ONE).doubleValue(), (double)((float)par3 + var17), var32, var11, var13); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), par3, var24, var11, var15); + var5.addVertexWithUV(par2.doubleValue(), par3, var24, var9, var15); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)par3 + var17), var32, var9, var13); + } + } + } + else + { + double var18 = par2.doubleValue() + 0.5D + 0.2D; + var20 = par2.doubleValue() + 0.5D - 0.2D; + var22 = par4.doubleValue() + 0.5D + 0.2D; + var24 = par4.doubleValue() + 0.5D - 0.2D; + var26 = par2.doubleValue() + 0.5D - 0.3D; + var28 = par2.doubleValue() + 0.5D + 0.3D; + var30 = par4.doubleValue() + 0.5D - 0.3D; + var32 = par4.doubleValue() + 0.5D + 0.3D; + var5.addVertexWithUV(var26, (double)((float)par3 + var17), par4.add(BigInteger.ONE).doubleValue(), var11, var13); + var5.addVertexWithUV(var18, par3, par4.add(BigInteger.ONE).doubleValue(), var11, var15); + var5.addVertexWithUV(var18, par3, par4.doubleValue(), var9, var15); + var5.addVertexWithUV(var26, (double)((float)par3 + var17), par4.doubleValue(), var9, var13); + var5.addVertexWithUV(var28, (double)((float)par3 + var17), par4.doubleValue(), var11, var13); + var5.addVertexWithUV(var20, par3, par4.doubleValue(), var11, var15); + var5.addVertexWithUV(var20, par3, par4.add(BigInteger.ONE).doubleValue(), var9, var15); + var5.addVertexWithUV(var28, (double)((float)par3 + var17), par4.add(BigInteger.ONE).doubleValue(), 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(par2.add(BigInteger.ONE).doubleValue(), (double)((float)par3 + var17), var32, var11, var13); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), par3, var24, var11, var15); + var5.addVertexWithUV(par2.doubleValue(), par3, var24, var9, var15); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)par3 + var17), var32, var9, var13); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)par3 + var17), var30, var11, var13); + var5.addVertexWithUV(par2.doubleValue(), par3, var22, var11, var15); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), par3, var22, var9, var15); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)par3 + var17), var30, var9, var13); + var18 = par2.doubleValue() + 0.5D - 0.5D; + var20 = par2.doubleValue() + 0.5D + 0.5D; + var22 = par4.doubleValue() + 0.5D - 0.5D; + var24 = par4.doubleValue() + 0.5D + 0.5D; + var26 = par2.doubleValue() + 0.5D - 0.4D; + var28 = par2.doubleValue() + 0.5D + 0.4D; + var30 = par4.doubleValue() + 0.5D - 0.4D; + var32 = par4.doubleValue() + 0.5D + 0.4D; + var5.addVertexWithUV(var26, (double)((float)par3 + var17), par4.doubleValue(), var9, var13); + var5.addVertexWithUV(var18, par3, par4.doubleValue(), var9, var15); + var5.addVertexWithUV(var18, par3, par4.add(BigInteger.ONE).doubleValue(), var11, var15); + var5.addVertexWithUV(var26, (double)((float)par3 + var17), par4.add(BigInteger.ONE).doubleValue(), var11, var13); + var5.addVertexWithUV(var28, (double)((float)par3 + var17), par4.add(BigInteger.ONE).doubleValue(), var9, var13); + var5.addVertexWithUV(var20, par3, par4.add(BigInteger.ONE).doubleValue(), var9, var15); + var5.addVertexWithUV(var20, par3, par4.doubleValue(), var11, var15); + var5.addVertexWithUV(var28, (double)((float)par3 + var17), par4.doubleValue(), 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(par2.doubleValue(), (double)((float)par3 + var17), var32, var9, var13); + var5.addVertexWithUV(par2.doubleValue(), par3, var24, var9, var15); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), par3, var24, var11, var15); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)par3 + var17), var32, var11, var13); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)par3 + var17), var30, var9, var13); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), par3, var22, var9, var15); + var5.addVertexWithUV(par2.doubleValue(), par3, var22, var11, var15); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)par3 + var17), var30, var11, var13); + } + var5.setDontTranslate(false); + return true; + } /** * Renders a redstone wire block at the given coordinates */ public boolean renderBlockRedstoneWire(Block par1Block, BigInteger par2, int par3, BigInteger par4) { + if(FIX_RENDERER) { + return renderBlockRedstoneWire(par1Block, BigInteger.valueOf(par2.intValue() & 0xF), par3 & 0xF, BigInteger.valueOf(par4.intValue() & 0xF), par2, par3, par4); + } Tessellator var5 = tessellator; int var6 = this.blockAccess.getBlockMetadata(par2, par3, par4); int var7 = par1Block.getBlockTextureFromSideAndMetadata(1, var6); @@ -2339,6 +2636,244 @@ public class RenderBlocks return true; } + + public boolean renderBlockRedstoneWire(Block par1Block, BigInteger par2, int par3, BigInteger par4, BigInteger realX, int realY, BigInteger realZ) + { + Tessellator var5 = tessellator; + var5.setDontTranslate(true); + 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, realX, realY, realZ)); + float var8 = 1.0F; + float var9 = (float)var6 / 15.0F; + float var10 = var9 * 0.6F + 0.4F; + + if (var6 == 0) + { + var10 = 0.3F; + } + + float var11 = var9 * var9 * 0.7F - 0.5F; + float var12 = var9 * var9 * 0.6F - 0.7F; + + 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, realX.subtract(BigInteger.ONE), realY, realZ, 1) || !this.blockAccess.isBlockNormalCube(par2.subtract(BigInteger.ONE), par3, par4) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, realX.subtract(BigInteger.ONE), realY - 1, realZ, -1); + boolean var30 = BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, realX.add(BigInteger.ONE), realY, realZ, 3) || !this.blockAccess.isBlockNormalCube(par2.add(BigInteger.ONE), par3, par4) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, realX.add(BigInteger.ONE), realY - 1, realZ, -1); + boolean var31 = BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, realX, realY, par4.subtract(BigInteger.ONE), 2) || !this.blockAccess.isBlockNormalCube(par2, par3, par4.subtract(BigInteger.ONE)) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, realX, realY - 1, realZ.subtract(BigInteger.ONE), -1); + boolean var32 = BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, realX, realY, par4.add(BigInteger.ONE), 0) || !this.blockAccess.isBlockNormalCube(par2, par3, par4.add(BigInteger.ONE)) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, realX, realY - 1, realZ.add(BigInteger.ONE), -1); + + if (!this.blockAccess.isBlockNormalCube(realX, realY + 1, realZ)) + { + if (this.blockAccess.isBlockNormalCube(realX.subtract(BigInteger.ONE), realY, realZ) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, realX.subtract(BigInteger.ONE), realY + 1, realZ, -1)) + { + var29 = true; + } + + if (this.blockAccess.isBlockNormalCube(realX.add(BigInteger.ONE), realY, realZ) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, realX.add(BigInteger.ONE), realY + 1, realZ, -1)) + { + var30 = true; + } + + if (this.blockAccess.isBlockNormalCube(realX, realY, realZ.subtract(BigInteger.ONE)) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, realX, realY + 1, realZ.subtract(BigInteger.ONE), -1)) + { + var31 = true; + } + + if (this.blockAccess.isBlockNormalCube(realX, realY, realZ.add(BigInteger.ONE)) && BlockRedstoneWire.isPowerProviderOrWire(this.blockAccess, realX, realY + 1, realZ.add(BigInteger.ONE), -1)) + { + var32 = true; + } + } + + float var34 = par2.floatValue(); + float var35 = par2.add(BigInteger.ONE).floatValue(); + float var36 = par4.floatValue(); + float var37 = par4.add(BigInteger.ONE).floatValue(); + 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(realX, realY + 1, realZ)) + { + 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(realX.subtract(BigInteger.ONE), realY, realZ) && this.blockAccess.getBlockId(realX.subtract(BigInteger.ONE), realY + 1, realZ) == Block.redstoneWire.blockID) + { + var5.setColorOpaque_F(var8 * var10, var8 * var11, var8 * var12); + var5.addVertexWithUV(par2.doubleValue() + 0.015625D, (double)((float)(par3 + 1) + 0.021875F), par4.add(BigInteger.ONE).doubleValue(), var17, var19); + var5.addVertexWithUV(par2.doubleValue() + 0.015625D, par3, par4.add(BigInteger.ONE).doubleValue(), var15, var19); + var5.addVertexWithUV(par2.doubleValue() + 0.015625D, par3, par4.doubleValue(), var15, var21); + var5.addVertexWithUV(par2.doubleValue() + 0.015625D, (double)((float)(par3 + 1) + 0.021875F), par4.doubleValue(), var17, var21); + var5.setColorOpaque_F(var8, var8, var8); + var5.addVertexWithUV(par2.doubleValue() + 0.015625D, (double)((float)(par3 + 1) + 0.021875F), par4.add(BigInteger.ONE).doubleValue(), var17, var19 + 0.0625D); + var5.addVertexWithUV(par2.doubleValue() + 0.015625D, par3, par4.add(BigInteger.ONE).doubleValue(), var15, var19 + 0.0625D); + var5.addVertexWithUV(par2.doubleValue() + 0.015625D, par3, par4.doubleValue(), var15, var21 + 0.0625D); + var5.addVertexWithUV(par2.doubleValue() + 0.015625D, (double)((float)(par3 + 1) + 0.021875F), par4.doubleValue(), var17, var21 + 0.0625D); + } + + if (this.blockAccess.isBlockNormalCube(realX.add(BigInteger.ONE), realY, realZ) && this.blockAccess.getBlockId(realX.add(BigInteger.ONE), realY + 1, realZ) == Block.redstoneWire.blockID) + { + var5.setColorOpaque_F(var8 * var10, var8 * var11, var8 * var12); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue() - 0.015625D, par3, par4.add(BigInteger.ONE).doubleValue(), var15, var21); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue() - 0.015625D, (double)((float)(par3 + 1) + 0.021875F), par4.add(BigInteger.ONE).doubleValue(), var17, var21); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue() - 0.015625D, (double)((float)(par3 + 1) + 0.021875F), par4.doubleValue(), var17, var19); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue() - 0.015625D, par3, par4.doubleValue(), var15, var19); + var5.setColorOpaque_F(var8, var8, var8); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue() - 0.015625D, par3, par4.add(BigInteger.ONE).doubleValue(), var15, var21 + 0.0625D); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue() - 0.015625D, (double)((float)(par3 + 1) + 0.021875F), par4.add(BigInteger.ONE).doubleValue(), var17, var21 + 0.0625D); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue() - 0.015625D, (double)((float)(par3 + 1) + 0.021875F), par4.doubleValue(), var17, var19 + 0.0625D); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue() - 0.015625D, par3, par4.doubleValue(), var15, var19 + 0.0625D); + } + + if (this.blockAccess.isBlockNormalCube(realX, realY, realZ.subtract(BigInteger.ONE)) && this.blockAccess.getBlockId(realX, realY + 1, realZ.subtract(BigInteger.ONE)) == Block.redstoneWire.blockID) + { + var5.setColorOpaque_F(var8 * var10, var8 * var11, var8 * var12); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), par3, par4.doubleValue() + 0.015625D, var15, var21); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)(par3 + 1) + 0.021875F), par4.doubleValue() + 0.015625D, var17, var21); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)(par3 + 1) + 0.021875F), par4.doubleValue() + 0.015625D, var17, var19); + var5.addVertexWithUV(par2.doubleValue(), par3, par4.doubleValue() + 0.015625D, var15, var19); + var5.setColorOpaque_F(var8, var8, var8); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), par3, par4.doubleValue() + 0.015625D, var15, var21 + 0.0625D); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)(par3 + 1) + 0.021875F), par4.doubleValue() + 0.015625D, var17, var21 + 0.0625D); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)(par3 + 1) + 0.021875F), par4.doubleValue() + 0.015625D, var17, var19 + 0.0625D); + var5.addVertexWithUV(par2.doubleValue(), par3, par4.doubleValue() + 0.015625D, var15, var19 + 0.0625D); + } + + if (this.blockAccess.isBlockNormalCube(realX, realY, realZ.add(BigInteger.ONE)) && this.blockAccess.getBlockId(realX, realY + 1, realZ.add(BigInteger.ONE)) == Block.redstoneWire.blockID) + { + var5.setColorOpaque_F(var8 * var10, var8 * var11, var8 * var12); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)(par3 + 1) + 0.021875F), par4.add(BigInteger.ONE).doubleValue() - 0.015625D, var17, var19); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), par3, par4.add(BigInteger.ONE).doubleValue() - 0.015625D, var15, var19); + var5.addVertexWithUV(par2.doubleValue(), par3, par4.add(BigInteger.ONE).doubleValue() - 0.015625D, var15, var21); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)(par3 + 1) + 0.021875F), par4.add(BigInteger.ONE).doubleValue() - 0.015625D, var17, var21); + var5.setColorOpaque_F(var8, var8, var8); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), (double)((float)(par3 + 1) + 0.021875F), par4.add(BigInteger.ONE).doubleValue() - 0.015625D, var17, var19 + 0.0625D); + var5.addVertexWithUV(par2.add(BigInteger.ONE).doubleValue(), par3, par4.add(BigInteger.ONE).doubleValue() - 0.015625D, var15, var19 + 0.0625D); + var5.addVertexWithUV(par2.doubleValue(), par3, par4.add(BigInteger.ONE).doubleValue() - 0.015625D, var15, var21 + 0.0625D); + var5.addVertexWithUV(par2.doubleValue(), (double)((float)(par3 + 1) + 0.021875F), par4.add(BigInteger.ONE).doubleValue() - 0.015625D, var17, var21 + 0.0625D); + } + } + var5.setDontTranslate(false); + return true; + } /** * Renders a minecart track block at the given coordinates @@ -2346,6 +2881,7 @@ public class RenderBlocks public boolean renderBlockMinecartTrack(BlockRail par1BlockRail, BigInteger par2, int par3, BigInteger par4) { Tessellator var5 = tessellator; + if(FIX_RENDERER) var5.setDontTranslate(true); int var6 = this.blockAccess.getBlockMetadata(par2, par3, par4); int var7 = par1BlockRail.getBlockTextureFromSideAndMetadata(0, var6); @@ -2361,6 +2897,13 @@ public class RenderBlocks var5.setBrightness(par1BlockRail.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); var5.setColorOpaque_F(1.0F, 1.0F, 1.0F); + + if(FIX_RENDERER) { + par2 = BigInteger.valueOf(par2.intValue() & 0xF); + par3 &= 0xF; + par4 = BigInteger.valueOf(par4.intValue() & 0xF); + } + int var8 = (var7 & 15) << 4; int var9 = var7 & 240; double var10 = (double)((float)var8 / 256.0F); @@ -2428,15 +2971,18 @@ public class RenderBlocks var5.addVertexWithUV(var24, var40, var32, var10, var16); var5.addVertexWithUV(var22, var38, var30, var12, var16); var5.addVertexWithUV(var20, var36, var28, var12, var14); + if(FIX_RENDERER) var5.setDontTranslate(false); return true; } /** * Renders a ladder block at the given coordinates */ + // FIXME public boolean renderBlockLadder(Block par1Block, BigInteger par2, int par3, BigInteger par4) { Tessellator var5 = tessellator; + if(FIX_RENDERER) var5.setDontTranslate(true); int var6 = par1Block.getBlockTextureFromSide(0); if (this.overrideBlockTexture >= 0) @@ -2456,6 +3002,12 @@ public class RenderBlocks int var17 = this.blockAccess.getBlockMetadata(par2, par3, par4); double var18 = 0.0D; double var20 = 0.05000000074505806D; + + if(FIX_RENDERER) { + par2 = BigInteger.valueOf(par2.intValue() & 0xF); + par3 &= 0xF; + par4 = BigInteger.valueOf(par4.intValue() & 0xF); + } if (var17 == 5) { @@ -2488,6 +3040,8 @@ public class RenderBlocks var5.addVertexWithUV((double)(par2).doubleValue() - var18, par3 - var18, par4.add(BigInteger.ONE).doubleValue() - var20, var11, var15); var5.addVertexWithUV((double)(par2).doubleValue() - var18, par3 + 1 + var18, par4.add(BigInteger.ONE).doubleValue() - var20, var11, var13); } + + if(FIX_RENDERER) var5.setDontTranslate(false); return true; } @@ -3037,6 +3591,8 @@ public class RenderBlocks float var9 = (float)(var7 >> 8 & 255) / 255.0F; float var10 = (float)(var7 & 255) / 255.0F; + if(FIX_RENDERER) var5.setDontTranslate(true); + if (EntityRenderer.anaglyphEnable) { float var11 = (var8 * 30.0F + var9 * 59.0F + var10 * 11.0F) / 100.0F; @@ -3048,9 +3604,9 @@ public class RenderBlocks } var5.setColorOpaque_F(var6 * var8, var6 * var9, var6 * var10); - double var19 = par2.doubleValue(); - double var20 = (double)par3; - double var15 = par4.doubleValue(); + double var19 = FIX_RENDERER ? par2.intValue() & 0xF : par2.doubleValue(); + double var20 = FIX_RENDERER ? par3 & 0xF :(double)par3; + double var15 = FIX_RENDERER ? par4.intValue() & 0xF : par4.doubleValue(); if (par1Block == Block.tallGrass) { @@ -3062,6 +3618,7 @@ public class RenderBlocks } this.drawCrossedSquares(par1Block, this.blockAccess.getBlockMetadata(par2, par3, par4), var19, var20, var15); + if(FIX_RENDERER) var5.setDontTranslate(false); return true; } @@ -3112,9 +3669,11 @@ public class RenderBlocks public boolean renderBlockCrops(Block par1Block, BigInteger par2, int par3, BigInteger par4) { Tessellator var5 = tessellator; + if(FIX_RENDERER) var5.setDontTranslate(true); 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), par2.doubleValue(), (double)((float)par3 - 0.0625F), par4.doubleValue()); + this.renderBlockCropsImpl(par1Block, this.blockAccess.getBlockMetadata(par2, par3, par4), FIX_RENDERER ? par2.intValue() & 0xF : par2.doubleValue(), (double)((float)(FIX_RENDERER ? par3 & 0xF : par3) - 0.0625F), FIX_RENDERER ? par4.intValue() & 0xF : par4.doubleValue()); + if(FIX_RENDERER) var5.setDontTranslate(false); return true; } @@ -3418,7 +3977,7 @@ public class RenderBlocks public boolean renderBlockFluids(Block par1Block, BigInteger par2, int par3, BigInteger par4) { Tessellator var5 = tessellator; - if(Minecraft.FIX_RENDERER) var5.setDontTranslate(true); + if(FIX_RENDERER) var5.setDontTranslate(true); 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; @@ -3485,7 +4044,7 @@ public class RenderBlocks 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); - if(Minecraft.FIX_RENDERER) { + if(FIX_RENDERER) { var5.addVertexWithUV(par2.intValue() & 0xF, (double) (par3 & 0xF) + var24, par4.intValue() & 0xF, var38 - var44 - var42, var40 - var44 + var42); var5.addVertexWithUV(par2.intValue() & 0xF, (double) (par3 & 0xF) + var26, (par4.intValue() & 0xF) + 1, var38 - var44 + var42, var40 + var44 + var42); var5.addVertexWithUV((par2.intValue() & 0xF) + 1, (double) (par3 & 0xF) + var28, (par4.intValue() & 0xF) + 1, var38 + var44 + var42, var40 + var44 - var42); @@ -3503,7 +4062,7 @@ public class RenderBlocks var5.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4)); float var64 = 1.0F; var5.setColorOpaque_F(var14 * var64, var14 * var64, var14 * var64); - if(Minecraft.FIX_RENDERER) this.renderBottomFace(par1Block, par2.doubleValue(), (double)par3 + var32, par4.doubleValue(), par1Block.getBlockTextureFromSide(0)); + if(FIX_RENDERER) this.renderBottomFace(par1Block, par2.doubleValue(), (double)par3 + var32, par4.doubleValue(), par1Block.getBlockTextureFromSide(0)); else this.renderBottomFace(par1Block, par2.intValue() & 0xF, (double) (par3 & 0xF) + var32, par4.intValue() & 0xF, par1Block.getBlockTextureFromSide(0)); var13 = true; } @@ -3550,7 +4109,7 @@ public class RenderBlocks { var41 = var24; var43 = var30; - if(Minecraft.FIX_RENDERER) { + if(FIX_RENDERER) { var45 = par2.intValue() & 0xF; var49 = (par2.intValue() & 0xF) + 1; var47 = (par4.intValue() & 0xF) + var32; @@ -3566,7 +4125,7 @@ public class RenderBlocks { var41 = var28; var43 = var26; - if(Minecraft.FIX_RENDERER) { + if(FIX_RENDERER) { var45 = (par2.intValue() & 0xF) + 1; var49 = par2.intValue() & 0xF; var47 = (par4.intValue() & 0xF) + 1 - var32; @@ -3583,7 +4142,7 @@ public class RenderBlocks { var41 = var26; var43 = var24; - if(Minecraft.FIX_RENDERER) { + if(FIX_RENDERER) { var45 = (par2.intValue() & 0xF) + var32; var49 = (par2.intValue() & 0xF) + var32; var47 = (par4.intValue() & 0xF) + 1; @@ -3599,7 +4158,7 @@ public class RenderBlocks { var41 = var30; var43 = var28; - if(Minecraft.FIX_RENDERER) { + if(FIX_RENDERER) { var45 = (par2.intValue() & 0xF) + 1 - var32; var49 = (par2.intValue() & 0xF) + 1 - var32; var47 = par4.intValue() & 0xF; @@ -3638,7 +4197,7 @@ public class RenderBlocks } } - if(Minecraft.FIX_RENDERER) var5.setDontTranslate(false); + if(FIX_RENDERER) var5.setDontTranslate(false); par1Block.minY = var18; par1Block.maxY = var20; @@ -3779,7 +4338,7 @@ public class RenderBlocks 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 func_78581_r(Block par1Block, BigInteger par2, int par3, BigInteger par4) + public boolean renderBlockLog(Block par1Block, BigInteger par2, int par3, BigInteger par4) { int var5 = this.blockAccess.getBlockMetadata(par2, par3, par4); int var6 = var5 & 12; @@ -3836,7 +4395,7 @@ public class RenderBlocks int var24 = var19; int var25 = var19; - if(Minecraft.FIX_RENDERER) tessellator.setDontTranslate(true); + if(FIX_RENDERER) tessellator.setDontTranslate(true); if (par1Block.minY <= 0.0D) { @@ -4001,7 +4560,7 @@ public class RenderBlocks this.colorRedTopRight *= var12; this.colorGreenTopRight *= var12; this.colorBlueTopRight *= var12; - if(Minecraft.FIX_RENDERER) this.renderBottomFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 0)); + if(FIX_RENDERER) this.renderBottomFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 0)); else this.renderBottomFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 0)); var8 = true; } @@ -4106,7 +4665,7 @@ public class RenderBlocks this.colorRedTopRight *= var12; this.colorGreenTopRight *= var12; this.colorBlueTopRight *= var12; - if(Minecraft.FIX_RENDERER) this.renderTopFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 1)); + if(FIX_RENDERER) this.renderTopFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 1)); else this.renderTopFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 1)); var8 = true; } @@ -4214,7 +4773,7 @@ public class RenderBlocks this.colorGreenTopRight *= var12; this.colorBlueTopRight *= var12; var27 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 2); - if(Minecraft.FIX_RENDERER) this.renderEastFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, var27); + if(FIX_RENDERER) this.renderEastFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, var27); else this.renderEastFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), var27); if (fancyGrass && var27 == 3 && this.overrideBlockTexture < 0) @@ -4231,7 +4790,7 @@ public class RenderBlocks this.colorBlueBottomLeft *= par7; this.colorBlueBottomRight *= par7; this.colorBlueTopRight *= par7; - if(Minecraft.FIX_RENDERER) this.renderEastFace(par1Block, par2.intValue() & 0xF, par3 & 0xF, par4.intValue() & 0xF, 38); + if(FIX_RENDERER) this.renderEastFace(par1Block, par2.intValue() & 0xF, par3 & 0xF, par4.intValue() & 0xF, 38); else this.renderEastFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), 38); } @@ -4339,7 +4898,7 @@ public class RenderBlocks this.colorGreenTopRight *= var12; this.colorBlueTopRight *= var12; var27 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 3); - if(Minecraft.FIX_RENDERER) this.renderWestFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 3)); + if(FIX_RENDERER) this.renderWestFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 3)); else this.renderWestFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 3)); if (fancyGrass && var27 == 3 && this.overrideBlockTexture < 0) @@ -4356,7 +4915,7 @@ public class RenderBlocks this.colorBlueBottomLeft *= par7; this.colorBlueBottomRight *= par7; this.colorBlueTopRight *= par7; - if(Minecraft.FIX_RENDERER) this.renderWestFace(par1Block, par2.intValue() & 0xF, par3 & 0xF, par4.intValue() & 0xF, 38); + if(FIX_RENDERER) this.renderWestFace(par1Block, par2.intValue() & 0xF, par3 & 0xF, par4.intValue() & 0xF, 38); else this.renderWestFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), 38); } @@ -4464,7 +5023,7 @@ public class RenderBlocks this.colorGreenTopRight *= var12; this.colorBlueTopRight *= var12; var27 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 4); - if(Minecraft.FIX_RENDERER) this.renderNorthFace(par1Block, par2.intValue() & 0xF, par3 & 0xF, par4.intValue() & 0xF, var27); + if(FIX_RENDERER) this.renderNorthFace(par1Block, par2.intValue() & 0xF, par3 & 0xF, par4.intValue() & 0xF, var27); else this.renderNorthFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), var27); if (fancyGrass && var27 == 3 && this.overrideBlockTexture < 0) @@ -4481,7 +5040,7 @@ public class RenderBlocks this.colorBlueBottomLeft *= par7; this.colorBlueBottomRight *= par7; this.colorBlueTopRight *= par7; - if(Minecraft.FIX_RENDERER) this.renderNorthFace(par1Block, par2.intValue() & 0xF, par3 & 0xF, par4.intValue() & 0xF, 38); + if(FIX_RENDERER) this.renderNorthFace(par1Block, par2.intValue() & 0xF, par3 & 0xF, par4.intValue() & 0xF, 38); else this.renderNorthFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), 38); } @@ -4589,7 +5148,7 @@ public class RenderBlocks this.colorGreenTopRight *= var12; this.colorBlueTopRight *= var12; var27 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 5); - if(Minecraft.FIX_RENDERER) this.renderSouthFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, var27); + if(FIX_RENDERER) this.renderSouthFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, var27); else this.renderSouthFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), var27); if (fancyGrass && var27 == 3 && this.overrideBlockTexture < 0) @@ -4606,13 +5165,13 @@ public class RenderBlocks this.colorBlueBottomLeft *= par7; this.colorBlueBottomRight *= par7; this.colorBlueTopRight *= par7; - if(Minecraft.FIX_RENDERER) this.renderSouthFace(par1Block, par2.intValue() & 0xF, par3 & 0xF, par4.intValue() & 0xF, 38); + if(FIX_RENDERER) this.renderSouthFace(par1Block, par2.intValue() & 0xF, par3 & 0xF, par4.intValue() & 0xF, 38); else this.renderSouthFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), 38); } var8 = true; } - if(Minecraft.FIX_RENDERER) tessellator.setDontTranslate(false); + if(FIX_RENDERER) tessellator.setDontTranslate(false); this.enableAO = false; return var8; } @@ -4680,13 +5239,13 @@ public class RenderBlocks int var26 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4); - if(Minecraft.FIX_RENDERER) tessellator.setDontTranslate(true); + if(FIX_RENDERER) tessellator.setDontTranslate(true); 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); - if(Minecraft.FIX_RENDERER) this.renderBottomFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 0)); + if(FIX_RENDERER) this.renderBottomFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 0)); else this.renderBottomFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 0)); var9 = true; } @@ -4695,7 +5254,7 @@ public class RenderBlocks { var8.setBrightness(par1Block.maxY < 1.0D ? var26 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4)); var8.setColorOpaque_F(var14, var15, var16); - if(Minecraft.FIX_RENDERER) this.renderTopFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 1)); + if(FIX_RENDERER) this.renderTopFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 1)); else this.renderTopFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 1)); var9 = true; } @@ -4707,13 +5266,13 @@ public class RenderBlocks var8.setBrightness(par1Block.minZ > 0.0D ? var26 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4.subtract(BigInteger.ONE))); var8.setColorOpaque_F(var18, var21, var24); var28 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 2); - if(Minecraft.FIX_RENDERER) this.renderEastFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, var28); + if(FIX_RENDERER) this.renderEastFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, var28); else this.renderEastFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), var28); if (fancyGrass && var28 == 3 && this.overrideBlockTexture < 0) { var8.setColorOpaque_F(var18 * par5, var21 * par6, var24 * par7); - if(Minecraft.FIX_RENDERER) this.renderEastFace(par1Block, par2.intValue() & 0xF, (double)par3, par4.intValue() & 0xF, 38); + if(FIX_RENDERER) this.renderEastFace(par1Block, par2.intValue() & 0xF, (double)par3, par4.intValue() & 0xF, 38); else this.renderEastFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), 38); } @@ -4725,13 +5284,13 @@ public class RenderBlocks var8.setBrightness(par1Block.maxZ < 1.0D ? var26 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4.add(BigInteger.ONE))); var8.setColorOpaque_F(var18, var21, var24); var28 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 3); - if(Minecraft.FIX_RENDERER) this.renderWestFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, var28); + if(FIX_RENDERER) this.renderWestFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, var28); else this.renderWestFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), var28); if (fancyGrass && var28 == 3 && this.overrideBlockTexture < 0) { var8.setColorOpaque_F(var18 * par5, var21 * par6, var24 * par7); - if(Minecraft.FIX_RENDERER) this.renderWestFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, 38); + if(FIX_RENDERER) this.renderWestFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, 38); else this.renderWestFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), 38); } @@ -4743,13 +5302,13 @@ public class RenderBlocks var8.setBrightness(par1Block.minX > 0.0D ? var26 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2.subtract(BigInteger.ONE), par3, par4)); var8.setColorOpaque_F(var19, var22, var25); var28 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 4); - if(Minecraft.FIX_RENDERER) this.renderNorthFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, var28); + if(FIX_RENDERER) this.renderNorthFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, var28); else this.renderNorthFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), var28); if (fancyGrass && var28 == 3 && this.overrideBlockTexture < 0) { var8.setColorOpaque_F(var19 * par5, var22 * par6, var25 * par7); - if(Minecraft.FIX_RENDERER) this.renderNorthFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, 38); + if(FIX_RENDERER) this.renderNorthFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, 38); else this.renderNorthFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), 38); } @@ -4761,25 +5320,25 @@ public class RenderBlocks var8.setBrightness(par1Block.maxX < 1.0D ? var26 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2.add(BigInteger.ONE), par3, par4)); var8.setColorOpaque_F(var19, var22, var25); var28 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 5); - if(Minecraft.FIX_RENDERER) this.renderSouthFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, var28); + if(FIX_RENDERER) this.renderSouthFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, var28); else this.renderSouthFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), var28); if (fancyGrass && var28 == 3 && this.overrideBlockTexture < 0) { var8.setColorOpaque_F(var19 * par5, var22 * par6, var25 * par7); - if(Minecraft.FIX_RENDERER) this.renderSouthFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, 38); + if(FIX_RENDERER) this.renderSouthFace(par1Block, par2.intValue() & 0xF, (double)(par3 & 0xF), par4.intValue() & 0xF, 38); else this.renderSouthFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), 38); } var9 = true; } - if(Minecraft.FIX_RENDERER) tessellator.setDontTranslate(false); + if(FIX_RENDERER) tessellator.setDontTranslate(false); return var9; } - private boolean func_78616_a(BlockCocoa par1BlockCocoa, BigInteger par2, int par3, BigInteger par4) + private boolean renderBlockCocoa(BlockCocoa par1BlockCocoa, BigInteger par2, int par3, BigInteger par4) { Tessellator var5 = tessellator; var5.setBrightness(par1BlockCocoa.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4)); @@ -4967,6 +5526,7 @@ public class RenderBlocks */ public boolean renderBlockCactusImpl(Block par1Block, BigInteger par2, int par3, BigInteger par4, float par5, float par6, float par7) { + // TODO Tessellator var8 = tessellator; boolean var9 = false; float var10 = 0.5F; @@ -5402,6 +5962,7 @@ public class RenderBlocks public boolean renderBlockDoor(Block par1Block, BigInteger par2, int par3, BigInteger par4) { Tessellator var5 = tessellator; + if(FIX_RENDERER) var5.setDontTranslate(true); BlockDoor var6 = (BlockDoor)par1Block; boolean var7 = false; float var8 = 0.5F; @@ -5411,11 +5972,11 @@ public class RenderBlocks 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, par2.doubleValue(), (double)par3, par4.doubleValue(), par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 0)); + this.renderBottomFace(par1Block, FIX_RENDERER ? par2.intValue() & 0xF : par2.doubleValue(), FIX_RENDERER ? par3 & 0xF : par3, FIX_RENDERER ? par4.intValue() & 0xF : par4.doubleValue(), 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, par2.doubleValue(), (double)par3, par4.doubleValue(), par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 1)); + this.renderTopFace(par1Block, FIX_RENDERER ? par2.intValue() & 0xF : par2.doubleValue(), FIX_RENDERER ? par3 & 0xF : par3, FIX_RENDERER ? par4.intValue() & 0xF : par4.doubleValue(), par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 1)); var7 = true; var5.setBrightness(par1Block.minZ > 0.0D ? var12 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4.subtract(BigInteger.ONE))); var5.setColorOpaque_F(var10, var10, var10); @@ -5427,7 +5988,7 @@ public class RenderBlocks var14 = -var14; } - this.renderEastFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), var14); + this.renderEastFace(par1Block, FIX_RENDERER ? par2.intValue() & 0xF : par2.doubleValue(), FIX_RENDERER ? par3 & 0xF : par3, FIX_RENDERER ? par4.intValue() & 0xF : par4.doubleValue(), var14); var7 = true; this.flipTexture = false; var5.setBrightness(par1Block.maxZ < 1.0D ? var12 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4.add(BigInteger.ONE))); @@ -5440,7 +6001,7 @@ public class RenderBlocks var14 = -var14; } - this.renderWestFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), var14); + this.renderWestFace(par1Block, FIX_RENDERER ? par2.intValue() & 0xF : par2.doubleValue(), FIX_RENDERER ? par3 & 0xF : par3, FIX_RENDERER ? par4.intValue() & 0xF : par4.doubleValue(), var14); var7 = true; this.flipTexture = false; var5.setBrightness(par1Block.minX > 0.0D ? var12 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2.subtract(BigInteger.ONE), par3, par4)); @@ -5453,7 +6014,7 @@ public class RenderBlocks var14 = -var14; } - this.renderNorthFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), var14); + this.renderNorthFace(par1Block, FIX_RENDERER ? par2.intValue() & 0xF : par2.doubleValue(), FIX_RENDERER ? par3 & 0xF : par3, FIX_RENDERER ? par4.intValue() & 0xF : par4.doubleValue(), var14); var7 = true; this.flipTexture = false; var5.setBrightness(par1Block.maxX < 1.0D ? var12 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2.add(BigInteger.ONE), par3, par4)); @@ -5466,9 +6027,10 @@ public class RenderBlocks var14 = -var14; } - this.renderSouthFace(par1Block, par2.doubleValue(), (double)par3, par4.doubleValue(), var14); + this.renderSouthFace(par1Block, FIX_RENDERER ? par2.intValue() & 0xF : par2.doubleValue(), FIX_RENDERER ? par3 & 0xF : par3, FIX_RENDERER ? par4.intValue() & 0xF : par4.doubleValue(), var14); var7 = true; this.flipTexture = false; + if(FIX_RENDERER) var5.setDontTranslate(false); return var7; }