    001package net.minecraft.block;
    002
    003import cpw.mods.fml.relauncher.Side;
    004import cpw.mods.fml.relauncher.SideOnly;
    005import java.util.Random;
    006import net.minecraft.block.material.Material;
    007import net.minecraft.creativetab.CreativeTabs;
    008
    009public 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}