001 package net.minecraft.block;
002
003 import cpw.mods.fml.relauncher.Side;
004 import cpw.mods.fml.relauncher.SideOnly;
005 import java.util.Random;
006 import net.minecraft.block.material.Material;
007 import net.minecraft.creativetab.CreativeTabs;
008
009 public class BlockGlass extends BlockBreakable
010 {
011 public BlockGlass(int par1, int par2, Material par3Material, boolean par4)
012 {
013 super(par1, par2, par3Material, par4);
014 this.setCreativeTab(CreativeTabs.tabBlock);
015 }
016
017 /**
018 * Returns the quantity of items to drop on block destruction.
019 */
020 public int quantityDropped(Random par1Random)
021 {
022 return 0;
023 }
024
025 @SideOnly(Side.CLIENT)
026
027 /**
028 * Returns which pass should this block be rendered on. 0 for solids and 1 for alpha
029 */
030 public int getRenderBlockPass()
031 {
032 return 0;
033 }
034
035 /**
036 * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two
037 * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
038 */
039 public boolean isOpaqueCube()
040 {
041 return false;
042 }
043
044 /**
045 * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
046 */
047 public boolean renderAsNormalBlock()
048 {
049 return false;
050 }
051
052 /**
053 * Return true if a player with Silk Touch can harvest this block directly, and not its normal drops.
054 */
055 protected boolean canSilkHarvest()
056 {
057 return true;
058 }
059 }