package net.minecraft.block;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
import net.minecraft.block.material.MapColor;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
public class BlockQuartz extends Block
{
public static final String[] field_150191_a = new String[] {"default", "chiseled", "lines"};
private static final String[] field_150189_b = new String[] {"side", "chiseled", "lines", null, null};
@SideOnly(Side.CLIENT)
private IIcon[] field_150192_M;
@SideOnly(Side.CLIENT)
private IIcon field_150193_N;
@SideOnly(Side.CLIENT)
private IIcon field_150194_O;
@SideOnly(Side.CLIENT)
private IIcon field_150190_P;
@SideOnly(Side.CLIENT)
private IIcon field_150188_Q;
private static final String __OBFID = "CL_00000292";
public BlockQuartz()
{
super(Material.rock);
this.setCreativeTab(CreativeTabs.tabBlock);
}
/**
* Gets the block's texture. Args: side, meta
*/
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int meta)
{
if (meta != 2 && meta != 3 && meta != 4)
{
if (side != 1 && (side != 0 || meta != 1))
{
if (side == 0)
{
return this.field_150188_Q;
}
else
{
if (meta < 0 || meta >= this.field_150192_M.length)
{
meta = 0;
}
return this.field_150192_M[meta];
}
}
else
{
return meta == 1 ? this.field_150193_N : this.field_150190_P;
}
}
else
{
return meta == 2 && (side == 1 || side == 0) ? this.field_150194_O : (meta == 3 && (side == 5 || side == 4) ? this.field_150194_O : (meta == 4 && (side == 2 || side == 3) ? this.field_150194_O : this.field_150192_M[meta]));
}
}
public int onBlockPlaced(World worldIn, int x, int y, int z, int side, float subX, float subY, float subZ, int meta)
{
if (meta == 2)
{
switch (side)
{
case 0:
case 1:
meta = 2;
break;
case 2:
case 3:
meta = 4;
break;
case 4:
case 5:
meta = 3;
}
}
return meta;
}
/**
* Determines the damage on the item the block drops. Used in cloth and wood.
*/
public int damageDropped(int meta)
{
return meta != 3 && meta != 4 ? meta : 2;
}
/**
* Returns an item stack containing a single instance of the current block type. 'i' is the block's subtype/damage
* and is ignored for blocks which do not support subtypes. Blocks which cannot be harvested should return null.
*/
protected ItemStack createStackedBlock(int meta)
{
return meta != 3 && meta != 4 ? super.createStackedBlock(meta) : new ItemStack(Item.getItemFromBlock(this), 1, 2);
}
/**
* The type of render function that is called for this block
*/
public int getRenderType()
{
return 39;
}
/**
* returns a list of blocks with the same ID, but different meta (eg: wood returns 4 blocks)
*/
@SideOnly(Side.CLIENT)
public void getSubBlocks(Item itemIn, CreativeTabs tab, List list)
{
list.add(new ItemStack(itemIn, 1, 0));
list.add(new ItemStack(itemIn, 1, 1));
list.add(new ItemStack(itemIn, 1, 2));
}
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister reg)
{
this.field_150192_M = new IIcon[field_150189_b.length];
for (int i = 0; i < this.field_150192_M.length; ++i)
{
if (field_150189_b[i] == null)
{
this.field_150192_M[i] = this.field_150192_M[i - 1];
}
else
{
this.field_150192_M[i] = reg.registerIcon(this.getTextureName() + "_" + field_150189_b[i]);
}
}
this.field_150190_P = reg.registerIcon(this.getTextureName() + "_" + "top");
this.field_150193_N = reg.registerIcon(this.getTextureName() + "_" + "chiseled_top");
this.field_150194_O = reg.registerIcon(this.getTextureName() + "_" + "lines_top");
this.field_150188_Q = reg.registerIcon(this.getTextureName() + "_" + "bottom");
}
public MapColor getMapColor(int meta)
{
return MapColor.quartzColor;
}
}