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    }