Files
MagicBees/src/main/java/magicbees/item/ItemThaumiumGrafter.java
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

85 lines
2.8 KiB
Java
Raw Normal View History

2013-05-23 21:07:28 -07:00
package magicbees.item;
2013-03-03 23:50:29 -08:00
import net.minecraft.block.Block;
2014-09-23 00:30:12 +02:00
import net.minecraft.client.renderer.texture.IIconRegister;
2013-03-13 19:53:39 -07:00
import net.minecraft.entity.player.EntityPlayer;
2018-06-11 19:36:19 +10:00
import net.minecraft.item.EnumRarity;
2013-03-03 23:50:29 -08:00
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.ForgeHooks;
2015-04-25 01:27:49 -07:00
import net.minecraftforge.oredict.OreDictionary;
2022-10-12 21:09:45 +02:00
import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
2023-04-28 17:50:21 +02:00
import magicbees.main.CommonProxy;
import magicbees.main.utils.compat.ThaumcraftHelper;
import thaumcraft.api.IRepairableExtended;
import thaumcraft.api.ThaumcraftApi;
2013-03-03 23:50:29 -08:00
2015-04-21 12:49:24 -07:00
@Optional.InterfaceList({ @Optional.Interface(
2022-10-12 21:09:45 +02:00
iface = "thaumcraft.api.IRepairableExtended",
modid = ThaumcraftHelper.Name,
striprefs = true) })
public class ItemThaumiumGrafter extends ItemGrafter implements IRepairableExtended {
2022-10-12 21:09:45 +02:00
public ItemThaumiumGrafter() {
super();
this.setMaxDamage(15);
this.setUnlocalizedName("thaumiumGrafter");
}
@Override
public float func_150893_a(ItemStack itemStack, Block block) {
return 1f;
}
@Override
public float getDigSpeed(ItemStack itemStack, Block block, int metadata) {
return ForgeHooks.isToolEffective(itemStack, block, metadata) ? 4.8f : func_150893_a(itemStack, block);
}
2013-03-03 23:50:29 -08:00
2022-10-12 21:09:45 +02:00
/**
* Return the enchantability factor of the item, most of the time is based on material.
*/
@Optional.Method(modid = ThaumcraftHelper.Name)
public int getItemEnchantability() {
return ThaumcraftApi.toolMatThaumium.getEnchantability();
}
2013-03-03 23:50:29 -08:00
2022-10-12 21:09:45 +02:00
/**
* Return the name for this tool's material.
*/
@Optional.Method(modid = ThaumcraftHelper.Name)
public String getToolMaterialName() {
return ThaumcraftApi.toolMatThaumium.toString();
}
2013-03-03 23:50:29 -08:00
2022-10-12 21:09:45 +02:00
/**
* Return whether this item is repairable in an anvil.
*/
@Optional.Method(modid = ThaumcraftHelper.Name)
public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) {
return OreDictionary.itemMatches(ThaumcraftApi.toolMatThaumium.getRepairItemStack(), par2ItemStack, true)
|| super.getIsRepairable(par1ItemStack, par2ItemStack);
}
2013-03-03 23:50:29 -08:00
2022-10-12 21:09:45 +02:00
@Override
public boolean doRepair(ItemStack stack, EntityPlayer player, int enchantLevel) {
boolean flag = false;
if (stack.getItemDamage() > 0) {
flag = true;
player.addExhaustion(0.6f * (enchantLevel * enchantLevel));
}
return flag;
}
2013-03-03 23:50:29 -08:00
2022-10-12 21:09:45 +02:00
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister iconRegister) {
this.itemIcon = iconRegister.registerIcon(CommonProxy.DOMAIN + ":thaumiumGrafter");
}
2014-09-23 00:30:12 +02:00
2022-10-12 21:09:45 +02:00
public EnumRarity getRarity(ItemStack itemstack) {
return EnumRarity.uncommon;
}
2013-03-03 23:50:29 -08:00
}