package emasher.blocks;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import emasher.EngineersToolbox;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import java.util.ArrayList;
import java.util.List;
public class BlockOre extends Block {
private static IIcon[] textures;
private int numBlocks;
public BlockOre( int par2, Material par4Material ) {
super( par4Material );
this.setCreativeTab( EngineersToolbox.tabBlocks() );
numBlocks = 8;
textures = new IIcon[numBlocks];
}
@Override
public IIcon getIcon( int side, int meta ) {
return textures[meta];
}
@Override
public void registerBlockIcons( IIconRegister ir ) {
this.blockIcon = ir.registerIcon( "eng_toolbox:oreBauxite" );
textures[0] = blockIcon;
textures[1] = ir.registerIcon( "eng_toolbox:oreCassiterite" );
textures[2] = ir.registerIcon( "eng_toolbox:oreEmery" );
textures[3] = ir.registerIcon( "eng_toolbox:oreGalena" );
textures[4] = ir.registerIcon( "eng_toolbox:oreNativeCopper" );
textures[5] = ir.registerIcon( "eng_toolbox:orePentlandite" );
textures[6] = ir.registerIcon( "eng_toolbox:oreRuby" );
textures[7] = ir.registerIcon( "eng_toolbox:oreSapphire" );
}
@Override
public ArrayList<ItemStack> getDrops( World world, int x, int y, int z, int meta, int f ) {
ArrayList<ItemStack> result = new ArrayList<ItemStack>();
if( meta == 0 || meta == 1 || meta == 3 || meta == 4 || meta == 5 ) {
result.add( new ItemStack( emasher.blocks.Blocks.ore(), 1, meta ) );
} else {
switch(meta) {
case 2:
result.add( new ItemStack( emasher.items.Items.gem(), f + 1, 0 ) );
break;
case 6:
result.add( new ItemStack( emasher.items.Items.gem(), f + 1, 1 ) );
break;
case 7:
result.add( new ItemStack( emasher.items.Items.gem(), f + 1, 2 ) );
}
}
return result;
}
@Override
public boolean canSilkHarvest( World world, EntityPlayer player, int x, int y, int z, int metadata ) {
return true;
}
/*@Override
public int idDropped(int par1, Random par2Random, int par3)
{
return this.blockID;
}
@Override
public int damageDropped(int par1)
{
return par1;
}*/
@Override
@SideOnly( Side.CLIENT )
public void getSubBlocks( Item par1, CreativeTabs par2CreativeTabs, List par3List ) {
for( int i = 0; i < 8; i++ ) par3List.add( new ItemStack( par1, 1, i ) );
}
@Override
public ItemStack getPickBlock( MovingObjectPosition target, World world, int x, int y, int z ) {
int meta = world.getBlockMetadata( x, y, z );
return new ItemStack( this, 1, meta );
}
}