001 package net.minecraft.src; 002 003 import cpw.mods.fml.common.Side; 004 import cpw.mods.fml.common.asm.SideOnly; 005 006 public class BlockLeavesBase extends Block 007 { 008 /** 009 * Used to determine how to display leaves based on the graphics level. May also be used in rendering for 010 * transparency, not sure. 011 */ 012 public boolean graphicsLevel; 013 014 protected BlockLeavesBase(int par1, int par2, Material par3Material, boolean par4) 015 { 016 super(par1, par2, par3Material); 017 this.graphicsLevel = par4; 018 } 019 020 /** 021 * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two 022 * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. 023 */ 024 public boolean isOpaqueCube() 025 { 026 return false; 027 } 028 029 @SideOnly(Side.CLIENT) 030 031 /** 032 * Returns true if the given side of this block type should be rendered, if the adjacent block is at the given 033 * coordinates. Args: blockAccess, x, y, z, side 034 */ 035 public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5) 036 { 037 int var6 = par1IBlockAccess.getBlockId(par2, par3, par4); 038 return !this.graphicsLevel && var6 == this.blockID ? false : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5); 039 } 040 }