Mekanism-tilera-Edition/common/mekanism/tools/common/ItemMekanismPickaxe.java
2013-06-28 18:01:00 -04:00

80 lines
2.4 KiB
Java

package mekanism.tools.common;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.ItemStack;
public class ItemMekanismPickaxe extends ItemMekanismTool
{
private static Block blocksEffectiveAgainst[];
public ItemMekanismPickaxe(int id, EnumToolMaterial enumtoolmaterial)
{
super(id, 2, enumtoolmaterial, blocksEffectiveAgainst);
}
@Override
public boolean canHarvestBlock(Block block)
{
if (block == Block.obsidian)
{
return toolMaterial.getHarvestLevel() == 3;
}
if (block == Block.blockDiamond || block == Block.oreDiamond)
{
return toolMaterial.getHarvestLevel() >= 2;
}
if (block == Block.blockGold || block == Block.oreGold)
{
return toolMaterial.getHarvestLevel() >= 2;
}
if (block == Block.blockIron || block == Block.oreIron)
{
return toolMaterial.getHarvestLevel() >= 1;
}
if (block == Block.blockLapis || block == Block.oreLapis)
{
return toolMaterial.getHarvestLevel() >= 1;
}
if (block == Block.oreRedstone || block == Block.oreRedstoneGlowing)
{
return toolMaterial.getHarvestLevel() >= 2;
}
if (block.blockMaterial == Material.rock)
{
return true;
}
return block.blockMaterial == Material.iron;
}
@Override
public float getStrVsBlock(ItemStack itemstack, Block block)
{
if (block != null && (block.blockMaterial == Material.iron || block.blockMaterial == Material.rock))
{
return efficiencyOnProperMaterial;
}
else
{
return super.getStrVsBlock(itemstack, block);
}
}
static
{
blocksEffectiveAgainst = (new Block[]
{
Block.cobblestone, Block.stoneSingleSlab, Block.stoneDoubleSlab, Block.stone, Block.sandStone, Block.cobblestoneMossy, Block.oreIron, Block.blockIron, Block.oreCoal, Block.blockGold,
Block.oreGold, Block.oreDiamond, Block.blockDiamond, Block.ice, Block.netherrack, Block.oreLapis, Block.blockLapis, Block.oreRedstone, Block.oreRedstoneGlowing, Block.rail,
Block.railDetector, Block.railPowered
});
}
}