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 }