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 }