package net.minecraft.block; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityBeacon; import net.minecraft.util.BlockPos; import net.minecraft.util.EnumFacing; import net.minecraft.util.HttpUtil; import net.minecraft.world.World; import net.minecraft.world.WorldServer; import net.minecraft.world.chunk.Chunk; public class BlockBeacon extends BlockContainer { private static final String __OBFID = "CL_00000197"; public BlockBeacon() { super(Material.glass); this.setHardness(3.0F); this.setCreativeTab(CreativeTabs.tabMisc); } /** * Returns a new instance of a block's tile entity class. Called on placing the block. */ public TileEntity createNewTileEntity(World worldIn, int meta) { return new TileEntityBeacon(); } public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ) { if (worldIn.isRemote) { return true; } else { TileEntity var9 = worldIn.getTileEntity(pos); if (var9 instanceof TileEntityBeacon) { playerIn.displayGUIChest((TileEntityBeacon)var9); } return true; } } public boolean isOpaqueCube() { return false; } public boolean isFullCube() { return false; } /** * The type of render function that is called for this block */ public int getRenderType() { return 3; } public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) { super.onBlockPlacedBy(worldIn, pos, state, placer, stack); if (stack.hasDisplayName()) { TileEntity var6 = worldIn.getTileEntity(pos); if (var6 instanceof TileEntityBeacon) { ((TileEntityBeacon)var6).func_145999_a(stack.getDisplayName()); } } } public void onNeighborBlockChange(World worldIn, BlockPos pos, IBlockState state, Block neighborBlock) { TileEntity var5 = worldIn.getTileEntity(pos); if (var5 instanceof TileEntityBeacon) { ((TileEntityBeacon)var5).func_174908_m(); worldIn.addBlockEvent(pos, this, 1, 0); } } public static void func_176450_d(final World worldIn, final BlockPos p_176450_1_) { HttpUtil.field_180193_a.submit(new Runnable() { private static final String __OBFID = "CL_00002136"; public void run() { Chunk var1 = worldIn.getChunkFromBlockCoords(p_176450_1_); for (int var2 = p_176450_1_.getY() - 1; var2 >= 0; --var2) { final BlockPos var3 = new BlockPos(p_176450_1_.getX(), var2, p_176450_1_.getZ()); if (!var1.canSeeSky(var3)) { break; } IBlockState var4 = worldIn.getBlockState(var3); if (var4.getBlock() == Blocks.beacon) { ((WorldServer)worldIn).addScheduledTask(new Runnable() { private static final String __OBFID = "CL_00002135"; public void run() { TileEntity var1 = worldIn.getTileEntity(var3); if (var1 instanceof TileEntityBeacon) { ((TileEntityBeacon)var1).func_174908_m(); worldIn.addBlockEvent(var3, Blocks.beacon, 1, 0); } } }); } } } }); } }