Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.minecraft.client.renderer;
- import cpw.mods.fml.relauncher.Side;
- import cpw.mods.fml.relauncher.SideOnly;
- import net.minecraft.block.Block;
- import net.minecraft.block.BlockAnvil;
- import net.minecraft.block.BlockBeacon;
- import net.minecraft.block.BlockBed;
- import net.minecraft.block.BlockBrewingStand;
- import net.minecraft.block.BlockCauldron;
- import net.minecraft.block.BlockCocoa;
- import net.minecraft.block.BlockDirectional;
- import net.minecraft.block.BlockDragonEgg;
- import net.minecraft.block.BlockEndPortalFrame;
- import net.minecraft.block.BlockFence;
- import net.minecraft.block.BlockFenceGate;
- import net.minecraft.block.BlockFlower;
- import net.minecraft.block.BlockFlowerPot;
- import net.minecraft.block.BlockFluid;
- import net.minecraft.block.BlockPane;
- import net.minecraft.block.BlockPistonBase;
- import net.minecraft.block.BlockPistonExtension;
- import net.minecraft.block.BlockRail;
- import net.minecraft.block.BlockRedstoneRepeater;
- import net.minecraft.block.BlockRedstoneWire;
- import net.minecraft.block.BlockStairs;
- import net.minecraft.block.BlockStem;
- import net.minecraft.block.BlockTripWire;
- import net.minecraft.block.BlockWall;
- import net.minecraft.block.material.Material;
- import net.minecraft.client.Minecraft;
- import net.minecraft.src.FMLRenderAccessLibrary;
- import net.minecraft.util.Direction;
- import net.minecraft.util.MathHelper;
- import net.minecraft.util.Vec3;
- import net.minecraft.world.IBlockAccess;
- import net.minecraft.world.World;
- import org.lwjgl.opengl.GL11;
- import org.lwjgl.opengl.GL12;
- import static net.minecraftforge.common.ForgeDirection.*;
- @SideOnly(Side.CLIENT)
- public class RenderBlocks
- {
- /** The IBlockAccess used by this instance of RenderBlocks */
- public IBlockAccess blockAccess;
- /**
- * If set to >=0, all block faces will be rendered using this texture index
- */
- public int overrideBlockTexture = -1;
- /**
- * Set to true if the texture should be flipped horizontally during render*Face
- */
- public boolean flipTexture = false;
- /**
- * If true, renders all faces on all blocks rather than using the logic in Block.shouldSideBeRendered. Unused.
- */
- public boolean renderAllFaces = false;
- /** Fancy grass side matching biome */
- public static boolean fancyGrass = true;
- public boolean useInventoryTint = true;
- /** The minimum X value for rendering (default 0.0). */
- public double renderMinX;
- /** The maximum X value for rendering (default 1.0). */
- public double renderMaxX;
- /** The minimum Y value for rendering (default 0.0). */
- public double renderMinY;
- /** The maximum Y value for rendering (default 1.0). */
- public double renderMaxY;
- /** The minimum Z value for rendering (default 0.0). */
- public double renderMinZ;
- /** The maximum Z value for rendering (default 1.0). */
- public double renderMaxZ;
- /**
- * Set by overrideBlockBounds, to keep this class from changing the visual bounding box.
- */
- public boolean lockBlockBounds = false;
- public int uvRotateEast = 0;
- public int uvRotateWest = 0;
- public int uvRotateSouth = 0;
- public int uvRotateNorth = 0;
- public int uvRotateTop = 0;
- public int uvRotateBottom = 0;
- /** Whether ambient occlusion is enabled or not */
- public boolean enableAO;
- /** Light value of the block itself */
- public float lightValueOwn;
- /** Light value one block less in x axis */
- public float aoLightValueXNeg;
- /** Light value one block more in y axis */
- public float aoLightValueYNeg;
- /** Light value one block more in z axis */
- public float aoLightValueZNeg;
- /** Light value one block more in x axis */
- public float aoLightValueXPos;
- /** Light value one block more in y axis */
- public float aoLightValueYPos;
- /** Light value one block more in z axis */
- public float aoLightValueZPos;
- /**
- * Used as a scratch variable for ambient occlusion on the north/bottom/east corner.
- */
- public float aoLightValueScratchXYZNNN;
- /**
- * Used as a scratch variable for ambient occlusion between the bottom face and the north face.
- */
- public float aoLightValueScratchXYNN;
- /**
- * Used as a scratch variable for ambient occlusion on the north/bottom/west corner.
- */
- public float aoLightValueScratchXYZNNP;
- /**
- * Used as a scratch variable for ambient occlusion between the bottom face and the east face.
- */
- public float aoLightValueScratchYZNN;
- /**
- * Used as a scratch variable for ambient occlusion between the bottom face and the west face.
- */
- public float aoLightValueScratchYZNP;
- /**
- * Used as a scratch variable for ambient occlusion on the south/bottom/east corner.
- */
- public float aoLightValueScratchXYZPNN;
- /**
- * Used as a scratch variable for ambient occlusion between the bottom face and the south face.
- */
- public float aoLightValueScratchXYPN;
- /**
- * Used as a scratch variable for ambient occlusion on the south/bottom/west corner.
- */
- public float aoLightValueScratchXYZPNP;
- /**
- * Used as a scratch variable for ambient occlusion on the north/top/east corner.
- */
- public float aoLightValueScratchXYZNPN;
- /**
- * Used as a scratch variable for ambient occlusion between the top face and the north face.
- */
- public float aoLightValueScratchXYNP;
- /**
- * Used as a scratch variable for ambient occlusion on the north/top/west corner.
- */
- public float aoLightValueScratchXYZNPP;
- /**
- * Used as a scratch variable for ambient occlusion between the top face and the east face.
- */
- public float aoLightValueScratchYZPN;
- /**
- * Used as a scratch variable for ambient occlusion on the south/top/east corner.
- */
- public float aoLightValueScratchXYZPPN;
- /**
- * Used as a scratch variable for ambient occlusion between the top face and the south face.
- */
- public float aoLightValueScratchXYPP;
- /**
- * Used as a scratch variable for ambient occlusion between the top face and the west face.
- */
- public float aoLightValueScratchYZPP;
- /**
- * Used as a scratch variable for ambient occlusion on the south/top/west corner.
- */
- public float aoLightValueScratchXYZPPP;
- /**
- * Used as a scratch variable for ambient occlusion between the north face and the east face.
- */
- public float aoLightValueScratchXZNN;
- /**
- * Used as a scratch variable for ambient occlusion between the south face and the east face.
- */
- public float aoLightValueScratchXZPN;
- /**
- * Used as a scratch variable for ambient occlusion between the north face and the west face.
- */
- public float aoLightValueScratchXZNP;
- /**
- * Used as a scratch variable for ambient occlusion between the south face and the west face.
- */
- public float aoLightValueScratchXZPP;
- /** Ambient occlusion brightness XYZNNN */
- public int aoBrightnessXYZNNN;
- /** Ambient occlusion brightness XYNN */
- public int aoBrightnessXYNN;
- /** Ambient occlusion brightness XYZNNP */
- public int aoBrightnessXYZNNP;
- /** Ambient occlusion brightness YZNN */
- public int aoBrightnessYZNN;
- /** Ambient occlusion brightness YZNP */
- public int aoBrightnessYZNP;
- /** Ambient occlusion brightness XYZPNN */
- public int aoBrightnessXYZPNN;
- /** Ambient occlusion brightness XYPN */
- public int aoBrightnessXYPN;
- /** Ambient occlusion brightness XYZPNP */
- public int aoBrightnessXYZPNP;
- /** Ambient occlusion brightness XYZNPN */
- public int aoBrightnessXYZNPN;
- /** Ambient occlusion brightness XYNP */
- public int aoBrightnessXYNP;
- /** Ambient occlusion brightness XYZNPP */
- public int aoBrightnessXYZNPP;
- /** Ambient occlusion brightness YZPN */
- public int aoBrightnessYZPN;
- /** Ambient occlusion brightness XYZPPN */
- public int aoBrightnessXYZPPN;
- /** Ambient occlusion brightness XYPP */
- public int aoBrightnessXYPP;
- /** Ambient occlusion brightness YZPP */
- public int aoBrightnessYZPP;
- /** Ambient occlusion brightness XYZPPP */
- public int aoBrightnessXYZPPP;
- /** Ambient occlusion brightness XZNN */
- public int aoBrightnessXZNN;
- /** Ambient occlusion brightness XZPN */
- public int aoBrightnessXZPN;
- /** Ambient occlusion brightness XZNP */
- public int aoBrightnessXZNP;
- /** Ambient occlusion brightness XZPP */
- public int aoBrightnessXZPP;
- /** Ambient occlusion type (0=simple, 1=complex) */
- public int aoType = 1;
- /** Brightness top left */
- public int brightnessTopLeft;
- /** Brightness bottom left */
- public int brightnessBottomLeft;
- /** Brightness bottom right */
- public int brightnessBottomRight;
- /** Brightness top right */
- public int brightnessTopRight;
- /** Red color value for the top left corner */
- public float colorRedTopLeft;
- /** Red color value for the bottom left corner */
- public float colorRedBottomLeft;
- /** Red color value for the bottom right corner */
- public float colorRedBottomRight;
- /** Red color value for the top right corner */
- public float colorRedTopRight;
- /** Green color value for the top left corner */
- public float colorGreenTopLeft;
- /** Green color value for the bottom left corner */
- public float colorGreenBottomLeft;
- /** Green color value for the bottom right corner */
- public float colorGreenBottomRight;
- /** Green color value for the top right corner */
- public float colorGreenTopRight;
- /** Blue color value for the top left corner */
- public float colorBlueTopLeft;
- /** Blue color value for the bottom left corner */
- public float colorBlueBottomLeft;
- /** Blue color value for the bottom right corner */
- public float colorBlueBottomRight;
- /** Blue color value for the top right corner */
- public float colorBlueTopRight;
- /**
- * Grass flag for ambient occlusion on Center X, Positive Y, and Negative Z
- */
- public boolean aoGrassXYZCPN;
- /**
- * Grass flag for ambient occlusion on Positive X, Positive Y, and Center Z
- */
- public boolean aoGrassXYZPPC;
- /**
- * Grass flag for ambient occlusion on Negative X, Positive Y, and Center Z
- */
- public boolean aoGrassXYZNPC;
- /**
- * Grass flag for ambient occlusion on Center X, Positive Y, and Positive Z
- */
- public boolean aoGrassXYZCPP;
- /**
- * Grass flag for ambient occlusion on Negative X, Center Y, and Negative Z
- */
- public boolean aoGrassXYZNCN;
- /**
- * Grass flag for ambient occlusion on Positive X, Center Y, and Positive Z
- */
- public boolean aoGrassXYZPCP;
- /**
- * Grass flag for ambient occlusion on Negative X, Center Y, and Positive Z
- */
- public boolean aoGrassXYZNCP;
- /**
- * Grass flag for ambient occlusion on Positive X, Center Y, and Negative Z
- */
- public boolean aoGrassXYZPCN;
- /**
- * Grass flag for ambient occlusion on Center X, Negative Y, and Negative Z
- */
- public boolean aoGrassXYZCNN;
- /**
- * Grass flag for ambient occlusion on Positive X, Negative Y, and Center Z
- */
- public boolean aoGrassXYZPNC;
- /**
- * Grass flag for ambient occlusion on Negative X, Negative Y, and center Z
- */
- public boolean aoGrassXYZNNC;
- /**
- * Grass flag for ambient occlusion on Center X, Negative Y, and Positive Z
- */
- public boolean aoGrassXYZCNP;
- public RenderBlocks(IBlockAccess par1IBlockAccess)
- {
- this.blockAccess = par1IBlockAccess;
- }
- public RenderBlocks() {}
- /**
- * Sets overrideBlockTexture
- */
- public void setOverrideBlockTexture(int par1)
- {
- this.overrideBlockTexture = par1;
- }
- /**
- * Clear override block texture
- */
- public void clearOverrideBlockTexture()
- {
- this.overrideBlockTexture = -1;
- }
- /**
- * Sets the bounding box for the block to draw in, e.g. 0.25-0.75 on all axes for a half-size, centered block.
- */
- public void setRenderBounds(double par1, double par3, double par5, double par7, double par9, double par11)
- {
- if (!this.lockBlockBounds)
- {
- this.renderMinX = par1;
- this.renderMaxX = par7;
- this.renderMinY = par3;
- this.renderMaxY = par9;
- this.renderMinZ = par5;
- this.renderMaxZ = par11;
- }
- }
- /**
- * Like setRenderBounds, but automatically pulling the bounds from the given Block.
- */
- public void setRenderBoundsFromBlock(Block par1Block)
- {
- if (!this.lockBlockBounds)
- {
- this.renderMinX = par1Block.getBlockBoundsMinX();
- this.renderMaxX = par1Block.getBlockBoundsMaxX();
- this.renderMinY = par1Block.getBlockBoundsMinY();
- this.renderMaxY = par1Block.getBlockBoundsMaxY();
- this.renderMinZ = par1Block.getBlockBoundsMinZ();
- this.renderMaxZ = par1Block.getBlockBoundsMaxZ();
- }
- }
- /**
- * Like setRenderBounds, but locks the values so that RenderBlocks won't change them. If you use this, you must
- * call unlockBlockBounds after you finish rendering!
- */
- public void overrideBlockBounds(double par1, double par3, double par5, double par7, double par9, double par11)
- {
- this.renderMinX = par1;
- this.renderMaxX = par7;
- this.renderMinY = par3;
- this.renderMaxY = par9;
- this.renderMinZ = par5;
- this.renderMaxZ = par11;
- this.lockBlockBounds = true;
- }
- /**
- * Unlocks the visual bounding box so that RenderBlocks can change it again.
- */
- public void unlockBlockBounds()
- {
- this.lockBlockBounds = false;
- }
- /**
- * Renders a block using the given texture instead of the block's own default texture
- */
- 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;
- }
- /**
- * Render all faces of a block
- */
- public void renderBlockAllFaces(Block par1Block, int par2, int par3, int par4)
- {
- this.renderAllFaces = true;
- this.renderBlockByRenderType(par1Block, par2, par3, par4);
- this.renderAllFaces = false;
- }
- /**
- * Renders the block at the given coordinates using the block's rendering type
- */
- public boolean renderBlockByRenderType(Block par1Block, int par2, int par3, int par4)
- {
- int var5 = par1Block.getRenderType();
- par1Block.setBlockBoundsBasedOnState(this.blockAccess, par2, par3, par4);
- this.setRenderBoundsFromBlock(par1Block);
- switch (var5)
- {
- case 0:
- return this.renderStandardBlock(par1Block, par2, par3, par4);
- case 31:
- return this.renderBlockLog(par1Block, par2, par3, par4);
- case 4:
- return this.renderBlockFluids(par1Block, par2, par3, par4);
- case 13:
- return this.renderBlockCactus(par1Block, par2, par3, par4);
- case 1:
- return this.renderCrossedSquares(par1Block, par2, par3, par4);
- case 19:
- return this.renderBlockStem(par1Block, par2, par3, par4);
- case 23:
- return this.renderBlockLilyPad(par1Block, par2, par3, par4);
- case 6:
- return this.renderBlockCrops(par1Block, par2, par3, par4);
- case 2:
- return this.renderBlockTorch(par1Block, par2, par3, par4);
- case 3:
- return this.renderBlockFire(par1Block, par2, par3, par4);
- case 5:
- return this.renderBlockRedstoneWire(par1Block, par2, par3, par4);
- case 8:
- return this.renderBlockLadder(par1Block, par2, par3, par4);
- case 7:
- return this.renderBlockDoor(par1Block, par2, par3, par4);
- case 9:
- return this.renderBlockMinecartTrack((BlockRail)par1Block, par2, par3, par4);
- case 10:
- return this.renderBlockStairs((BlockStairs)par1Block, par2, par3, par4);
- case 27:
- return this.renderBlockDragonEgg((BlockDragonEgg)par1Block, par2, par3, par4);
- case 11:
- return this.renderBlockFence((BlockFence)par1Block, par2, par3, par4);
- case 32:
- return this.renderBlockWall((BlockWall)par1Block, par2, par3, par4);
- case 12:
- return this.renderBlockLever(par1Block, par2, par3, par4);
- case 29:
- return this.renderBlockTripWireSource(par1Block, par2, par3, par4);
- case 30:
- return this.renderBlockTripWire(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 20:
- return this.renderBlockVine(par1Block, par2, par3, par4);
- case 21:
- return this.renderBlockFenceGate((BlockFenceGate)par1Block, par2, par3, par4);
- case 24:
- return this.renderBlockCauldron((BlockCauldron)par1Block, par2, par3, par4);
- case 33:
- return this.renderBlockFlowerpot((BlockFlowerPot)par1Block, par2, par3, par4);
- case 35:
- return this.renderBlockAnvil((BlockAnvil)par1Block, par2, par3, par4);
- case 25:
- return this.renderBlockBrewingStand((BlockBrewingStand)par1Block, par2, par3, par4);
- case 26:
- return this.renderBlockEndPortalFrame(par1Block, par2, par3, par4);
- case 28:
- return this.renderBlockCocoa((BlockCocoa)par1Block, par2, par3, par4);
- case 34:
- return this.renderBlockBeacon((BlockBeacon)par1Block, par2, par3, par4);
- default:
- return FMLRenderAccessLibrary.renderWorldBlock(this, blockAccess, par2, par3, par4, par1Block, var5);
- }
- }
- /**
- * Render BlockEndPortalFrame
- */
- public 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))
- {
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 0.8125D, 1.0D);
- this.renderStandardBlock(par1Block, par2, par3, par4);
- this.uvRotateTop = 0;
- return true;
- }
- else
- {
- this.renderAllFaces = true;
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 0.8125D, 1.0D);
- this.renderStandardBlock(par1Block, par2, par3, par4);
- this.overrideBlockTexture = 174;
- this.setRenderBounds(0.25D, 0.8125D, 0.25D, 0.75D, 1.0D, 0.75D);
- this.renderStandardBlock(par1Block, par2, par3, par4);
- this.renderAllFaces = false;
- this.clearOverrideBlockTexture();
- this.uvRotateTop = 0;
- return true;
- }
- }
- /**
- * render a bed at the given coordinates
- */
- public boolean renderBlockBed(Block par1Block, int par2, int par3, int par4)
- {
- Tessellator var5 = Tessellator.instance;
- int var7 = par1Block.getBedDirection(blockAccess, par2, par3, par4);
- boolean var8 = par1Block.isBedFoot(blockAccess, par2, par3, par4);
- 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);
- if (overrideBlockTexture >= 0) var27 = overrideBlockTexture; //BugFix Proper breaking texture on underside
- 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 + this.renderMinX;
- double var40 = (double)par2 + this.renderMaxX;
- double var42 = (double)par3 + this.renderMinY + 0.1875D;
- double var44 = (double)par4 + this.renderMinZ;
- double var46 = (double)par4 + this.renderMaxZ;
- 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);
- if (overrideBlockTexture >= 0) var27 = overrideBlockTexture; //BugFix Proper breaking texture on top
- 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 + this.renderMinX;
- double var56 = (double)par2 + this.renderMaxX;
- double var58 = (double)par3 + this.renderMaxY;
- double var60 = (double)par4 + this.renderMinZ;
- double var62 = (double)par4 + this.renderMaxZ;
- 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);
- int var64 = Direction.headInvisibleFace[var7];
- if (var8)
- {
- var64 = Direction.headInvisibleFace[Direction.footInvisibleFaceRemap[var7]];
- }
- byte var65 = 4;
- switch (var7)
- {
- case 0:
- var65 = 5;
- break;
- case 1:
- var65 = 3;
- case 2:
- default:
- break;
- case 3:
- var65 = 2;
- }
- if (var64 != 2 && (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3, par4 - 1, 2)))
- {
- var5.setBrightness(this.renderMinZ > 0.0D ? var25 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 - 1));
- var5.setColorOpaque_F(var11, var11, var11);
- this.flipTexture = var65 == 2;
- this.renderEastFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 2));
- }
- if (var64 != 3 && (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3, par4 + 1, 3)))
- {
- var5.setBrightness(this.renderMaxZ < 1.0D ? var25 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 + 1));
- var5.setColorOpaque_F(var11, var11, var11);
- this.flipTexture = var65 == 3;
- this.renderWestFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 3));
- }
- if (var64 != 4 && (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2 - 1, par3, par4, 4)))
- {
- var5.setBrightness(this.renderMinZ > 0.0D ? var25 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4));
- var5.setColorOpaque_F(var12, var12, var12);
- this.flipTexture = var65 == 4;
- this.renderNorthFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 4));
- }
- if (var64 != 5 && (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2 + 1, par3, par4, 5)))
- {
- var5.setBrightness(this.renderMaxZ < 1.0D ? var25 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4));
- var5.setColorOpaque_F(var12, var12, var12);
- this.flipTexture = var65 == 5;
- this.renderSouthFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 5));
- }
- this.flipTexture = false;
- return true;
- }
- /**
- * Render BlockBrewingStand
- */
- public boolean renderBlockBrewingStand(BlockBrewingStand par1BlockBrewingStand, int par2, int par3, int par4)
- {
- this.setRenderBounds(0.4375D, 0.0D, 0.4375D, 0.5625D, 0.875D, 0.5625D);
- this.renderStandardBlock(par1BlockBrewingStand, par2, par3, par4);
- this.overrideBlockTexture = 156;
- this.setRenderBounds(0.5625D, 0.0D, 0.3125D, 0.9375D, 0.125D, 0.6875D);
- this.renderStandardBlock(par1BlockBrewingStand, par2, par3, par4);
- this.setRenderBounds(0.125D, 0.0D, 0.0625D, 0.5D, 0.125D, 0.4375D);
- this.renderStandardBlock(par1BlockBrewingStand, par2, par3, par4);
- this.setRenderBounds(0.125D, 0.0D, 0.5625D, 0.5D, 0.125D, 0.9375D);
- 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;
- }
- /**
- * Render block cauldron
- */
- public 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;
- if (var14 > 3)
- {
- var14 = 3;
- }
- this.renderTopFace(par1BlockCauldron, (double)par2, (double)((float)par3 - 1.0F + (6.0F + (float)var14 * 3.0F) / 16.0F), (double)par4, var15);
- }
- return true;
- }
- /**
- * Renders flower pot
- */
- public boolean renderBlockFlowerpot(BlockFlowerPot par1BlockFlowerPot, int par2, int par3, int par4)
- {
- this.renderStandardBlock(par1BlockFlowerPot, par2, par3, par4);
- Tessellator var5 = Tessellator.instance;
- var5.setBrightness(par1BlockFlowerPot.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4));
- float var6 = 1.0F;
- int var7 = par1BlockFlowerPot.colorMultiplier(this.blockAccess, par2, par3, par4);
- int var8 = par1BlockFlowerPot.getBlockTextureFromSide(0);
- float var9 = (float)(var7 >> 16 & 255) / 255.0F;
- float var10 = (float)(var7 >> 8 & 255) / 255.0F;
- float var11 = (float)(var7 & 255) / 255.0F;
- float var12;
- float var14;
- if (EntityRenderer.anaglyphEnable)
- {
- var12 = (var9 * 30.0F + var10 * 59.0F + var11 * 11.0F) / 100.0F;
- float var13 = (var9 * 30.0F + var10 * 70.0F) / 100.0F;
- var14 = (var9 * 30.0F + var11 * 70.0F) / 100.0F;
- var9 = var12;
- var10 = var13;
- var11 = var14;
- }
- var5.setColorOpaque_F(var6 * var9, var6 * var10, var6 * var11);
- var12 = 0.1865F;
- this.renderSouthFace(par1BlockFlowerPot, (double)((float)par2 - 0.5F + var12), (double)par3, (double)par4, var8);
- this.renderNorthFace(par1BlockFlowerPot, (double)((float)par2 + 0.5F - var12), (double)par3, (double)par4, var8);
- this.renderWestFace(par1BlockFlowerPot, (double)par2, (double)par3, (double)((float)par4 - 0.5F + var12), var8);
- this.renderEastFace(par1BlockFlowerPot, (double)par2, (double)par3, (double)((float)par4 + 0.5F - var12), var8);
- this.renderTopFace(par1BlockFlowerPot, (double)par2, (double)((float)par3 - 0.5F + var12 + 0.1875F), (double)par4, Block.dirt.blockIndexInTexture);
- int var19 = this.blockAccess.getBlockMetadata(par2, par3, par4);
- if (var19 != 0)
- {
- var14 = 0.0F;
- float var15 = 4.0F;
- float var16 = 0.0F;
- BlockFlower var17 = null;
- switch (var19)
- {
- case 1:
- var17 = Block.plantRed;
- break;
- case 2:
- var17 = Block.plantYellow;
- case 3:
- case 4:
- case 5:
- case 6:
- default:
- break;
- case 7:
- var17 = Block.mushroomRed;
- break;
- case 8:
- var17 = Block.mushroomBrown;
- }
- var5.addTranslation(var14 / 16.0F, var15 / 16.0F, var16 / 16.0F);
- if (var17 != null)
- {
- this.renderBlockByRenderType(var17, par2, par3, par4);
- }
- else if (var19 == 9)
- {
- this.renderAllFaces = true;
- float var18 = 0.125F;
- this.setRenderBounds((double)(0.5F - var18), 0.0D, (double)(0.5F - var18), (double)(0.5F + var18), 0.25D, (double)(0.5F + var18));
- this.renderStandardBlock(Block.cactus, par2, par3, par4);
- this.setRenderBounds((double)(0.5F - var18), 0.25D, (double)(0.5F - var18), (double)(0.5F + var18), 0.5D, (double)(0.5F + var18));
- this.renderStandardBlock(Block.cactus, par2, par3, par4);
- this.setRenderBounds((double)(0.5F - var18), 0.5D, (double)(0.5F - var18), (double)(0.5F + var18), 0.75D, (double)(0.5F + var18));
- this.renderStandardBlock(Block.cactus, par2, par3, par4);
- this.renderAllFaces = false;
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }
- else if (var19 == 3)
- {
- this.drawCrossedSquares(Block.sapling, 0, (double)par2, (double)par3, (double)par4, 0.75F);
- }
- else if (var19 == 5)
- {
- this.drawCrossedSquares(Block.sapling, 2, (double)par2, (double)par3, (double)par4, 0.75F);
- }
- else if (var19 == 4)
- {
- this.drawCrossedSquares(Block.sapling, 1, (double)par2, (double)par3, (double)par4, 0.75F);
- }
- else if (var19 == 6)
- {
- this.drawCrossedSquares(Block.sapling, 3, (double)par2, (double)par3, (double)par4, 0.75F);
- }
- else if (var19 == 11)
- {
- var7 = Block.tallGrass.colorMultiplier(this.blockAccess, par2, par3, par4);
- var9 = (float)(var7 >> 16 & 255) / 255.0F;
- var10 = (float)(var7 >> 8 & 255) / 255.0F;
- var11 = (float)(var7 & 255) / 255.0F;
- var5.setColorOpaque_F(var6 * var9, var6 * var10, var6 * var11);
- this.drawCrossedSquares(Block.tallGrass, 2, (double)par2, (double)par3, (double)par4, 0.75F);
- }
- else if (var19 == 10)
- {
- this.drawCrossedSquares(Block.deadBush, 2, (double)par2, (double)par3, (double)par4, 0.75F);
- }
- var5.addTranslation(-var14 / 16.0F, -var15 / 16.0F, -var16 / 16.0F);
- }
- return true;
- }
- /**
- * Renders anvil
- */
- public boolean renderBlockAnvil(BlockAnvil par1BlockAnvil, int par2, int par3, int par4)
- {
- return this.renderBlockAnvilMetadata(par1BlockAnvil, par2, par3, par4, this.blockAccess.getBlockMetadata(par2, par3, par4));
- }
- /**
- * Renders anvil block with metadata
- */
- public boolean renderBlockAnvilMetadata(BlockAnvil par1BlockAnvil, int par2, int par3, int par4, int par5)
- {
- Tessellator var6 = Tessellator.instance;
- var6.setBrightness(par1BlockAnvil.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4));
- float var7 = 1.0F;
- int var8 = par1BlockAnvil.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);
- return this.renderBlockAnvilOrient(par1BlockAnvil, par2, par3, par4, par5, false);
- }
- /**
- * Renders anvil block with orientation
- */
- public boolean renderBlockAnvilOrient(BlockAnvil par1BlockAnvil, int par2, int par3, int par4, int par5, boolean par6)
- {
- int var7 = par6 ? 0 : par5 & 3;
- boolean var8 = false;
- float var9 = 0.0F;
- switch (var7)
- {
- case 0:
- this.uvRotateSouth = 2;
- this.uvRotateNorth = 1;
- this.uvRotateTop = 3;
- this.uvRotateBottom = 3;
- break;
- case 1:
- this.uvRotateEast = 1;
- this.uvRotateWest = 2;
- this.uvRotateTop = 2;
- this.uvRotateBottom = 1;
- var8 = true;
- break;
- case 2:
- this.uvRotateSouth = 1;
- this.uvRotateNorth = 2;
- break;
- case 3:
- this.uvRotateEast = 2;
- this.uvRotateWest = 1;
- this.uvRotateTop = 1;
- this.uvRotateBottom = 2;
- var8 = true;
- }
- var9 = this.renderBlockAnvilRotate(par1BlockAnvil, par2, par3, par4, 0, var9, 0.75F, 0.25F, 0.75F, var8, par6, par5);
- var9 = this.renderBlockAnvilRotate(par1BlockAnvil, par2, par3, par4, 1, var9, 0.5F, 0.0625F, 0.625F, var8, par6, par5);
- var9 = this.renderBlockAnvilRotate(par1BlockAnvil, par2, par3, par4, 2, var9, 0.25F, 0.3125F, 0.5F, var8, par6, par5);
- this.renderBlockAnvilRotate(par1BlockAnvil, par2, par3, par4, 3, var9, 0.625F, 0.375F, 1.0F, var8, par6, par5);
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- this.uvRotateEast = 0;
- this.uvRotateWest = 0;
- this.uvRotateSouth = 0;
- this.uvRotateNorth = 0;
- this.uvRotateTop = 0;
- this.uvRotateBottom = 0;
- return true;
- }
- /**
- * Renders anvil block with rotation
- */
- public float renderBlockAnvilRotate(BlockAnvil par1BlockAnvil, int par2, int par3, int par4, int par5, float par6, float par7, float par8, float par9, boolean par10, boolean par11, int par12)
- {
- if (par10)
- {
- float var13 = par7;
- par7 = par9;
- par9 = var13;
- }
- par7 /= 2.0F;
- par9 /= 2.0F;
- par1BlockAnvil.field_82521_b = par5;
- this.setRenderBounds((double)(0.5F - par7), (double)par6, (double)(0.5F - par9), (double)(0.5F + par7), (double)(par6 + par8), (double)(0.5F + par9));
- if (par11)
- {
- Tessellator var14 = Tessellator.instance;
- var14.startDrawingQuads();
- var14.setNormal(0.0F, -1.0F, 0.0F);
- this.renderBottomFace(par1BlockAnvil, 0.0D, 0.0D, 0.0D, par1BlockAnvil.getBlockTextureFromSideAndMetadata(0, par12));
- var14.draw();
- var14.startDrawingQuads();
- var14.setNormal(0.0F, 1.0F, 0.0F);
- this.renderTopFace(par1BlockAnvil, 0.0D, 0.0D, 0.0D, par1BlockAnvil.getBlockTextureFromSideAndMetadata(1, par12));
- var14.draw();
- var14.startDrawingQuads();
- var14.setNormal(0.0F, 0.0F, -1.0F);
- this.renderEastFace(par1BlockAnvil, 0.0D, 0.0D, 0.0D, par1BlockAnvil.getBlockTextureFromSideAndMetadata(2, par12));
- var14.draw();
- var14.startDrawingQuads();
- var14.setNormal(0.0F, 0.0F, 1.0F);
- this.renderWestFace(par1BlockAnvil, 0.0D, 0.0D, 0.0D, par1BlockAnvil.getBlockTextureFromSideAndMetadata(3, par12));
- var14.draw();
- var14.startDrawingQuads();
- var14.setNormal(-1.0F, 0.0F, 0.0F);
- this.renderNorthFace(par1BlockAnvil, 0.0D, 0.0D, 0.0D, par1BlockAnvil.getBlockTextureFromSideAndMetadata(4, par12));
- var14.draw();
- var14.startDrawingQuads();
- var14.setNormal(1.0F, 0.0F, 0.0F);
- this.renderSouthFace(par1BlockAnvil, 0.0D, 0.0D, 0.0D, par1BlockAnvil.getBlockTextureFromSideAndMetadata(5, par12));
- var14.draw();
- }
- else
- {
- this.renderStandardBlock(par1BlockAnvil, par2, par3, par4);
- }
- return par6 + par8;
- }
- /**
- * Renders a torch block at the given coordinates
- */
- 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;
- }
- /**
- * render a redstone repeater at the given coordinates
- */
- public 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;
- boolean var11 = ((BlockRedstoneRepeater)par1Block).func_82523_e(this.blockAccess, par2, par3, par4, var5);
- double var12 = 0.0D;
- double var14 = 0.0D;
- double var16 = 0.0D;
- double var18 = 0.0D;
- switch (var6)
- {
- case 0:
- var18 = -0.3125D;
- var14 = BlockRedstoneRepeater.repeaterTorchOffset[var7];
- break;
- case 1:
- var16 = 0.3125D;
- var12 = -BlockRedstoneRepeater.repeaterTorchOffset[var7];
- break;
- case 2:
- var18 = 0.3125D;
- var14 = -BlockRedstoneRepeater.repeaterTorchOffset[var7];
- break;
- case 3:
- var16 = -0.3125D;
- var12 = BlockRedstoneRepeater.repeaterTorchOffset[var7];
- }
- if (!var11)
- {
- this.renderTorchAtAngle(par1Block, (double)par2 + var12, (double)par3 + var9, (double)par4 + var14, 0.0D, 0.0D);
- }
- else
- {
- this.setOverrideBlockTexture(17);
- byte var20 = 16;
- byte var21 = 16;
- float var22 = 2.0F;
- float var23 = 14.0F;
- float var24 = 7.0F;
- float var25 = 9.0F;
- switch (var6)
- {
- case 1:
- case 3:
- var22 = 7.0F;
- var23 = 9.0F;
- var24 = 2.0F;
- var25 = 14.0F;
- case 0:
- case 2:
- default:
- this.setRenderBounds((double)(var22 / 16.0F + (float)var12), 0.125D, (double)(var24 / 16.0F + (float)var14), (double)(var23 / 16.0F + (float)var12), 0.25D, (double)(var25 / 16.0F + (float)var14));
- var8.addVertexWithUV((double)((float)par2 + var22 / 16.0F) + var12, (double)((float)par3 + 0.25F), (double)((float)par4 + var24 / 16.0F) + var14, (double)(((float)var20 + var22) / 256.0F), (double)(((float)var21 + var24) / 256.0F));
- var8.addVertexWithUV((double)((float)par2 + var22 / 16.0F) + var12, (double)((float)par3 + 0.25F), (double)((float)par4 + var25 / 16.0F) + var14, (double)(((float)var20 + var22) / 256.0F), (double)(((float)var21 + var25) / 256.0F));
- var8.addVertexWithUV((double)((float)par2 + var23 / 16.0F) + var12, (double)((float)par3 + 0.25F), (double)((float)par4 + var25 / 16.0F) + var14, (double)(((float)var20 + var23) / 256.0F), (double)(((float)var21 + var25) / 256.0F));
- var8.addVertexWithUV((double)((float)par2 + var23 / 16.0F) + var12, (double)((float)par3 + 0.25F), (double)((float)par4 + var24 / 16.0F) + var14, (double)(((float)var20 + var23) / 256.0F), (double)(((float)var21 + var24) / 256.0F));
- this.renderStandardBlock(par1Block, par2, par3, par4);
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 0.125D, 1.0D);
- this.clearOverrideBlockTexture();
- }
- }
- var8.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4));
- var8.setColorOpaque_F(1.0F, 1.0F, 1.0F);
- this.renderTorchAtAngle(par1Block, (double)par2 + var16, (double)par3 + var9, (double)par4 + var18, 0.0D, 0.0D);
- int var51 = par1Block.getBlockTextureFromSide(1);
- int var53 = (var51 & 15) << 4;
- int var52 = var51 & 240;
- double var55 = (double)((float)var53 / 256.0F);
- double var54 = (double)(((float)var53 + 15.99F) / 256.0F);
- double var27 = (double)((float)var52 / 256.0F);
- double var29 = (double)(((float)var52 + 15.99F) / 256.0F);
- double var31 = 0.125D;
- double var33 = (double)(par2 + 1);
- double var35 = (double)(par2 + 1);
- double var37 = (double)(par2 + 0);
- double var39 = (double)(par2 + 0);
- double var41 = (double)(par4 + 0);
- double var43 = (double)(par4 + 1);
- double var45 = (double)(par4 + 1);
- double var47 = (double)(par4 + 0);
- double var49 = (double)par3 + var31;
- if (var6 == 2)
- {
- var33 = var35 = (double)(par2 + 0);
- var37 = var39 = (double)(par2 + 1);
- var41 = var47 = (double)(par4 + 1);
- var43 = var45 = (double)(par4 + 0);
- }
- else if (var6 == 3)
- {
- var33 = var39 = (double)(par2 + 0);
- var35 = var37 = (double)(par2 + 1);
- var41 = var43 = (double)(par4 + 0);
- var45 = var47 = (double)(par4 + 1);
- }
- else if (var6 == 1)
- {
- var33 = var39 = (double)(par2 + 1);
- var35 = var37 = (double)(par2 + 0);
- var41 = var43 = (double)(par4 + 1);
- var45 = var47 = (double)(par4 + 0);
- }
- var8.addVertexWithUV(var39, var49, var47, var55, var27);
- var8.addVertexWithUV(var37, var49, var45, var55, var29);
- var8.addVertexWithUV(var35, var49, var43, var54, var29);
- var8.addVertexWithUV(var33, var49, var41, var54, var27);
- return true;
- }
- /**
- * Render all faces of the piston base
- */
- public void renderPistonBaseAllFaces(Block par1Block, int par2, int par3, int par4)
- {
- this.renderAllFaces = true;
- this.renderPistonBase(par1Block, par2, par3, par4, true);
- this.renderAllFaces = false;
- }
- /**
- * renders a block as a piston base
- */
- public 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;
- this.setRenderBounds(0.0D, 0.25D, 0.0D, 1.0D, 1.0D, 1.0D);
- break;
- case 1:
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 0.75D, 1.0D);
- break;
- case 2:
- this.uvRotateSouth = 1;
- this.uvRotateNorth = 2;
- this.setRenderBounds(0.0D, 0.0D, 0.25D, 1.0D, 1.0D, 1.0D);
- break;
- case 3:
- this.uvRotateSouth = 2;
- this.uvRotateNorth = 1;
- this.uvRotateTop = 3;
- this.uvRotateBottom = 3;
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.75D);
- break;
- case 4:
- this.uvRotateEast = 1;
- this.uvRotateWest = 2;
- this.uvRotateTop = 2;
- this.uvRotateBottom = 1;
- this.setRenderBounds(0.25D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- break;
- case 5:
- this.uvRotateEast = 2;
- this.uvRotateWest = 1;
- this.uvRotateTop = 1;
- this.uvRotateBottom = 2;
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 0.75D, 1.0D, 1.0D);
- }
- this.renderStandardBlock(par1Block, par2, par3, par4);
- this.uvRotateEast = 0;
- this.uvRotateWest = 0;
- this.uvRotateSouth = 0;
- this.uvRotateNorth = 0;
- this.uvRotateTop = 0;
- this.uvRotateBottom = 0;
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }
- 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;
- }
- /**
- * Render piston rod up/down
- */
- public 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);
- }
- /**
- * Render piston rod south/north
- */
- public 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);
- }
- /**
- * Render piston rod east/west
- */
- public 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);
- }
- /**
- * Render all faces of the piston extension
- */
- 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;
- }
- /**
- * renders the pushing part of a piston
- */
- public 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;
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 0.25D, 1.0D);
- 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:
- this.setRenderBounds(0.0D, 0.75D, 0.0D, 1.0D, 1.0D, 1.0D);
- 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;
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.25D);
- 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;
- this.setRenderBounds(0.0D, 0.0D, 0.75D, 1.0D, 1.0D, 1.0D);
- 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;
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 0.25D, 1.0D, 1.0D);
- 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;
- this.setRenderBounds(0.75D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- 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;
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- return true;
- }
- /**
- * Renders a lever block at the given coordinates
- */
- 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)
- {
- this.setRenderBounds((double)(0.5F - var11), 0.0D, (double)(0.5F - var10), (double)(0.5F + var11), (double)var12, (double)(0.5F + var10));
- }
- else if (var6 == 6)
- {
- this.setRenderBounds((double)(0.5F - var10), 0.0D, (double)(0.5F - var11), (double)(0.5F + var10), (double)var12, (double)(0.5F + var11));
- }
- else if (var6 == 4)
- {
- this.setRenderBounds((double)(0.5F - var11), (double)(0.5F - var10), (double)(1.0F - var12), (double)(0.5F + var11), (double)(0.5F + var10), 1.0D);
- }
- else if (var6 == 3)
- {
- this.setRenderBounds((double)(0.5F - var11), (double)(0.5F - var10), 0.0D, (double)(0.5F + var11), (double)(0.5F + var10), (double)var12);
- }
- else if (var6 == 2)
- {
- this.setRenderBounds((double)(1.0F - var12), (double)(0.5F - var10), (double)(0.5F - var11), 1.0D, (double)(0.5F + var10), (double)(0.5F + var11));
- }
- else if (var6 == 1)
- {
- this.setRenderBounds(0.0D, (double)(0.5F - var10), (double)(0.5F - var11), (double)var12, (double)(0.5F + var10), (double)(0.5F + var11));
- }
- else if (var6 == 0)
- {
- this.setRenderBounds((double)(0.5F - var10), (double)(1.0F - var12), (double)(0.5F - var11), (double)(0.5F + var10), 1.0D, (double)(0.5F + var11));
- }
- else if (var6 == 7)
- {
- this.setRenderBounds((double)(0.5F - var11), (double)(1.0F - var12), (double)(0.5F - var10), (double)(0.5F + var11), 1.0D, (double)(0.5F + var10));
- }
- 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;
- Vec3[] var21 = new Vec3[8];
- float var22 = 0.0625F;
- float var23 = 0.0625F;
- float var24 = 0.625F;
- var21[0] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)(-var22), 0.0D, (double)(-var23));
- var21[1] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)var22, 0.0D, (double)(-var23));
- var21[2] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)var22, 0.0D, (double)var23);
- var21[3] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)(-var22), 0.0D, (double)var23);
- var21[4] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)(-var22), (double)var24, (double)(-var23));
- var21[5] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)var22, (double)var24, (double)(-var23));
- var21[6] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)var22, (double)var24, (double)var23);
- var21[7] = this.blockAccess.getWorldVec3Pool().getVecFromPool((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 == 0 || var6 == 7)
- {
- var21[var25].rotateAroundZ((float)Math.PI);
- }
- if (var6 == 6 || var6 == 0)
- {
- var21[var25].rotateAroundY(((float)Math.PI / 2F));
- }
- if (var6 > 0 && 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 if (var6 != 0 && var6 != 7)
- {
- var21[var25].xCoord += (double)par2 + 0.5D;
- var21[var25].yCoord += (double)((float)par3 + 0.125F);
- var21[var25].zCoord += (double)par4 + 0.5D;
- }
- else
- {
- var21[var25].xCoord += (double)par2 + 0.5D;
- var21[var25].yCoord += (double)((float)par3 + 0.875F);
- var21[var25].zCoord += (double)par4 + 0.5D;
- }
- }
- Vec3 var30 = null;
- Vec3 var26 = null;
- Vec3 var27 = null;
- Vec3 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;
- }
- /**
- * Renders a trip wire source block at the given coordinates
- */
- public boolean renderBlockTripWireSource(Block par1Block, int par2, int par3, int par4)
- {
- Tessellator var5 = Tessellator.instance;
- int var6 = this.blockAccess.getBlockMetadata(par2, par3, par4);
- int var7 = var6 & 3;
- boolean var8 = (var6 & 4) == 4;
- boolean var9 = (var6 & 8) == 8;
- boolean var10 = !this.blockAccess.doesBlockHaveSolidTopSurface(par2, par3 - 1, par4);
- boolean var11 = this.overrideBlockTexture >= 0;
- if (!var11)
- {
- this.overrideBlockTexture = Block.planks.blockIndexInTexture;
- }
- float var12 = 0.25F;
- float var13 = 0.125F;
- float var14 = 0.125F;
- float var15 = 0.3F - var12;
- float var16 = 0.3F + var12;
- if (var7 == 2)
- {
- this.setRenderBounds((double)(0.5F - var13), (double)var15, (double)(1.0F - var14), (double)(0.5F + var13), (double)var16, 1.0D);
- }
- else if (var7 == 0)
- {
- this.setRenderBounds((double)(0.5F - var13), (double)var15, 0.0D, (double)(0.5F + var13), (double)var16, (double)var14);
- }
- else if (var7 == 1)
- {
- this.setRenderBounds((double)(1.0F - var14), (double)var15, (double)(0.5F - var13), 1.0D, (double)var16, (double)(0.5F + var13));
- }
- else if (var7 == 3)
- {
- this.setRenderBounds(0.0D, (double)var15, (double)(0.5F - var13), (double)var14, (double)var16, (double)(0.5F + var13));
- }
- this.renderStandardBlock(par1Block, par2, par3, par4);
- if (!var11)
- {
- this.overrideBlockTexture = -1;
- }
- var5.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4));
- float var17 = 1.0F;
- if (Block.lightValue[par1Block.blockID] > 0)
- {
- var17 = 1.0F;
- }
- var5.setColorOpaque_F(var17, var17, var17);
- int var18 = par1Block.getBlockTextureFromSide(0);
- if (this.overrideBlockTexture >= 0)
- {
- var18 = this.overrideBlockTexture;
- }
- int var19 = (var18 & 15) << 4;
- int var20 = var18 & 240;
- float var21 = (float)var19 / 256.0F;
- float var22 = ((float)var19 + 15.99F) / 256.0F;
- float var23 = (float)var20 / 256.0F;
- float var24 = ((float)var20 + 15.99F) / 256.0F;
- Vec3[] var25 = new Vec3[8];
- float var26 = 0.046875F;
- float var27 = 0.046875F;
- float var28 = 0.3125F;
- var25[0] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)(-var26), 0.0D, (double)(-var27));
- var25[1] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)var26, 0.0D, (double)(-var27));
- var25[2] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)var26, 0.0D, (double)var27);
- var25[3] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)(-var26), 0.0D, (double)var27);
- var25[4] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)(-var26), (double)var28, (double)(-var27));
- var25[5] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)var26, (double)var28, (double)(-var27));
- var25[6] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)var26, (double)var28, (double)var27);
- var25[7] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)(-var26), (double)var28, (double)var27);
- for (int var29 = 0; var29 < 8; ++var29)
- {
- var25[var29].zCoord += 0.0625D;
- if (var9)
- {
- var25[var29].rotateAroundX(0.5235988F);
- var25[var29].yCoord -= 0.4375D;
- }
- else if (var8)
- {
- var25[var29].rotateAroundX(0.08726647F);
- var25[var29].yCoord -= 0.4375D;
- }
- else
- {
- var25[var29].rotateAroundX(-((float)Math.PI * 2F / 9F));
- var25[var29].yCoord -= 0.375D;
- }
- var25[var29].rotateAroundX(((float)Math.PI / 2F));
- if (var7 == 2)
- {
- var25[var29].rotateAroundY(0.0F);
- }
- if (var7 == 0)
- {
- var25[var29].rotateAroundY((float)Math.PI);
- }
- if (var7 == 1)
- {
- var25[var29].rotateAroundY(((float)Math.PI / 2F));
- }
- if (var7 == 3)
- {
- var25[var29].rotateAroundY(-((float)Math.PI / 2F));
- }
- var25[var29].xCoord += (double)par2 + 0.5D;
- var25[var29].yCoord += (double)((float)par3 + 0.3125F);
- var25[var29].zCoord += (double)par4 + 0.5D;
- }
- Vec3 var61 = null;
- Vec3 var30 = null;
- Vec3 var31 = null;
- Vec3 var32 = null;
- byte var33 = 7;
- byte var34 = 9;
- byte var35 = 9;
- byte var36 = 16;
- for (int var37 = 0; var37 < 6; ++var37)
- {
- if (var37 == 0)
- {
- var61 = var25[0];
- var30 = var25[1];
- var31 = var25[2];
- var32 = var25[3];
- var21 = (float)(var19 + var33) / 256.0F;
- var22 = (float)(var19 + var34) / 256.0F;
- var23 = (float)(var20 + var35) / 256.0F;
- var24 = (float)(var20 + var35 + 2) / 256.0F;
- }
- else if (var37 == 1)
- {
- var61 = var25[7];
- var30 = var25[6];
- var31 = var25[5];
- var32 = var25[4];
- }
- else if (var37 == 2)
- {
- var61 = var25[1];
- var30 = var25[0];
- var31 = var25[4];
- var32 = var25[5];
- var21 = (float)(var19 + var33) / 256.0F;
- var22 = (float)(var19 + var34) / 256.0F;
- var23 = (float)(var20 + var35) / 256.0F;
- var24 = (float)(var20 + var36) / 256.0F;
- }
- else if (var37 == 3)
- {
- var61 = var25[2];
- var30 = var25[1];
- var31 = var25[5];
- var32 = var25[6];
- }
- else if (var37 == 4)
- {
- var61 = var25[3];
- var30 = var25[2];
- var31 = var25[6];
- var32 = var25[7];
- }
- else if (var37 == 5)
- {
- var61 = var25[0];
- var30 = var25[3];
- var31 = var25[7];
- var32 = var25[4];
- }
- var5.addVertexWithUV(var61.xCoord, var61.yCoord, var61.zCoord, (double)var21, (double)var24);
- var5.addVertexWithUV(var30.xCoord, var30.yCoord, var30.zCoord, (double)var22, (double)var24);
- var5.addVertexWithUV(var31.xCoord, var31.yCoord, var31.zCoord, (double)var22, (double)var23);
- var5.addVertexWithUV(var32.xCoord, var32.yCoord, var32.zCoord, (double)var21, (double)var23);
- }
- float var62 = 0.09375F;
- float var38 = 0.09375F;
- float var39 = 0.03125F;
- var25[0] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)(-var62), 0.0D, (double)(-var38));
- var25[1] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)var62, 0.0D, (double)(-var38));
- var25[2] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)var62, 0.0D, (double)var38);
- var25[3] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)(-var62), 0.0D, (double)var38);
- var25[4] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)(-var62), (double)var39, (double)(-var38));
- var25[5] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)var62, (double)var39, (double)(-var38));
- var25[6] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)var62, (double)var39, (double)var38);
- var25[7] = this.blockAccess.getWorldVec3Pool().getVecFromPool((double)(-var62), (double)var39, (double)var38);
- for (int var40 = 0; var40 < 8; ++var40)
- {
- var25[var40].zCoord += 0.21875D;
- if (var9)
- {
- var25[var40].yCoord -= 0.09375D;
- var25[var40].zCoord -= 0.1625D;
- var25[var40].rotateAroundX(0.0F);
- }
- else if (var8)
- {
- var25[var40].yCoord += 0.015625D;
- var25[var40].zCoord -= 0.171875D;
- var25[var40].rotateAroundX(0.17453294F);
- }
- else
- {
- var25[var40].rotateAroundX(0.87266463F);
- }
- if (var7 == 2)
- {
- var25[var40].rotateAroundY(0.0F);
- }
- if (var7 == 0)
- {
- var25[var40].rotateAroundY((float)Math.PI);
- }
- if (var7 == 1)
- {
- var25[var40].rotateAroundY(((float)Math.PI / 2F));
- }
- if (var7 == 3)
- {
- var25[var40].rotateAroundY(-((float)Math.PI / 2F));
- }
- var25[var40].xCoord += (double)par2 + 0.5D;
- var25[var40].yCoord += (double)((float)par3 + 0.3125F);
- var25[var40].zCoord += (double)par4 + 0.5D;
- }
- byte var63 = 5;
- byte var41 = 11;
- byte var42 = 3;
- byte var43 = 9;
- for (int var44 = 0; var44 < 6; ++var44)
- {
- if (var44 == 0)
- {
- var61 = var25[0];
- var30 = var25[1];
- var31 = var25[2];
- var32 = var25[3];
- var21 = (float)(var19 + var63) / 256.0F;
- var22 = (float)(var19 + var41) / 256.0F;
- var23 = (float)(var20 + var42) / 256.0F;
- var24 = (float)(var20 + var43) / 256.0F;
- }
- else if (var44 == 1)
- {
- var61 = var25[7];
- var30 = var25[6];
- var31 = var25[5];
- var32 = var25[4];
- }
- else if (var44 == 2)
- {
- var61 = var25[1];
- var30 = var25[0];
- var31 = var25[4];
- var32 = var25[5];
- var21 = (float)(var19 + var63) / 256.0F;
- var22 = (float)(var19 + var41) / 256.0F;
- var23 = (float)(var20 + var42) / 256.0F;
- var24 = (float)(var20 + var42 + 2) / 256.0F;
- }
- else if (var44 == 3)
- {
- var61 = var25[2];
- var30 = var25[1];
- var31 = var25[5];
- var32 = var25[6];
- }
- else if (var44 == 4)
- {
- var61 = var25[3];
- var30 = var25[2];
- var31 = var25[6];
- var32 = var25[7];
- }
- else if (var44 == 5)
- {
- var61 = var25[0];
- var30 = var25[3];
- var31 = var25[7];
- var32 = var25[4];
- }
- var5.addVertexWithUV(var61.xCoord, var61.yCoord, var61.zCoord, (double)var21, (double)var24);
- var5.addVertexWithUV(var30.xCoord, var30.yCoord, var30.zCoord, (double)var22, (double)var24);
- var5.addVertexWithUV(var31.xCoord, var31.yCoord, var31.zCoord, (double)var22, (double)var23);
- var5.addVertexWithUV(var32.xCoord, var32.yCoord, var32.zCoord, (double)var21, (double)var23);
- }
- if (var8)
- {
- double var64 = var25[0].yCoord;
- float var46 = 0.03125F;
- float var47 = 0.5F - var46 / 2.0F;
- float var48 = var47 + var46;
- int var49 = (Block.tripWire.blockIndexInTexture & 15) << 4;
- int var50 = Block.tripWire.blockIndexInTexture & 240;
- double var51 = (double)((float)var49 / 256.0F);
- double var53 = (double)((float)(var49 + 16) / 256.0F);
- double var55 = (double)((float)(var50 + (var8 ? 2 : 0)) / 256.0F);
- double var57 = (double)((float)(var50 + (var8 ? 4 : 2)) / 256.0F);
- double var59 = (double)(var10 ? 3.5F : 1.5F) / 16.0D;
- var17 = par1Block.getBlockBrightness(this.blockAccess, par2, par3, par4) * 0.75F;
- var5.setColorOpaque_F(var17, var17, var17);
- if (var7 == 2)
- {
- var5.addVertexWithUV((double)((float)par2 + var47), (double)par3 + var59, (double)par4 + 0.25D, var51, var55);
- var5.addVertexWithUV((double)((float)par2 + var48), (double)par3 + var59, (double)par4 + 0.25D, var51, var57);
- var5.addVertexWithUV((double)((float)par2 + var48), (double)par3 + var59, (double)par4, var53, var57);
- var5.addVertexWithUV((double)((float)par2 + var47), (double)par3 + var59, (double)par4, var53, var55);
- var5.addVertexWithUV((double)((float)par2 + var47), var64, (double)par4 + 0.5D, var51, var55);
- var5.addVertexWithUV((double)((float)par2 + var48), var64, (double)par4 + 0.5D, var51, var57);
- var5.addVertexWithUV((double)((float)par2 + var48), (double)par3 + var59, (double)par4 + 0.25D, var53, var57);
- var5.addVertexWithUV((double)((float)par2 + var47), (double)par3 + var59, (double)par4 + 0.25D, var53, var55);
- }
- else if (var7 == 0)
- {
- var5.addVertexWithUV((double)((float)par2 + var47), (double)par3 + var59, (double)par4 + 0.75D, var51, var55);
- var5.addVertexWithUV((double)((float)par2 + var48), (double)par3 + var59, (double)par4 + 0.75D, var51, var57);
- var5.addVertexWithUV((double)((float)par2 + var48), var64, (double)par4 + 0.5D, var53, var57);
- var5.addVertexWithUV((double)((float)par2 + var47), var64, (double)par4 + 0.5D, var53, var55);
- var5.addVertexWithUV((double)((float)par2 + var47), (double)par3 + var59, (double)(par4 + 1), var51, var55);
- var5.addVertexWithUV((double)((float)par2 + var48), (double)par3 + var59, (double)(par4 + 1), var51, var57);
- var5.addVertexWithUV((double)((float)par2 + var48), (double)par3 + var59, (double)par4 + 0.75D, var53, var57);
- var5.addVertexWithUV((double)((float)par2 + var47), (double)par3 + var59, (double)par4 + 0.75D, var53, var55);
- }
- else if (var7 == 1)
- {
- var5.addVertexWithUV((double)par2, (double)par3 + var59, (double)((float)par4 + var48), var51, var57);
- var5.addVertexWithUV((double)par2 + 0.25D, (double)par3 + var59, (double)((float)par4 + var48), var53, var57);
- var5.addVertexWithUV((double)par2 + 0.25D, (double)par3 + var59, (double)((float)par4 + var47), var53, var55);
- var5.addVertexWithUV((double)par2, (double)par3 + var59, (double)((float)par4 + var47), var51, var55);
- var5.addVertexWithUV((double)par2 + 0.25D, (double)par3 + var59, (double)((float)par4 + var48), var51, var57);
- var5.addVertexWithUV((double)par2 + 0.5D, var64, (double)((float)par4 + var48), var53, var57);
- var5.addVertexWithUV((double)par2 + 0.5D, var64, (double)((float)par4 + var47), var53, var55);
- var5.addVertexWithUV((double)par2 + 0.25D, (double)par3 + var59, (double)((float)par4 + var47), var51, var55);
- }
- else
- {
- var5.addVertexWithUV((double)par2 + 0.5D, var64, (double)((float)par4 + var48), var51, var57);
- var5.addVertexWithUV((double)par2 + 0.75D, (double)par3 + var59, (double)((float)par4 + var48), var53, var57);
- var5.addVertexWithUV((double)par2 + 0.75D, (double)par3 + var59, (double)((float)par4 + var47), var53, var55);
- var5.addVertexWithUV((double)par2 + 0.5D, var64, (double)((float)par4 + var47), var51, var55);
- var5.addVertexWithUV((double)par2 + 0.75D, (double)par3 + var59, (double)((float)par4 + var48), var51, var57);
- var5.addVertexWithUV((double)(par2 + 1), (double)par3 + var59, (double)((float)par4 + var48), var53, var57);
- var5.addVertexWithUV((double)(par2 + 1), (double)par3 + var59, (double)((float)par4 + var47), var53, var55);
- var5.addVertexWithUV((double)par2 + 0.75D, (double)par3 + var59, (double)((float)par4 + var47), var51, var55);
- }
- }
- return true;
- }
- /**
- * Renders a trip wire block at the given coordinates
- */
- public boolean renderBlockTripWire(Block par1Block, int par2, int par3, int par4)
- {
- Tessellator var5 = Tessellator.instance;
- int var6 = par1Block.getBlockTextureFromSide(0);
- int var7 = this.blockAccess.getBlockMetadata(par2, par3, par4);
- boolean var8 = (var7 & 4) == 4;
- boolean var9 = (var7 & 2) == 2;
- if (this.overrideBlockTexture >= 0)
- {
- var6 = this.overrideBlockTexture;
- }
- var5.setBrightness(par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4));
- float var10 = par1Block.getBlockBrightness(this.blockAccess, par2, par3, par4) * 0.75F;
- var5.setColorOpaque_F(var10, var10, var10);
- int var11 = (var6 & 15) << 4;
- int var12 = var6 & 240;
- double var13 = (double)((float)var11 / 256.0F);
- double var15 = (double)((float)(var11 + 16) / 256.0F);
- double var17 = (double)((float)(var12 + (var8 ? 2 : 0)) / 256.0F);
- double var19 = (double)((float)(var12 + (var8 ? 4 : 2)) / 256.0F);
- double var21 = (double)(var9 ? 3.5F : 1.5F) / 16.0D;
- boolean var23 = BlockTripWire.func_72148_a(this.blockAccess, par2, par3, par4, var7, 1);
- boolean var24 = BlockTripWire.func_72148_a(this.blockAccess, par2, par3, par4, var7, 3);
- boolean var25 = BlockTripWire.func_72148_a(this.blockAccess, par2, par3, par4, var7, 2);
- boolean var26 = BlockTripWire.func_72148_a(this.blockAccess, par2, par3, par4, var7, 0);
- float var27 = 0.03125F;
- float var28 = 0.5F - var27 / 2.0F;
- float var29 = var28 + var27;
- if (!var25 && !var24 && !var26 && !var23)
- {
- var25 = true;
- var26 = true;
- }
- if (var25)
- {
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)par4 + 0.25D, var13, var17);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)par4 + 0.25D, var13, var19);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)par4, var15, var19);
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)par4, var15, var17);
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)par4, var15, var17);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)par4, var15, var19);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)par4 + 0.25D, var13, var19);
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)par4 + 0.25D, var13, var17);
- }
- if (var25 || var26 && !var24 && !var23)
- {
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)par4 + 0.5D, var13, var17);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)par4 + 0.5D, var13, var19);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)par4 + 0.25D, var15, var19);
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)par4 + 0.25D, var15, var17);
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)par4 + 0.25D, var15, var17);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)par4 + 0.25D, var15, var19);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)par4 + 0.5D, var13, var19);
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)par4 + 0.5D, var13, var17);
- }
- if (var26 || var25 && !var24 && !var23)
- {
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)par4 + 0.75D, var13, var17);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)par4 + 0.75D, var13, var19);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)par4 + 0.5D, var15, var19);
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)par4 + 0.5D, var15, var17);
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)par4 + 0.5D, var15, var17);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)par4 + 0.5D, var15, var19);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)par4 + 0.75D, var13, var19);
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)par4 + 0.75D, var13, var17);
- }
- if (var26)
- {
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)(par4 + 1), var13, var17);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)(par4 + 1), var13, var19);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)par4 + 0.75D, var15, var19);
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)par4 + 0.75D, var15, var17);
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)par4 + 0.75D, var15, var17);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)par4 + 0.75D, var15, var19);
- var5.addVertexWithUV((double)((float)par2 + var29), (double)par3 + var21, (double)(par4 + 1), var13, var19);
- var5.addVertexWithUV((double)((float)par2 + var28), (double)par3 + var21, (double)(par4 + 1), var13, var17);
- }
- if (var23)
- {
- var5.addVertexWithUV((double)par2, (double)par3 + var21, (double)((float)par4 + var29), var13, var19);
- var5.addVertexWithUV((double)par2 + 0.25D, (double)par3 + var21, (double)((float)par4 + var29), var15, var19);
- var5.addVertexWithUV((double)par2 + 0.25D, (double)par3 + var21, (double)((float)par4 + var28), var15, var17);
- var5.addVertexWithUV((double)par2, (double)par3 + var21, (double)((float)par4 + var28), var13, var17);
- var5.addVertexWithUV((double)par2, (double)par3 + var21, (double)((float)par4 + var28), var13, var17);
- var5.addVertexWithUV((double)par2 + 0.25D, (double)par3 + var21, (double)((float)par4 + var28), var15, var17);
- var5.addVertexWithUV((double)par2 + 0.25D, (double)par3 + var21, (double)((float)par4 + var29), var15, var19);
- var5.addVertexWithUV((double)par2, (double)par3 + var21, (double)((float)par4 + var29), var13, var19);
- }
- if (var23 || var24 && !var25 && !var26)
- {
- var5.addVertexWithUV((double)par2 + 0.25D, (double)par3 + var21, (double)((float)par4 + var29), var13, var19);
- var5.addVertexWithUV((double)par2 + 0.5D, (double)par3 + var21, (double)((float)par4 + var29), var15, var19);
- var5.addVertexWithUV((double)par2 + 0.5D, (double)par3 + var21, (double)((float)par4 + var28), var15, var17);
- var5.addVertexWithUV((double)par2 + 0.25D, (double)par3 + var21, (double)((float)par4 + var28), var13, var17);
- var5.addVertexWithUV((double)par2 + 0.25D, (double)par3 + var21, (double)((float)par4 + var28), var13, var17);
- var5.addVertexWithUV((double)par2 + 0.5D, (double)par3 + var21, (double)((float)par4 + var28), var15, var17);
- var5.addVertexWithUV((double)par2 + 0.5D, (double)par3 + var21, (double)((float)par4 + var29), var15, var19);
- var5.addVertexWithUV((double)par2 + 0.25D, (double)par3 + var21, (double)((float)par4 + var29), var13, var19);
- }
- if (var24 || var23 && !var25 && !var26)
- {
- var5.addVertexWithUV((double)par2 + 0.5D, (double)par3 + var21, (double)((float)par4 + var29), var13, var19);
- var5.addVertexWithUV((double)par2 + 0.75D, (double)par3 + var21, (double)((float)par4 + var29), var15, var19);
- var5.addVertexWithUV((double)par2 + 0.75D, (double)par3 + var21, (double)((float)par4 + var28), var15, var17);
- var5.addVertexWithUV((double)par2 + 0.5D, (double)par3 + var21, (double)((float)par4 + var28), var13, var17);
- var5.addVertexWithUV((double)par2 + 0.5D, (double)par3 + var21, (double)((float)par4 + var28), var13, var17);
- var5.addVertexWithUV((double)par2 + 0.75D, (double)par3 + var21, (double)((float)par4 + var28), var15, var17);
- var5.addVertexWithUV((double)par2 + 0.75D, (double)par3 + var21, (double)((float)par4 + var29), var15, var19);
- var5.addVertexWithUV((double)par2 + 0.5D, (double)par3 + var21, (double)((float)par4 + var29), var13, var19);
- }
- if (var24)
- {
- var5.addVertexWithUV((double)par2 + 0.75D, (double)par3 + var21, (double)((float)par4 + var29), var13, var19);
- var5.addVertexWithUV((double)(par2 + 1), (double)par3 + var21, (double)((float)par4 + var29), var15, var19);
- var5.addVertexWithUV((double)(par2 + 1), (double)par3 + var21, (double)((float)par4 + var28), var15, var17);
- var5.addVertexWithUV((double)par2 + 0.75D, (double)par3 + var21, (double)((float)par4 + var28), var13, var17);
- var5.addVertexWithUV((double)par2 + 0.75D, (double)par3 + var21, (double)((float)par4 + var28), var13, var17);
- var5.addVertexWithUV((double)(par2 + 1), (double)par3 + var21, (double)((float)par4 + var28), var15, var17);
- var5.addVertexWithUV((double)(par2 + 1), (double)par3 + var21, (double)((float)par4 + var29), var15, var19);
- var5.addVertexWithUV((double)par2 + 0.75D, (double)par3 + var21, (double)((float)par4 + var29), var13, var19);
- }
- return true;
- }
- /**
- * Renders a fire block at the given coordinates
- */
- 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 var32;
- double var20;
- double var22;
- double var24;
- double var26;
- double var28;
- double var30;
- if (!this.blockAccess.doesBlockHaveSolidTopSurface(par2, par3 - 1, par4) && !Block.fire.canBlockCatchFire(this.blockAccess, par2, par3 - 1, par4, UP))
- {
- 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, EAST))
- {
- 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, WEST))
- {
- 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, SOUTH))
- {
- 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, NORTH))
- {
- 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, DOWN))
- {
- 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;
- }
- /**
- * Renders a redstone wire block at the given coordinates
- */
- 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;
- 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, 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;
- }
- /**
- * Renders a minecart track block at the given coordinates
- */
- 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;
- }
- /**
- * Renders a ladder block at the given coordinates
- */
- 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;
- }
- /**
- * Render block vine
- */
- 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;
- }
- /**
- * Renders any block requiring croseed squares such as reeds, flowers, and mushrooms
- */
- 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, 1.0F);
- return true;
- }
- /**
- * Render block stem
- */
- 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.getState(this.blockAccess, par2, par3, par4);
- if (var15 < 0)
- {
- this.renderBlockStemSmall(var5, this.blockAccess.getBlockMetadata(par2, par3, par4), this.renderMaxY, (double)par2, (double)((float)par3 - 0.0625F), (double)par4);
- }
- else
- {
- this.renderBlockStemSmall(var5, this.blockAccess.getBlockMetadata(par2, par3, par4), 0.5D, (double)par2, (double)((float)par3 - 0.0625F), (double)par4);
- this.renderBlockStemBig(var5, this.blockAccess.getBlockMetadata(par2, par3, par4), var15, this.renderMaxY, (double)par2, (double)((float)par3 - 0.0625F), (double)par4);
- }
- return true;
- }
- /**
- * Render block crops
- */
- 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;
- }
- /**
- * Renders a torch at the given coordinates, with the base slanting at the given delta
- */
- 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;
- double var28 = (double)var16 + 0.02734375D;
- double var30 = (double)var18 + 0.05078125D;
- double var32 = (double)var16 + 0.03515625D;
- double var34 = (double)var18 + 0.05859375D;
- par2 += 0.5D;
- par6 += 0.5D;
- double var36 = par2 - 0.5D;
- double var38 = par2 + 0.5D;
- double var40 = par6 - 0.5D;
- double var42 = par6 + 0.5D;
- double var44 = 0.0625D;
- double var46 = 0.625D;
- var12.addVertexWithUV(par2 + par8 * (1.0D - var46) - var44, par4 + var46, par6 + par10 * (1.0D - var46) - var44, var20, var22);
- var12.addVertexWithUV(par2 + par8 * (1.0D - var46) - var44, par4 + var46, par6 + par10 * (1.0D - var46) + var44, var20, var26);
- var12.addVertexWithUV(par2 + par8 * (1.0D - var46) + var44, par4 + var46, par6 + par10 * (1.0D - var46) + var44, var24, var26);
- var12.addVertexWithUV(par2 + par8 * (1.0D - var46) + var44, par4 + var46, par6 + par10 * (1.0D - var46) - var44, var24, var22);
- var12.addVertexWithUV(par2 + var44 + par8, par4, par6 - var44 + par10, var32, var30);
- var12.addVertexWithUV(par2 + var44 + par8, par4, par6 + var44 + par10, var32, var34);
- var12.addVertexWithUV(par2 - var44 + par8, par4, par6 + var44 + par10, var28, var34);
- var12.addVertexWithUV(par2 - var44 + par8, par4, par6 - var44 + par10, var28, var30);
- var12.addVertexWithUV(par2 - var44, par4 + 1.0D, var40, (double)var16, (double)var18);
- var12.addVertexWithUV(par2 - var44 + par8, par4 + 0.0D, var40 + par10, (double)var16, (double)var19);
- var12.addVertexWithUV(par2 - var44 + par8, par4 + 0.0D, var42 + par10, (double)var17, (double)var19);
- var12.addVertexWithUV(par2 - var44, par4 + 1.0D, var42, (double)var17, (double)var18);
- var12.addVertexWithUV(par2 + var44, par4 + 1.0D, var42, (double)var16, (double)var18);
- var12.addVertexWithUV(par2 + par8 + var44, par4 + 0.0D, var42 + par10, (double)var16, (double)var19);
- var12.addVertexWithUV(par2 + par8 + var44, par4 + 0.0D, var40 + par10, (double)var17, (double)var19);
- var12.addVertexWithUV(par2 + var44, par4 + 1.0D, var40, (double)var17, (double)var18);
- var12.addVertexWithUV(var36, par4 + 1.0D, par6 + var44, (double)var16, (double)var18);
- var12.addVertexWithUV(var36 + par8, par4 + 0.0D, par6 + var44 + par10, (double)var16, (double)var19);
- var12.addVertexWithUV(var38 + par8, par4 + 0.0D, par6 + var44 + par10, (double)var17, (double)var19);
- var12.addVertexWithUV(var38, par4 + 1.0D, par6 + var44, (double)var17, (double)var18);
- var12.addVertexWithUV(var38, par4 + 1.0D, par6 - var44, (double)var16, (double)var18);
- var12.addVertexWithUV(var38 + par8, par4 + 0.0D, par6 - var44 + par10, (double)var16, (double)var19);
- var12.addVertexWithUV(var36 + par8, par4 + 0.0D, par6 - var44 + par10, (double)var17, (double)var19);
- var12.addVertexWithUV(var36, par4 + 1.0D, par6 - var44, (double)var17, (double)var18);
- }
- /**
- * Utility function to draw crossed swuares
- */
- public void drawCrossedSquares(Block par1Block, int par2, double par3, double par5, double par7, float par9)
- {
- Tessellator var10 = Tessellator.instance;
- int var11 = par1Block.getBlockTextureFromSideAndMetadata(0, par2);
- if (this.overrideBlockTexture >= 0)
- {
- var11 = this.overrideBlockTexture;
- }
- int var12 = (var11 & 15) << 4;
- int var13 = var11 & 240;
- double var14 = (double)((float)var12 / 256.0F);
- double var16 = (double)(((float)var12 + 15.99F) / 256.0F);
- double var18 = (double)((float)var13 / 256.0F);
- double var20 = (double)(((float)var13 + 15.99F) / 256.0F);
- double var22 = 0.45D * (double)par9;
- double var24 = par3 + 0.5D - var22;
- double var26 = par3 + 0.5D + var22;
- double var28 = par7 + 0.5D - var22;
- double var30 = par7 + 0.5D + var22;
- var10.addVertexWithUV(var24, par5 + (double)par9, var28, var14, var18);
- var10.addVertexWithUV(var24, par5 + 0.0D, var28, var14, var20);
- var10.addVertexWithUV(var26, par5 + 0.0D, var30, var16, var20);
- var10.addVertexWithUV(var26, par5 + (double)par9, var30, var16, var18);
- var10.addVertexWithUV(var26, par5 + (double)par9, var30, var14, var18);
- var10.addVertexWithUV(var26, par5 + 0.0D, var30, var14, var20);
- var10.addVertexWithUV(var24, par5 + 0.0D, var28, var16, var20);
- var10.addVertexWithUV(var24, par5 + (double)par9, var28, var16, var18);
- var10.addVertexWithUV(var24, par5 + (double)par9, var30, var14, var18);
- var10.addVertexWithUV(var24, par5 + 0.0D, var30, var14, var20);
- var10.addVertexWithUV(var26, par5 + 0.0D, var28, var16, var20);
- var10.addVertexWithUV(var26, par5 + (double)par9, var28, var16, var18);
- var10.addVertexWithUV(var26, par5 + (double)par9, var28, var14, var18);
- var10.addVertexWithUV(var26, par5 + 0.0D, var28, var14, var20);
- var10.addVertexWithUV(var24, par5 + 0.0D, var30, var16, var20);
- var10.addVertexWithUV(var24, par5 + (double)par9, var30, var16, var18);
- }
- /**
- * Render block stem small
- */
- 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);
- }
- /**
- * Render BlockLilyPad
- */
- 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;
- }
- /**
- * Render block stem big
- */
- 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);
- }
- }
- /**
- * Render block crops implementation
- */
- 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);
- }
- /**
- * Renders a block based on the BlockFluids class at the given coordinates
- */
- 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.getFlowDirection(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);
- }
- }
- this.renderMinY = var18;
- this.renderMaxY = var20;
- return var13;
- }
- }
- /**
- * Get fluid height
- */
- public 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;
- }
- /**
- * Renders a falling sand block
- */
- public void renderBlockSandFalling(Block par1Block, World par2World, int par3, int par4, int par5, int par6)
- {
- float var7 = 0.5F;
- float var8 = 1.0F;
- float var9 = 0.8F;
- float var10 = 0.6F;
- Tessellator var11 = Tessellator.instance;
- var11.startDrawingQuads();
- var11.setBrightness(par1Block.getMixedBrightnessForBlock(par2World, par3, par4, par5));
- float var12 = 1.0F;
- float var13 = 1.0F;
- if (var13 < var12)
- {
- var13 = var12;
- }
- var11.setColorOpaque_F(var7 * var13, var7 * var13, var7 * var13);
- this.renderBottomFace(par1Block, -0.5D, -0.5D, -0.5D, par1Block.getBlockTextureFromSideAndMetadata(0, par6));
- var13 = 1.0F;
- if (var13 < var12)
- {
- var13 = var12;
- }
- var11.setColorOpaque_F(var8 * var13, var8 * var13, var8 * var13);
- this.renderTopFace(par1Block, -0.5D, -0.5D, -0.5D, par1Block.getBlockTextureFromSideAndMetadata(1, par6));
- var13 = 1.0F;
- if (var13 < var12)
- {
- var13 = var12;
- }
- var11.setColorOpaque_F(var9 * var13, var9 * var13, var9 * var13);
- this.renderEastFace(par1Block, -0.5D, -0.5D, -0.5D, par1Block.getBlockTextureFromSideAndMetadata(2, par6));
- var13 = 1.0F;
- if (var13 < var12)
- {
- var13 = var12;
- }
- var11.setColorOpaque_F(var9 * var13, var9 * var13, var9 * var13);
- this.renderWestFace(par1Block, -0.5D, -0.5D, -0.5D, par1Block.getBlockTextureFromSideAndMetadata(3, par6));
- var13 = 1.0F;
- if (var13 < var12)
- {
- var13 = var12;
- }
- var11.setColorOpaque_F(var10 * var13, var10 * var13, var10 * var13);
- this.renderNorthFace(par1Block, -0.5D, -0.5D, -0.5D, par1Block.getBlockTextureFromSideAndMetadata(4, par6));
- var13 = 1.0F;
- if (var13 < var12)
- {
- var13 = var12;
- }
- var11.setColorOpaque_F(var10 * var13, var10 * var13, var10 * var13);
- this.renderSouthFace(par1Block, -0.5D, -0.5D, -0.5D, par1Block.getBlockTextureFromSideAndMetadata(5, par6));
- var11.draw();
- }
- /**
- * Renders a standard cube block at the given coordinates
- */
- 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);
- }
- /**
- * Renders a log block at the given coordinates
- */
- public boolean renderBlockLog(Block par1Block, int par2, int par3, int par4)
- {
- int var5 = this.blockAccess.getBlockMetadata(par2, par3, par4);
- int var6 = var5 & 12;
- if (var6 == 4)
- {
- this.uvRotateEast = 1;
- this.uvRotateWest = 1;
- this.uvRotateTop = 1;
- this.uvRotateBottom = 1;
- }
- else if (var6 == 8)
- {
- this.uvRotateSouth = 1;
- this.uvRotateNorth = 1;
- }
- boolean var7 = this.renderStandardBlock(par1Block, par2, par3, par4);
- this.uvRotateSouth = 0;
- this.uvRotateEast = 0;
- this.uvRotateWest = 0;
- this.uvRotateNorth = 0;
- this.uvRotateTop = 0;
- this.uvRotateBottom = 0;
- return var7;
- }
- public boolean renderStandardBlockWithAmbientOcclusion(Block par1Block, int par2, int par3, int par4, float par5, float par6, float par7)
- {
- this.enableAO = true;
- boolean var8 = false;
- float var9 = this.lightValueOwn;
- float var10 = this.lightValueOwn;
- float var11 = this.lightValueOwn;
- float var12 = this.lightValueOwn;
- boolean var13 = true;
- boolean var14 = true;
- boolean var15 = true;
- boolean var16 = true;
- boolean var17 = true;
- boolean var18 = true;
- this.lightValueOwn = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3, par4);
- this.aoLightValueXNeg = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 - 1, par3, par4);
- this.aoLightValueYNeg = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 - 1, par4);
- this.aoLightValueZNeg = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3, par4 - 1);
- this.aoLightValueXPos = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2 + 1, par3, par4);
- this.aoLightValueYPos = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3 + 1, par4);
- this.aoLightValueZPos = par1Block.getAmbientOcclusionLightValue(this.blockAccess, par2, par3, par4 + 1);
- int var19 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4);
- int var20 = var19;
- int var21 = var19;
- int var22 = var19;
- int var23 = var19;
- int var24 = var19;
- int var25 = var19;
- if (this.renderMinY <= 0.0D)
- {
- var21 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4);
- }
- if (this.renderMaxY >= 1.0D)
- {
- var24 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4);
- }
- if (this.renderMinX <= 0.0D)
- {
- var20 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4);
- }
- if (this.renderMaxX >= 1.0D)
- {
- var23 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4);
- }
- if (this.renderMinZ <= 0.0D)
- {
- var22 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 - 1);
- }
- if (this.renderMaxZ >= 1.0D)
- {
- var25 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 + 1);
- }
- Tessellator var26 = Tessellator.instance;
- var26.setBrightness(983055);
- 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)];
- if (par1Block.blockIndexInTexture == 3)
- {
- var18 = false;
- var17 = false;
- var16 = false;
- var15 = false;
- var13 = false;
- }
- if (this.overrideBlockTexture >= 0)
- {
- var18 = false;
- var17 = false;
- var16 = false;
- var15 = false;
- var13 = false;
- }
- if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3 - 1, par4, 0))
- {
- if (this.aoType > 0)
- {
- if (this.renderMinY <= 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 (this.renderMinY <= 0.0D)
- {
- ++par3;
- }
- 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))
- {
- if (this.aoType > 0)
- {
- if (this.renderMaxY >= 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 (this.renderMaxY >= 1.0D)
- {
- --par3;
- }
- 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))
- {
- if (this.aoType > 0)
- {
- if (this.renderMinZ <= 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 (this.renderMinZ <= 0.0D)
- {
- ++par4;
- }
- 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);
- this.renderEastFace(par1Block, (double)par2, (double)par3, (double)par4, var27);
- if (Tessellator.instance.defaultTexture && fancyGrass && var27 == 3 && this.overrideBlockTexture < 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;
- this.renderEastFace(par1Block, (double)par2, (double)par3, (double)par4, 38);
- }
- var8 = true;
- }
- if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3, par4 + 1, 3))
- {
- if (this.aoType > 0)
- {
- if (this.renderMaxZ >= 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 (this.renderMaxZ >= 1.0D)
- {
- --par4;
- }
- 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);
- this.renderWestFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 3));
- if (Tessellator.instance.defaultTexture && fancyGrass && var27 == 3 && this.overrideBlockTexture < 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;
- this.renderWestFace(par1Block, (double)par2, (double)par3, (double)par4, 38);
- }
- var8 = true;
- }
- if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2 - 1, par3, par4, 4))
- {
- if (this.aoType > 0)
- {
- if (this.renderMinX <= 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 (this.renderMinX <= 0.0D)
- {
- ++par2;
- }
- 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);
- this.renderNorthFace(par1Block, (double)par2, (double)par3, (double)par4, var27);
- if (Tessellator.instance.defaultTexture && fancyGrass && var27 == 3 && this.overrideBlockTexture < 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;
- this.renderNorthFace(par1Block, (double)par2, (double)par3, (double)par4, 38);
- }
- var8 = true;
- }
- if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2 + 1, par3, par4, 5))
- {
- if (this.aoType > 0)
- {
- if (this.renderMaxX >= 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 (this.renderMaxX >= 1.0D)
- {
- --par2;
- }
- 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);
- this.renderSouthFace(par1Block, (double)par2, (double)par3, (double)par4, var27);
- if (Tessellator.instance.defaultTexture && fancyGrass && var27 == 3 && this.overrideBlockTexture < 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;
- this.renderSouthFace(par1Block, (double)par2, (double)par3, (double)par4, 38);
- }
- var8 = true;
- }
- this.enableAO = false;
- return var8;
- }
- /**
- * Get ambient occlusion brightness
- */
- public 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;
- }
- /**
- * Renders a standard cube block at the given coordinates, with a given color ratio. Args: block, x, y, z, r, g, b
- */
- 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(this.renderMinY > 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(this.renderMaxY < 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(this.renderMinZ > 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);
- this.renderEastFace(par1Block, (double)par2, (double)par3, (double)par4, var28);
- if (Tessellator.instance.defaultTexture && 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);
- }
- var9 = true;
- }
- if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2, par3, par4 + 1, 3))
- {
- var8.setBrightness(this.renderMaxZ < 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);
- this.renderWestFace(par1Block, (double)par2, (double)par3, (double)par4, var28);
- if (Tessellator.instance.defaultTexture && fancyGrass && var28 == 3 && this.overrideBlockTexture < 0)
- {
- var8.setColorOpaque_F(var18 * par5, var21 * par6, var24 * par7);
- 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(this.renderMinX > 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);
- this.renderNorthFace(par1Block, (double)par2, (double)par3, (double)par4, var28);
- if (Tessellator.instance.defaultTexture && fancyGrass && var28 == 3 && this.overrideBlockTexture < 0)
- {
- var8.setColorOpaque_F(var19 * par5, var22 * par6, var25 * par7);
- this.renderNorthFace(par1Block, (double)par2, (double)par3, (double)par4, 38);
- }
- var9 = true;
- }
- if (this.renderAllFaces || par1Block.shouldSideBeRendered(this.blockAccess, par2 + 1, par3, par4, 5))
- {
- var8.setBrightness(this.renderMaxX < 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);
- this.renderSouthFace(par1Block, (double)par2, (double)par3, (double)par4, var28);
- if (Tessellator.instance.defaultTexture && fancyGrass && var28 == 3 && this.overrideBlockTexture < 0)
- {
- var8.setColorOpaque_F(var19 * par5, var22 * par6, var25 * par7);
- this.renderSouthFace(par1Block, (double)par2, (double)par3, (double)par4, 38);
- }
- var9 = true;
- }
- return var9;
- }
- /**
- * Renders a Cocoa block at the given coordinates
- */
- public boolean renderBlockCocoa(BlockCocoa par1BlockCocoa, int par2, int par3, int par4)
- {
- Tessellator var5 = Tessellator.instance;
- var5.setBrightness(par1BlockCocoa.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4));
- var5.setColorOpaque_F(1.0F, 1.0F, 1.0F);
- int var6 = this.blockAccess.getBlockMetadata(par2, par3, par4);
- int var7 = par1BlockCocoa.getBlockTextureFromSide(1);
- int var8 = BlockDirectional.getDirection(var6);
- int var9 = BlockCocoa.func_72219_c(var6);
- var7 = var7 + 2 - var9;
- int var10 = 4 + var9 * 2;
- int var11 = 5 + var9 * 2;
- int var12 = (var7 & 15) << 4;
- int var13 = var7 & 240;
- double var14 = 15.0D - (double)var10;
- double var16 = 15.0D;
- double var18 = 4.0D;
- double var20 = 4.0D + (double)var11;
- double var22 = ((double)var12 + var14) / 256.0D;
- double var24 = ((double)var12 + var16 - 0.01D) / 256.0D;
- double var26 = ((double)var13 + var18) / 256.0D;
- double var28 = ((double)var13 + var20 - 0.01D) / 256.0D;
- double var30 = 0.0D;
- double var32 = 0.0D;
- switch (var8)
- {
- case 0:
- var30 = 8.0D - (double)(var10 / 2);
- var32 = 15.0D - (double)var10;
- break;
- case 1:
- var30 = 1.0D;
- var32 = 8.0D - (double)(var10 / 2);
- break;
- case 2:
- var30 = 8.0D - (double)(var10 / 2);
- var32 = 1.0D;
- break;
- case 3:
- var30 = 15.0D - (double)var10;
- var32 = 8.0D - (double)(var10 / 2);
- }
- double var34 = (double)par2 + var30 / 16.0D;
- double var36 = (double)par2 + (var30 + (double)var10) / 16.0D;
- double var38 = (double)par3 + (12.0D - (double)var11) / 16.0D;
- double var40 = (double)par3 + 0.75D;
- double var42 = (double)par4 + var32 / 16.0D;
- double var44 = (double)par4 + (var32 + (double)var10) / 16.0D;
- var5.addVertexWithUV(var34, var38, var42, var22, var28);
- var5.addVertexWithUV(var34, var38, var44, var24, var28);
- var5.addVertexWithUV(var34, var40, var44, var24, var26);
- var5.addVertexWithUV(var34, var40, var42, var22, var26);
- var5.addVertexWithUV(var36, var38, var44, var22, var28);
- var5.addVertexWithUV(var36, var38, var42, var24, var28);
- var5.addVertexWithUV(var36, var40, var42, var24, var26);
- var5.addVertexWithUV(var36, var40, var44, var22, var26);
- var5.addVertexWithUV(var36, var38, var42, var22, var28);
- var5.addVertexWithUV(var34, var38, var42, var24, var28);
- var5.addVertexWithUV(var34, var40, var42, var24, var26);
- var5.addVertexWithUV(var36, var40, var42, var22, var26);
- var5.addVertexWithUV(var34, var38, var44, var22, var28);
- var5.addVertexWithUV(var36, var38, var44, var24, var28);
- var5.addVertexWithUV(var36, var40, var44, var24, var26);
- var5.addVertexWithUV(var34, var40, var44, var22, var26);
- int var46 = var10;
- if (var9 >= 2)
- {
- var46 = var10 - 1;
- }
- var22 = (double)((float)(var12 + 0) / 256.0F);
- var24 = ((double)(var12 + var46) - 0.01D) / 256.0D;
- var26 = (double)((float)(var13 + 0) / 256.0F);
- var28 = ((double)(var13 + var46) - 0.01D) / 256.0D;
- var5.addVertexWithUV(var34, var40, var44, var22, var28);
- var5.addVertexWithUV(var36, var40, var44, var24, var28);
- var5.addVertexWithUV(var36, var40, var42, var24, var26);
- var5.addVertexWithUV(var34, var40, var42, var22, var26);
- var5.addVertexWithUV(var34, var38, var42, var22, var26);
- var5.addVertexWithUV(var36, var38, var42, var24, var26);
- var5.addVertexWithUV(var36, var38, var44, var24, var28);
- var5.addVertexWithUV(var34, var38, var44, var22, var28);
- var22 = (double)((float)(var12 + 12) / 256.0F);
- var24 = ((double)(var12 + 16) - 0.01D) / 256.0D;
- var26 = (double)((float)(var13 + 0) / 256.0F);
- var28 = ((double)(var13 + 4) - 0.01D) / 256.0D;
- var30 = 8.0D;
- var32 = 0.0D;
- double var47;
- switch (var8)
- {
- case 0:
- var30 = 8.0D;
- var32 = 12.0D;
- var47 = var22;
- var22 = var24;
- var24 = var47;
- break;
- case 1:
- var30 = 0.0D;
- var32 = 8.0D;
- break;
- case 2:
- var30 = 8.0D;
- var32 = 0.0D;
- break;
- case 3:
- var30 = 12.0D;
- var32 = 8.0D;
- var47 = var22;
- var22 = var24;
- var24 = var47;
- }
- var34 = (double)par2 + var30 / 16.0D;
- var36 = (double)par2 + (var30 + 4.0D) / 16.0D;
- var38 = (double)par3 + 0.75D;
- var40 = (double)par3 + 1.0D;
- var42 = (double)par4 + var32 / 16.0D;
- var44 = (double)par4 + (var32 + 4.0D) / 16.0D;
- if (var8 != 2 && var8 != 0)
- {
- if (var8 == 1 || var8 == 3)
- {
- var5.addVertexWithUV(var36, var38, var42, var22, var28);
- var5.addVertexWithUV(var34, var38, var42, var24, var28);
- var5.addVertexWithUV(var34, var40, var42, var24, var26);
- var5.addVertexWithUV(var36, var40, var42, var22, var26);
- var5.addVertexWithUV(var34, var38, var42, var24, var28);
- var5.addVertexWithUV(var36, var38, var42, var22, var28);
- var5.addVertexWithUV(var36, var40, var42, var22, var26);
- var5.addVertexWithUV(var34, var40, var42, var24, var26);
- }
- }
- else
- {
- var5.addVertexWithUV(var34, var38, var42, var24, var28);
- var5.addVertexWithUV(var34, var38, var44, var22, var28);
- var5.addVertexWithUV(var34, var40, var44, var22, var26);
- var5.addVertexWithUV(var34, var40, var42, var24, var26);
- var5.addVertexWithUV(var34, var38, var44, var22, var28);
- var5.addVertexWithUV(var34, var38, var42, var24, var28);
- var5.addVertexWithUV(var34, var40, var42, var24, var26);
- var5.addVertexWithUV(var34, var40, var44, var22, var26);
- }
- return true;
- }
- /**
- * Renders beacon block
- */
- public boolean renderBlockBeacon(BlockBeacon par1BlockBeacon, int par2, int par3, int par4)
- {
- float var5 = 0.1875F;
- this.setOverrideBlockTexture(Block.obsidian.blockIndexInTexture);
- this.setRenderBounds(0.125D, 0.0062500000931322575D, 0.125D, 0.875D, (double)var5, 0.875D);
- this.renderStandardBlock(par1BlockBeacon, par2, par3, par4);
- this.setOverrideBlockTexture(Block.glass.blockIndexInTexture);
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- this.renderStandardBlock(par1BlockBeacon, par2, par3, par4);
- this.setOverrideBlockTexture(41);
- this.setRenderBounds(0.1875D, (double)var5, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- this.renderStandardBlock(par1BlockBeacon, par2, par3, par4);
- this.clearOverrideBlockTexture();
- return true;
- }
- /**
- * Renders a cactus block at the given coordinates
- */
- 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);
- }
- /**
- * Render block cactus implementation
- */
- 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(this.renderMinY > 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(this.renderMaxY < 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(this.renderMinZ > 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(this.renderMaxZ < 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(this.renderMinX > 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(this.renderMaxX < 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;
- this.setRenderBounds((double)var6, 0.0D, (double)var6, (double)var7, 1.0D, (double)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)
- {
- this.setRenderBounds((double)var16, (double)var14, (double)var6, (double)var17, (double)var15, (double)var7);
- this.renderStandardBlock(par1BlockFence, par2, par3, par4);
- var5 = true;
- }
- if (var9)
- {
- this.setRenderBounds((double)var6, (double)var14, (double)var18, (double)var7, (double)var15, (double)var19);
- this.renderStandardBlock(par1BlockFence, par2, par3, par4);
- var5 = true;
- }
- var14 = 0.375F;
- var15 = 0.5625F;
- if (var8)
- {
- this.setRenderBounds((double)var16, (double)var14, (double)var6, (double)var17, (double)var15, (double)var7);
- this.renderStandardBlock(par1BlockFence, par2, par3, par4);
- var5 = true;
- }
- if (var9)
- {
- this.setRenderBounds((double)var6, (double)var14, (double)var18, (double)var7, (double)var15, (double)var19);
- this.renderStandardBlock(par1BlockFence, par2, par3, par4);
- var5 = true;
- }
- par1BlockFence.setBlockBoundsBasedOnState(this.blockAccess, par2, par3, par4);
- return var5;
- }
- /**
- * Renders wall block
- */
- public boolean renderBlockWall(BlockWall par1BlockWall, int par2, int par3, int par4)
- {
- boolean var5 = par1BlockWall.canConnectWallTo(this.blockAccess, par2 - 1, par3, par4);
- boolean var6 = par1BlockWall.canConnectWallTo(this.blockAccess, par2 + 1, par3, par4);
- boolean var7 = par1BlockWall.canConnectWallTo(this.blockAccess, par2, par3, par4 - 1);
- boolean var8 = par1BlockWall.canConnectWallTo(this.blockAccess, par2, par3, par4 + 1);
- boolean var9 = var7 && var8 && !var5 && !var6;
- boolean var10 = !var7 && !var8 && var5 && var6;
- boolean var11 = this.blockAccess.isAirBlock(par2, par3 + 1, par4);
- if ((var9 || var10) && var11)
- {
- if (var9)
- {
- this.setRenderBounds(0.3125D, 0.0D, 0.0D, 0.6875D, 0.8125D, 1.0D);
- this.renderStandardBlock(par1BlockWall, par2, par3, par4);
- }
- else
- {
- this.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- this.renderStandardBlock(par1BlockWall, par2, par3, par4);
- }
- }
- else
- {
- this.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- this.renderStandardBlock(par1BlockWall, par2, par3, par4);
- if (var5)
- {
- this.setRenderBounds(0.0D, 0.0D, 0.3125D, 0.25D, 0.8125D, 0.6875D);
- this.renderStandardBlock(par1BlockWall, par2, par3, par4);
- }
- if (var6)
- {
- this.setRenderBounds(0.75D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- this.renderStandardBlock(par1BlockWall, par2, par3, par4);
- }
- if (var7)
- {
- this.setRenderBounds(0.3125D, 0.0D, 0.0D, 0.6875D, 0.8125D, 0.25D);
- this.renderStandardBlock(par1BlockWall, par2, par3, par4);
- }
- if (var8)
- {
- this.setRenderBounds(0.3125D, 0.0D, 0.75D, 0.6875D, 0.8125D, 1.0D);
- this.renderStandardBlock(par1BlockWall, par2, par3, par4);
- }
- }
- par1BlockWall.setBlockBoundsBasedOnState(this.blockAccess, par2, par3, par4);
- return true;
- }
- 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;
- this.setRenderBounds((double)(0.5F - var10), (double)var12, (double)(0.5F - var10), (double)(0.5F + var10), (double)var11, (double)(0.5F + var10));
- this.renderStandardBlock(par1BlockDragonEgg, par2, par3, par4);
- }
- var5 = true;
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- return var5;
- }
- /**
- * Render block fence gate
- */
- 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 var9 = 0.375F;
- float var10 = 0.5625F;
- float var11 = 0.75F;
- float var12 = 0.9375F;
- float var13 = 0.3125F;
- float var14 = 1.0F;
- if ((var8 == 2 || var8 == 0) && this.blockAccess.getBlockId(par2 - 1, par3, par4) == Block.cobblestoneWall.blockID && this.blockAccess.getBlockId(par2 + 1, par3, par4) == Block.cobblestoneWall.blockID || (var8 == 3 || var8 == 1) && this.blockAccess.getBlockId(par2, par3, par4 - 1) == Block.cobblestoneWall.blockID && this.blockAccess.getBlockId(par2, par3, par4 + 1) == Block.cobblestoneWall.blockID)
- {
- var9 -= 0.1875F;
- var10 -= 0.1875F;
- var11 -= 0.1875F;
- var12 -= 0.1875F;
- var13 -= 0.1875F;
- var14 -= 0.1875F;
- }
- this.renderAllFaces = true;
- 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;
- this.setRenderBounds((double)var15, (double)var13, (double)var17, (double)var16, (double)var14, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- var15 = 0.875F;
- var16 = 1.0F;
- this.setRenderBounds((double)var15, (double)var13, (double)var17, (double)var16, (double)var14, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- }
- else
- {
- this.uvRotateTop = 1;
- var15 = 0.4375F;
- var16 = 0.5625F;
- var17 = 0.0F;
- var18 = 0.125F;
- this.setRenderBounds((double)var15, (double)var13, (double)var17, (double)var16, (double)var14, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- var17 = 0.875F;
- var18 = 1.0F;
- this.setRenderBounds((double)var15, (double)var13, (double)var17, (double)var16, (double)var14, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.uvRotateTop = 0;
- }
- if (var7)
- {
- if (var8 == 2 || var8 == 0)
- {
- this.uvRotateTop = 1;
- }
- if (var8 == 3)
- {
- this.setRenderBounds(0.8125D, (double)var9, 0.0D, 0.9375D, (double)var12, 0.125D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.8125D, (double)var9, 0.875D, 0.9375D, (double)var12, 1.0D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.5625D, (double)var9, 0.0D, 0.8125D, (double)var10, 0.125D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.5625D, (double)var9, 0.875D, 0.8125D, (double)var10, 1.0D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.5625D, (double)var11, 0.0D, 0.8125D, (double)var12, 0.125D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.5625D, (double)var11, 0.875D, 0.8125D, (double)var12, 1.0D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- }
- else if (var8 == 1)
- {
- this.setRenderBounds(0.0625D, (double)var9, 0.0D, 0.1875D, (double)var12, 0.125D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.0625D, (double)var9, 0.875D, 0.1875D, (double)var12, 1.0D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.1875D, (double)var9, 0.0D, 0.4375D, (double)var10, 0.125D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.1875D, (double)var9, 0.875D, 0.4375D, (double)var10, 1.0D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.1875D, (double)var11, 0.0D, 0.4375D, (double)var12, 0.125D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.1875D, (double)var11, 0.875D, 0.4375D, (double)var12, 1.0D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- }
- else if (var8 == 0)
- {
- this.setRenderBounds(0.0D, (double)var9, 0.8125D, 0.125D, (double)var12, 0.9375D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.875D, (double)var9, 0.8125D, 1.0D, (double)var12, 0.9375D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.0D, (double)var9, 0.5625D, 0.125D, (double)var10, 0.8125D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.875D, (double)var9, 0.5625D, 1.0D, (double)var10, 0.8125D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.0D, (double)var11, 0.5625D, 0.125D, (double)var12, 0.8125D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.875D, (double)var11, 0.5625D, 1.0D, (double)var12, 0.8125D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- }
- else if (var8 == 2)
- {
- this.setRenderBounds(0.0D, (double)var9, 0.0625D, 0.125D, (double)var12, 0.1875D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.875D, (double)var9, 0.0625D, 1.0D, (double)var12, 0.1875D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.0D, (double)var9, 0.1875D, 0.125D, (double)var10, 0.4375D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.875D, (double)var9, 0.1875D, 1.0D, (double)var10, 0.4375D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.0D, (double)var11, 0.1875D, 0.125D, (double)var12, 0.4375D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds(0.875D, (double)var11, 0.1875D, 1.0D, (double)var12, 0.4375D);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- }
- }
- else if (var8 != 3 && var8 != 1)
- {
- var15 = 0.375F;
- var16 = 0.5F;
- var17 = 0.4375F;
- var18 = 0.5625F;
- this.setRenderBounds((double)var15, (double)var9, (double)var17, (double)var16, (double)var12, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- var15 = 0.5F;
- var16 = 0.625F;
- this.setRenderBounds((double)var15, (double)var9, (double)var17, (double)var16, (double)var12, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- var15 = 0.625F;
- var16 = 0.875F;
- this.setRenderBounds((double)var15, (double)var9, (double)var17, (double)var16, (double)var10, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds((double)var15, (double)var11, (double)var17, (double)var16, (double)var12, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- var15 = 0.125F;
- var16 = 0.375F;
- this.setRenderBounds((double)var15, (double)var9, (double)var17, (double)var16, (double)var10, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds((double)var15, (double)var11, (double)var17, (double)var16, (double)var12, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- }
- else
- {
- this.uvRotateTop = 1;
- var15 = 0.4375F;
- var16 = 0.5625F;
- var17 = 0.375F;
- var18 = 0.5F;
- this.setRenderBounds((double)var15, (double)var9, (double)var17, (double)var16, (double)var12, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- var17 = 0.5F;
- var18 = 0.625F;
- this.setRenderBounds((double)var15, (double)var9, (double)var17, (double)var16, (double)var12, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- var17 = 0.625F;
- var18 = 0.875F;
- this.setRenderBounds((double)var15, (double)var9, (double)var17, (double)var16, (double)var10, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds((double)var15, (double)var11, (double)var17, (double)var16, (double)var12, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- var17 = 0.125F;
- var18 = 0.375F;
- this.setRenderBounds((double)var15, (double)var9, (double)var17, (double)var16, (double)var10, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- this.setRenderBounds((double)var15, (double)var11, (double)var17, (double)var16, (double)var12, (double)var18);
- this.renderStandardBlock(par1BlockFenceGate, par2, par3, par4);
- }
- this.renderAllFaces = false;
- this.uvRotateTop = 0;
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- return var5;
- }
- /**
- * Renders a stair block at the given coordinates
- */
- public boolean renderBlockStairs(BlockStairs par1BlockStairs, int par2, int par3, int par4)
- {
- par1BlockStairs.func_82541_d(this.blockAccess, par2, par3, par4);
- this.setRenderBoundsFromBlock(par1BlockStairs);
- this.renderStandardBlock(par1BlockStairs, par2, par3, par4);
- boolean var5 = par1BlockStairs.func_82542_g(this.blockAccess, par2, par3, par4);
- this.setRenderBoundsFromBlock(par1BlockStairs);
- this.renderStandardBlock(par1BlockStairs, par2, par3, par4);
- if (var5 && par1BlockStairs.func_82544_h(this.blockAccess, par2, par3, par4))
- {
- this.setRenderBoundsFromBlock(par1BlockStairs);
- this.renderStandardBlock(par1BlockStairs, par2, par3, par4);
- }
- return true;
- }
- /**
- * Renders a door block at the given coordinates
- */
- public boolean renderBlockDoor(Block par1Block, int par2, int par3, int par4)
- {
- Tessellator var5 = Tessellator.instance;
- boolean var6 = false;
- float var7 = 0.5F;
- float var8 = 1.0F;
- float var9 = 0.8F;
- float var10 = 0.6F;
- int var11 = par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4);
- var5.setBrightness(this.renderMinY > 0.0D ? var11 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 - 1, par4));
- var5.setColorOpaque_F(var7, var7, var7);
- this.renderBottomFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 0));
- var6 = true;
- var5.setBrightness(this.renderMaxY < 1.0D ? var11 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3 + 1, par4));
- var5.setColorOpaque_F(var8, var8, var8);
- this.renderTopFace(par1Block, (double)par2, (double)par3, (double)par4, par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 1));
- var6 = true;
- var5.setBrightness(this.renderMinZ > 0.0D ? var11 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 - 1));
- var5.setColorOpaque_F(var9, var9, var9);
- int var13 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 2);
- if (var13 < 0)
- {
- this.flipTexture = true;
- var13 = -var13;
- }
- this.renderEastFace(par1Block, (double)par2, (double)par3, (double)par4, var13);
- var6 = true;
- this.flipTexture = false;
- var5.setBrightness(this.renderMaxZ < 1.0D ? var11 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2, par3, par4 + 1));
- var5.setColorOpaque_F(var9, var9, var9);
- var13 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 3);
- if (var13 < 0)
- {
- this.flipTexture = true;
- var13 = -var13;
- }
- this.renderWestFace(par1Block, (double)par2, (double)par3, (double)par4, var13);
- var6 = true;
- this.flipTexture = false;
- var5.setBrightness(this.renderMinX > 0.0D ? var11 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 - 1, par3, par4));
- var5.setColorOpaque_F(var10, var10, var10);
- var13 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 4);
- if (var13 < 0)
- {
- this.flipTexture = true;
- var13 = -var13;
- }
- this.renderNorthFace(par1Block, (double)par2, (double)par3, (double)par4, var13);
- var6 = true;
- this.flipTexture = false;
- var5.setBrightness(this.renderMaxX < 1.0D ? var11 : par1Block.getMixedBrightnessForBlock(this.blockAccess, par2 + 1, par3, par4));
- var5.setColorOpaque_F(var10, var10, var10);
- var13 = par1Block.getBlockTexture(this.blockAccess, par2, par3, par4, 5);
- if (var13 < 0)
- {
- this.flipTexture = true;
- var13 = -var13;
- }
- this.renderSouthFace(par1Block, (double)par2, (double)par3, (double)par4, var13);
- var6 = true;
- this.flipTexture = false;
- return var6;
- }
- /**
- * Renders the given texture to the bottom face of the block. Args: block, x, y, z, texture
- */
- public void renderBottomFace(Block par1Block, double par2, double par4, double par6, int par8)
- {
- Tessellator var9 = Tessellator.instance;
- if (this.overrideBlockTexture >= 0)
- {
- par8 = this.overrideBlockTexture;
- }
- int var10 = (par8 & 15) << 4;
- int var11 = par8 & 240;
- double var12 = ((double)var10 + this.renderMinX * 16.0D) / 256.0D;
- double var14 = ((double)var10 + this.renderMaxX * 16.0D - 0.01D) / 256.0D;
- double var16 = ((double)var11 + this.renderMinZ * 16.0D) / 256.0D;
- double var18 = ((double)var11 + this.renderMaxZ * 16.0D - 0.01D) / 256.0D;
- if (this.renderMinX < 0.0D || this.renderMaxX > 1.0D)
- {
- var12 = (double)(((float)var10 + 0.0F) / 256.0F);
- var14 = (double)(((float)var10 + 15.99F) / 256.0F);
- }
- if (this.renderMinZ < 0.0D || this.renderMaxZ > 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 + this.renderMinZ * 16.0D) / 256.0D;
- var16 = ((double)(var11 + 16) - this.renderMaxX * 16.0D) / 256.0D;
- var14 = ((double)var10 + this.renderMaxZ * 16.0D) / 256.0D;
- var18 = ((double)(var11 + 16) - this.renderMinX * 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) - this.renderMaxZ * 16.0D) / 256.0D;
- var16 = ((double)var11 + this.renderMinX * 16.0D) / 256.0D;
- var14 = ((double)(var10 + 16) - this.renderMinZ * 16.0D) / 256.0D;
- var18 = ((double)var11 + this.renderMaxX * 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) - this.renderMinX * 16.0D) / 256.0D;
- var14 = ((double)(var10 + 16) - this.renderMaxX * 16.0D - 0.01D) / 256.0D;
- var16 = ((double)(var11 + 16) - this.renderMinZ * 16.0D) / 256.0D;
- var18 = ((double)(var11 + 16) - this.renderMaxZ * 16.0D - 0.01D) / 256.0D;
- var20 = var14;
- var22 = var12;
- var24 = var16;
- var26 = var18;
- }
- double var28 = par2 + this.renderMinX;
- double var30 = par2 + this.renderMaxX;
- double var32 = par4 + this.renderMinY;
- double var34 = par6 + this.renderMinZ;
- double var36 = par6 + this.renderMaxZ;
- 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);
- }
- }
- /**
- * Renders the given texture to the top face of the block. Args: block, x, y, z, texture
- */
- public void renderTopFace(Block par1Block, double par2, double par4, double par6, int par8)
- {
- Tessellator var9 = Tessellator.instance;
- if (this.overrideBlockTexture >= 0)
- {
- par8 = this.overrideBlockTexture;
- }
- int var10 = (par8 & 15) << 4;
- int var11 = par8 & 240;
- double var12 = ((double)var10 + this.renderMinX * 16.0D) / 256.0D;
- double var14 = ((double)var10 + this.renderMaxX * 16.0D - 0.01D) / 256.0D;
- double var16 = ((double)var11 + this.renderMinZ * 16.0D) / 256.0D;
- double var18 = ((double)var11 + this.renderMaxZ * 16.0D - 0.01D) / 256.0D;
- if (this.renderMinX < 0.0D || this.renderMaxX > 1.0D)
- {
- var12 = (double)(((float)var10 + 0.0F) / 256.0F);
- var14 = (double)(((float)var10 + 15.99F) / 256.0F);
- }
- if (this.renderMinZ < 0.0D || this.renderMaxZ > 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 + this.renderMinZ * 16.0D) / 256.0D;
- var16 = ((double)(var11 + 16) - this.renderMaxX * 16.0D) / 256.0D;
- var14 = ((double)var10 + this.renderMaxZ * 16.0D) / 256.0D;
- var18 = ((double)(var11 + 16) - this.renderMinX * 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) - this.renderMaxZ * 16.0D) / 256.0D;
- var16 = ((double)var11 + this.renderMinX * 16.0D) / 256.0D;
- var14 = ((double)(var10 + 16) - this.renderMinZ * 16.0D) / 256.0D;
- var18 = ((double)var11 + this.renderMaxX * 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) - this.renderMinX * 16.0D) / 256.0D;
- var14 = ((double)(var10 + 16) - this.renderMaxX * 16.0D - 0.01D) / 256.0D;
- var16 = ((double)(var11 + 16) - this.renderMinZ * 16.0D) / 256.0D;
- var18 = ((double)(var11 + 16) - this.renderMaxZ * 16.0D - 0.01D) / 256.0D;
- var20 = var14;
- var22 = var12;
- var24 = var16;
- var26 = var18;
- }
- double var28 = par2 + this.renderMinX;
- double var30 = par2 + this.renderMaxX;
- double var32 = par4 + this.renderMaxY;
- double var34 = par6 + this.renderMinZ;
- double var36 = par6 + this.renderMaxZ;
- 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);
- }
- }
- /**
- * Renders the given texture to the east (z-negative) face of the block. Args: block, x, y, z, texture
- */
- public void renderEastFace(Block par1Block, double par2, double par4, double par6, int par8)
- {
- Tessellator var9 = Tessellator.instance;
- if (this.overrideBlockTexture >= 0)
- {
- par8 = this.overrideBlockTexture;
- }
- int var10 = (par8 & 15) << 4;
- int var11 = par8 & 240;
- double var12 = ((double)var10 + this.renderMinX * 16.0D) / 256.0D;
- double var14 = ((double)var10 + this.renderMaxX * 16.0D - 0.01D) / 256.0D;
- double var16 = ((double)(var11 + 16) - this.renderMaxY * 16.0D) / 256.0D;
- double var18 = ((double)(var11 + 16) - this.renderMinY * 16.0D - 0.01D) / 256.0D;
- double var20;
- if (this.flipTexture)
- {
- var20 = var12;
- var12 = var14;
- var14 = var20;
- }
- if (this.renderMinX < 0.0D || this.renderMaxX > 1.0D)
- {
- var12 = (double)(((float)var10 + 0.0F) / 256.0F);
- var14 = (double)(((float)var10 + 15.99F) / 256.0F);
- }
- if (this.renderMinY < 0.0D || this.renderMaxY > 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 + this.renderMinY * 16.0D) / 256.0D;
- var16 = ((double)(var11 + 16) - this.renderMinX * 16.0D) / 256.0D;
- var14 = ((double)var10 + this.renderMaxY * 16.0D) / 256.0D;
- var18 = ((double)(var11 + 16) - this.renderMaxX * 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) - this.renderMaxY * 16.0D) / 256.0D;
- var16 = ((double)var11 + this.renderMaxX * 16.0D) / 256.0D;
- var14 = ((double)(var10 + 16) - this.renderMinY * 16.0D) / 256.0D;
- var18 = ((double)var11 + this.renderMinX * 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) - this.renderMinX * 16.0D) / 256.0D;
- var14 = ((double)(var10 + 16) - this.renderMaxX * 16.0D - 0.01D) / 256.0D;
- var16 = ((double)var11 + this.renderMaxY * 16.0D) / 256.0D;
- var18 = ((double)var11 + this.renderMinY * 16.0D - 0.01D) / 256.0D;
- var20 = var14;
- var22 = var12;
- var24 = var16;
- var26 = var18;
- }
- double var28 = par2 + this.renderMinX;
- double var30 = par2 + this.renderMaxX;
- double var32 = par4 + this.renderMinY;
- double var34 = par4 + this.renderMaxY;
- double var36 = par6 + this.renderMinZ;
- 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);
- }
- }
- /**
- * Renders the given texture to the west (z-positive) face of the block. Args: block, x, y, z, texture
- */
- public void renderWestFace(Block par1Block, double par2, double par4, double par6, int par8)
- {
- Tessellator var9 = Tessellator.instance;
- if (this.overrideBlockTexture >= 0)
- {
- par8 = this.overrideBlockTexture;
- }
- int var10 = (par8 & 15) << 4;
- int var11 = par8 & 240;
- double var12 = ((double)var10 + this.renderMinX * 16.0D) / 256.0D;
- double var14 = ((double)var10 + this.renderMaxX * 16.0D - 0.01D) / 256.0D;
- double var16 = ((double)(var11 + 16) - this.renderMaxY * 16.0D) / 256.0D;
- double var18 = ((double)(var11 + 16) - this.renderMinY * 16.0D - 0.01D) / 256.0D;
- double var20;
- if (this.flipTexture)
- {
- var20 = var12;
- var12 = var14;
- var14 = var20;
- }
- if (this.renderMinX < 0.0D || this.renderMaxX > 1.0D)
- {
- var12 = (double)(((float)var10 + 0.0F) / 256.0F);
- var14 = (double)(((float)var10 + 15.99F) / 256.0F);
- }
- if (this.renderMinY < 0.0D || this.renderMaxY > 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 + this.renderMinY * 16.0D) / 256.0D;
- var18 = ((double)(var11 + 16) - this.renderMinX * 16.0D) / 256.0D;
- var14 = ((double)var10 + this.renderMaxY * 16.0D) / 256.0D;
- var16 = ((double)(var11 + 16) - this.renderMaxX * 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) - this.renderMaxY * 16.0D) / 256.0D;
- var16 = ((double)var11 + this.renderMinX * 16.0D) / 256.0D;
- var14 = ((double)(var10 + 16) - this.renderMinY * 16.0D) / 256.0D;
- var18 = ((double)var11 + this.renderMaxX * 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) - this.renderMinX * 16.0D) / 256.0D;
- var14 = ((double)(var10 + 16) - this.renderMaxX * 16.0D - 0.01D) / 256.0D;
- var16 = ((double)var11 + this.renderMaxY * 16.0D) / 256.0D;
- var18 = ((double)var11 + this.renderMinY * 16.0D - 0.01D) / 256.0D;
- var20 = var14;
- var22 = var12;
- var24 = var16;
- var26 = var18;
- }
- double var28 = par2 + this.renderMinX;
- double var30 = par2 + this.renderMaxX;
- double var32 = par4 + this.renderMinY;
- double var34 = par4 + this.renderMaxY;
- double var36 = par6 + this.renderMaxZ;
- 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);
- }
- }
- /**
- * Renders the given texture to the north (x-negative) face of the block. Args: block, x, y, z, texture
- */
- public void renderNorthFace(Block par1Block, double par2, double par4, double par6, int par8)
- {
- Tessellator var9 = Tessellator.instance;
- if (this.overrideBlockTexture >= 0)
- {
- par8 = this.overrideBlockTexture;
- }
- int var10 = (par8 & 15) << 4;
- int var11 = par8 & 240;
- double var12 = ((double)var10 + this.renderMinZ * 16.0D) / 256.0D;
- double var14 = ((double)var10 + this.renderMaxZ * 16.0D - 0.01D) / 256.0D;
- double var16 = ((double)(var11 + 16) - this.renderMaxY * 16.0D) / 256.0D;
- double var18 = ((double)(var11 + 16) - this.renderMinY * 16.0D - 0.01D) / 256.0D;
- double var20;
- if (this.flipTexture)
- {
- var20 = var12;
- var12 = var14;
- var14 = var20;
- }
- if (this.renderMinZ < 0.0D || this.renderMaxZ > 1.0D)
- {
- var12 = (double)(((float)var10 + 0.0F) / 256.0F);
- var14 = (double)(((float)var10 + 15.99F) / 256.0F);
- }
- if (this.renderMinY < 0.0D || this.renderMaxY > 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 + this.renderMinY * 16.0D) / 256.0D;
- var16 = ((double)(var11 + 16) - this.renderMaxZ * 16.0D) / 256.0D;
- var14 = ((double)var10 + this.renderMaxY * 16.0D) / 256.0D;
- var18 = ((double)(var11 + 16) - this.renderMinZ * 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) - this.renderMaxY * 16.0D) / 256.0D;
- var16 = ((double)var11 + this.renderMinZ * 16.0D) / 256.0D;
- var14 = ((double)(var10 + 16) - this.renderMinY * 16.0D) / 256.0D;
- var18 = ((double)var11 + this.renderMaxZ * 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) - this.renderMinZ * 16.0D) / 256.0D;
- var14 = ((double)(var10 + 16) - this.renderMaxZ * 16.0D - 0.01D) / 256.0D;
- var16 = ((double)var11 + this.renderMaxY * 16.0D) / 256.0D;
- var18 = ((double)var11 + this.renderMinY * 16.0D - 0.01D) / 256.0D;
- var20 = var14;
- var22 = var12;
- var24 = var16;
- var26 = var18;
- }
- double var28 = par2 + this.renderMinX;
- double var30 = par4 + this.renderMinY;
- double var32 = par4 + this.renderMaxY;
- double var34 = par6 + this.renderMinZ;
- double var36 = par6 + this.renderMaxZ;
- 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);
- }
- }
- /**
- * Renders the given texture to the south (x-positive) face of the block. Args: block, x, y, z, texture
- */
- public void renderSouthFace(Block par1Block, double par2, double par4, double par6, int par8)
- {
- Tessellator var9 = Tessellator.instance;
- if (this.overrideBlockTexture >= 0)
- {
- par8 = this.overrideBlockTexture;
- }
- int var10 = (par8 & 15) << 4;
- int var11 = par8 & 240;
- double var12 = ((double)var10 + this.renderMinZ * 16.0D) / 256.0D;
- double var14 = ((double)var10 + this.renderMaxZ * 16.0D - 0.01D) / 256.0D;
- double var16 = ((double)(var11 + 16) - this.renderMaxY * 16.0D) / 256.0D;
- double var18 = ((double)(var11 + 16) - this.renderMinY * 16.0D - 0.01D) / 256.0D;
- double var20;
- if (this.flipTexture)
- {
- var20 = var12;
- var12 = var14;
- var14 = var20;
- }
- if (this.renderMinZ < 0.0D || this.renderMaxZ > 1.0D)
- {
- var12 = (double)(((float)var10 + 0.0F) / 256.0F);
- var14 = (double)(((float)var10 + 15.99F) / 256.0F);
- }
- if (this.renderMinY < 0.0D || this.renderMaxY > 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 + this.renderMinY * 16.0D) / 256.0D;
- var16 = ((double)(var11 + 16) - this.renderMinZ * 16.0D) / 256.0D;
- var14 = ((double)var10 + this.renderMaxY * 16.0D) / 256.0D;
- var18 = ((double)(var11 + 16) - this.renderMaxZ * 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) - this.renderMaxY * 16.0D) / 256.0D;
- var16 = ((double)var11 + this.renderMaxZ * 16.0D) / 256.0D;
- var14 = ((double)(var10 + 16) - this.renderMinY * 16.0D) / 256.0D;
- var18 = ((double)var11 + this.renderMinZ * 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) - this.renderMinZ * 16.0D) / 256.0D;
- var14 = ((double)(var10 + 16) - this.renderMaxZ * 16.0D - 0.01D) / 256.0D;
- var16 = ((double)var11 + this.renderMaxY * 16.0D) / 256.0D;
- var18 = ((double)var11 + this.renderMinY * 16.0D - 0.01D) / 256.0D;
- var20 = var14;
- var22 = var12;
- var24 = var16;
- var26 = var18;
- }
- double var28 = par2 + this.renderMaxX;
- double var30 = par4 + this.renderMinY;
- double var32 = par4 + this.renderMaxY;
- double var34 = par6 + this.renderMinZ;
- double var36 = par6 + this.renderMaxZ;
- 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);
- }
- }
- /**
- * Is called to render the image of a block on an inventory, as a held item, or as a an item on the ground
- */
- 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();
- this.setRenderBoundsFromBlock(par1Block);
- int var14;
- if (var6 != 0 && var6 != 31 && var6 != 16 && var6 != 26)
- {
- if (var6 == 1)
- {
- var4.startDrawingQuads();
- var4.setNormal(0.0F, -1.0F, 0.0F);
- this.drawCrossedSquares(par1Block, par2, -0.5D, -0.5D, -0.5D, 1.0F);
- var4.draw();
- }
- else if (var6 == 19)
- {
- var4.startDrawingQuads();
- var4.setNormal(0.0F, -1.0F, 0.0F);
- par1Block.setBlockBoundsForItemRender();
- this.renderBlockStemSmall(par1Block, par2, this.renderMaxY, -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)
- {
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- ChestItemRenderHelper.instance.renderChest(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)
- {
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 0.5D);
- }
- if (var14 == 1)
- {
- this.setRenderBounds(0.0D, 0.0D, 0.5D, 1.0D, 0.5D, 1.0D);
- }
- 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;
- this.setRenderBounds((double)(0.5F - var11), (double)var13, (double)(0.5F - var11), (double)(0.5F + var11), (double)var12, (double)(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);
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }
- else if (var6 == 11)
- {
- for (var14 = 0; var14 < 4; ++var14)
- {
- var8 = 0.125F;
- if (var14 == 0)
- {
- this.setRenderBounds((double)(0.5F - var8), 0.0D, 0.0D, (double)(0.5F + var8), 1.0D, (double)(var8 * 2.0F));
- }
- if (var14 == 1)
- {
- this.setRenderBounds((double)(0.5F - var8), 0.0D, (double)(1.0F - var8 * 2.0F), (double)(0.5F + var8), 1.0D, 1.0D);
- }
- var8 = 0.0625F;
- if (var14 == 2)
- {
- this.setRenderBounds((double)(0.5F - var8), (double)(1.0F - var8 * 3.0F), (double)(-var8 * 2.0F), (double)(0.5F + var8), (double)(1.0F - var8), (double)(1.0F + var8 * 2.0F));
- }
- if (var14 == 3)
- {
- this.setRenderBounds((double)(0.5F - var8), (double)(0.5F - var8 * 3.0F), (double)(-var8 * 2.0F), (double)(0.5F + var8), (double)(0.5F - var8), (double)(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);
- }
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }
- else if (var6 == 21)
- {
- for (var14 = 0; var14 < 3; ++var14)
- {
- var8 = 0.0625F;
- if (var14 == 0)
- {
- this.setRenderBounds((double)(0.5F - var8), 0.30000001192092896D, 0.0D, (double)(0.5F + var8), 1.0D, (double)(var8 * 2.0F));
- }
- if (var14 == 1)
- {
- this.setRenderBounds((double)(0.5F - var8), 0.30000001192092896D, (double)(1.0F - var8 * 2.0F), (double)(0.5F + var8), 1.0D, 1.0D);
- }
- var8 = 0.0625F;
- if (var14 == 2)
- {
- this.setRenderBounds((double)(0.5F - var8), 0.5D, 0.0D, (double)(0.5F + var8), (double)(1.0F - var8), 1.0D);
- }
- 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 == 32)
- {
- for (var14 = 0; var14 < 2; ++var14)
- {
- if (var14 == 0)
- {
- this.setRenderBounds(0.0D, 0.0D, 0.3125D, 1.0D, 0.8125D, 0.6875D);
- }
- if (var14 == 1)
- {
- this.setRenderBounds(0.25D, 0.0D, 0.25D, 0.75D, 1.0D, 0.75D);
- }
- 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();
- 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();
- 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);
- }
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- }
- else if (var6 == 35)
- {
- GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
- this.renderBlockAnvilOrient((BlockAnvil)par1Block, 0, 0, 0, par2, true);
- GL11.glTranslatef(0.5F, 0.5F, 0.5F);
- }
- else if (var6 == 34)
- {
- for (var14 = 0; var14 < 3; ++var14)
- {
- if (var14 == 0)
- {
- this.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.1875D, 0.875D);
- this.setOverrideBlockTexture(Block.obsidian.blockIndexInTexture);
- }
- else if (var14 == 1)
- {
- this.setRenderBounds(0.1875D, 0.1875D, 0.1875D, 0.8125D, 0.875D, 0.8125D);
- this.setOverrideBlockTexture(41);
- }
- else if (var14 == 2)
- {
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- this.setOverrideBlockTexture(Block.glass.blockIndexInTexture);
- }
- 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();
- 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();
- 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);
- }
- this.setRenderBounds(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
- this.clearOverrideBlockTexture();
- }
- else
- {
- FMLRenderAccessLibrary.renderInventoryBlock(this, par1Block, par2, var6);
- }
- }
- else
- {
- if (var6 == 16)
- {
- par2 = 1;
- }
- par1Block.setBlockBoundsForItemRender();
- this.setRenderBoundsFromBlock(par1Block);
- GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.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.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);
- }
- }
- /**
- * Checks to see if the item's render type indicates that it should be rendered as a regular block or not.
- */
- public static boolean renderItemIn3d(int par0)
- {
- switch (par0)
- {
- case 0:
- return true;
- case 31:
- return true;
- case 13:
- return true;
- case 10:
- return true;
- case 11:
- return true;
- case 27:
- return true;
- case 22:
- return true;
- case 21:
- return true;
- case 16:
- return true;
- case 26:
- return true;
- case 32:
- return true;
- case 34:
- return true;
- case 35:
- return true;
- default:
- return FMLRenderAccessLibrary.renderItemAsFull3DBlock(par0);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment