001 package net.minecraft.block; 002 003 import cpw.mods.fml.relauncher.Side; 004 import cpw.mods.fml.relauncher.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 }