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