001 package net.minecraft.src; 002 003 import cpw.mods.fml.common.Side; 004 import cpw.mods.fml.common.asm.SideOnly; 005 import java.util.Random; 006 007 public class BlockMobSpawner extends BlockContainer 008 { 009 protected BlockMobSpawner(int par1, int par2) 010 { 011 super(par1, par2, Material.rock); 012 } 013 014 /** 015 * Returns a new instance of a block's tile entity class. Called on placing the block. 016 */ 017 public TileEntity createNewTileEntity(World par1World) 018 { 019 return new TileEntityMobSpawner(); 020 } 021 022 /** 023 * Returns the ID of the items to drop on destruction. 024 */ 025 public int idDropped(int par1, Random par2Random, int par3) 026 { 027 return 0; 028 } 029 030 /** 031 * Returns the quantity of items to drop on block destruction. 032 */ 033 public int quantityDropped(Random par1Random) 034 { 035 return 0; 036 } 037 038 /** 039 * Drops the block items with a specified chance of dropping the specified items 040 */ 041 public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) 042 { 043 super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, par6, par7); 044 int var8 = 15 + par1World.rand.nextInt(15) + par1World.rand.nextInt(15); 045 this.dropXpOnBlockBreak(par1World, par2, par3, par4, var8); 046 } 047 048 /** 049 * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two 050 * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block. 051 */ 052 public boolean isOpaqueCube() 053 { 054 return false; 055 } 056 057 @SideOnly(Side.CLIENT) 058 059 /** 060 * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) 061 */ 062 public int idPicked(World par1World, int par2, int par3, int par4) 063 { 064 return 0; 065 } 066 }