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 BlockMushroomCap extends Block 008 { 009 /** The mushroom type. 0 for brown, 1 for red. */ 010 private int mushroomType; 011 012 public BlockMushroomCap(int par1, Material par2Material, int par3, int par4) 013 { 014 super(par1, par3, par2Material); 015 this.mushroomType = par4; 016 } 017 018 /** 019 * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata 020 */ 021 public int getBlockTextureFromSideAndMetadata(int par1, int par2) 022 { 023 return par2 == 10 && par1 > 1 ? this.blockIndexInTexture - 1 : (par2 >= 1 && par2 <= 9 && par1 == 1 ? this.blockIndexInTexture - 16 - this.mushroomType : (par2 >= 1 && par2 <= 3 && par1 == 2 ? this.blockIndexInTexture - 16 - this.mushroomType : (par2 >= 7 && par2 <= 9 && par1 == 3 ? this.blockIndexInTexture - 16 - this.mushroomType : ((par2 == 1 || par2 == 4 || par2 == 7) && par1 == 4 ? this.blockIndexInTexture - 16 - this.mushroomType : ((par2 == 3 || par2 == 6 || par2 == 9) && par1 == 5 ? this.blockIndexInTexture - 16 - this.mushroomType : (par2 == 14 ? this.blockIndexInTexture - 16 - this.mushroomType : (par2 == 15 ? this.blockIndexInTexture - 1 : this.blockIndexInTexture))))))); 024 } 025 026 /** 027 * Returns the quantity of items to drop on block destruction. 028 */ 029 public int quantityDropped(Random par1Random) 030 { 031 int var2 = par1Random.nextInt(10) - 7; 032 033 if (var2 < 0) 034 { 035 var2 = 0; 036 } 037 038 return var2; 039 } 040 041 /** 042 * Returns the ID of the items to drop on destruction. 043 */ 044 public int idDropped(int par1, Random par2Random, int par3) 045 { 046 return Block.mushroomBrown.blockID + this.mushroomType; 047 } 048 049 @SideOnly(Side.CLIENT) 050 051 /** 052 * only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative) 053 */ 054 public int idPicked(World par1World, int par2, int par3, int par4) 055 { 056 return Block.mushroomBrown.blockID + this.mushroomType; 057 } 058 }