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