package mekanism.common.block; import java.util.List; import mekanism.common.Mekanism; import mekanism.common.block.states.BlockStateOre; import mekanism.common.block.states.BlockStateOre.EnumOreType; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; /** * Block class for handling multiple ore block IDs. * 0: Osmium Ore * 1: Copper Ore * 2: Tin Ore * @author AidanBrady * */ public class BlockOre extends Block { public BlockOre() { super(Material.ROCK); setHardness(3F); setResistance(5F); setCreativeTab(Mekanism.tabMekanism); } @Override protected BlockStateContainer createBlockState() { return new BlockStateOre(this); } @Override public IBlockState getStateFromMeta(int meta) { return getDefaultState().withProperty(BlockStateOre.typeProperty, EnumOreType.values()[meta]); } @Override public int getMetaFromState(IBlockState state) { return state.getValue(BlockStateOre.typeProperty).ordinal(); } @Override public int damageDropped(IBlockState state) { return getMetaFromState(state); } @Override @SideOnly(Side.CLIENT) public void getSubBlocks(Item item, CreativeTabs creativetabs, List<ItemStack> list) { for(EnumOreType ore : EnumOreType.values()) { list.add(new ItemStack(item, 1, ore.ordinal())); } } }