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 BlockBreakable extends Block
007    {
008        private boolean localFlag;
009    
010        protected BlockBreakable(int par1, int par2, Material par3Material, boolean par4)
011        {
012            super(par1, par2, par3Material);
013            this.localFlag = par4;
014        }
015    
016        /**
017         * Is this block (a) opaque and (b) a full 1m cube?  This determines whether or not to render the shared face of two
018         * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
019         */
020        public boolean isOpaqueCube()
021        {
022            return false;
023        }
024    
025        @SideOnly(Side.CLIENT)
026    
027        /**
028         * Returns true if the given side of this block type should be rendered, if the adjacent block is at the given
029         * coordinates.  Args: blockAccess, x, y, z, side
030         */
031        public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
032        {
033            int var6 = par1IBlockAccess.getBlockId(par2, par3, par4);
034            return !this.localFlag && var6 == this.blockID ? false : super.shouldSideBeRendered(par1IBlockAccess, par2, par3, par4, par5);
035        }
036    }