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