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