    001    package net.minecraft.src;
    002
    003    public class BlockBeacon extends BlockContainer
    004    {
    005        public BlockBeacon(int par1)
    006        {
    007            super(par1, 41, Material.glass);
    008            this.setHardness(3.0F);
    009            this.setCreativeTab(CreativeTabs.tabMisc);
    010        }
    011
    012        /**
    013         * Returns a new instance of a block's tile entity class. Called on placing the block.
    014         */
    015        public TileEntity createNewTileEntity(World par1World)
    016        {
    017            return new TileEntityBeacon();
    018        }
    019
    020        /**
    021         * Called upon block activation (right click on the block.)
    022         */
    023        public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)
    024        {
    025            if (par1World.isRemote)
    026            {
    027                return true;
    028            }
    029            else
    030            {
    031                TileEntityBeacon var10 = (TileEntityBeacon)par1World.getBlockTileEntity(par2, par3, par4);
    032
    033                if (var10 != null)
    034                {
    035                    par5EntityPlayer.displayGUIBeacon(var10);
    036                }
    037
    038                return true;
    039            }
    040        }
    041
    042        /**
    043         * Is this block (a) opaque and (b) a full 1m cube?  This determines whether or not to render the shared face of two
    044         * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
    045         */
    046        public boolean isOpaqueCube()
    047        {
    048            return false;
    049        }
    050
    051        /**
    052         * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
    053         */
    054        public boolean renderAsNormalBlock()
    055        {
    056            return false;
    057        }
    058
    059        /**
    060         * The type of render function that is called for this block
    061         */
    062        public int getRenderType()
    063        {
    064            return 34;
    065        }
    066    }