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