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.List;
006    
007    public class BlockCloth extends Block
008    {
009        public BlockCloth()
010        {
011            super(35, 64, Material.cloth);
012            this.setCreativeTab(CreativeTabs.tabBlock);
013        }
014    
015        /**
016         * From the specified side and block metadata retrieves the blocks texture. Args: side, metadata
017         */
018        public int getBlockTextureFromSideAndMetadata(int par1, int par2)
019        {
020            if (par2 == 0)
021            {
022                return this.blockIndexInTexture;
023            }
024            else
025            {
026                par2 = ~(par2 & 15);
027                return 113 + ((par2 & 8) >> 3) + (par2 & 7) * 16;
028            }
029        }
030    
031        /**
032         * Determines the damage on the item the block drops. Used in cloth and wood.
033         */
034        public int damageDropped(int par1)
035        {
036            return par1;
037        }
038    
039        /**
040         * Takes a dye damage value and returns the block damage value to match
041         */
042        public static int getBlockFromDye(int par0)
043        {
044            return ~par0 & 15;
045        }
046    
047        /**
048         * Takes a block damage value and returns the dye damage value to match
049         */
050        public static int getDyeFromBlock(int par0)
051        {
052            return ~par0 & 15;
053        }
054    
055        @SideOnly(Side.CLIENT)
056    
057        /**
058         * returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks)
059         */
060        public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List)
061        {
062            for (int var4 = 0; var4 < 16; ++var4)
063            {
064                par3List.add(new ItemStack(par1, 1, var4));
065            }
066        }
067    }