001 package net.minecraft.src;
002
003 import java.util.Random;
004
005 public class BlockWeb extends Block
006 {
007 public BlockWeb(int par1, int par2)
008 {
009 super(par1, par2, Material.web);
010 this.setCreativeTab(CreativeTabs.tabDecorations);
011 }
012
013 /**
014 * Triggered whenever an entity collides with this block (enters into the block). Args: world, x, y, z, entity
015 */
016 public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity)
017 {
018 par5Entity.setInWeb();
019 }
020
021 /**
022 * Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two
023 * adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
024 */
025 public boolean isOpaqueCube()
026 {
027 return false;
028 }
029
030 /**
031 * Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been
032 * cleared to be reused)
033 */
034 public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4)
035 {
036 return null;
037 }
038
039 /**
040 * The type of render function that is called for this block
041 */
042 public int getRenderType()
043 {
044 return 1;
045 }
046
047 /**
048 * If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
049 */
050 public boolean renderAsNormalBlock()
051 {
052 return false;
053 }
054
055 /**
056 * Returns the ID of the items to drop on destruction.
057 */
058 public int idDropped(int par1, Random par2Random, int par3)
059 {
060 return Item.silk.shiftedIndex;
061 }
062
063 /**
064 * Return true if a player with Silk Touch can harvest this block directly, and not its normal drops.
065 */
066 protected boolean canSilkHarvest()
067 {
068 return true;
069 }
070 }