/* * This file ("ItemKnife.java") is part of the Actually Additions Mod for Minecraft. * It is created and owned by Ellpeck and distributed * under the Actually Additions License to be found at * http://github.com/Ellpeck/ActuallyAdditions/blob/master/README.md * View the source code at https://github.com/Ellpeck/ActuallyAdditions * * © 2015 Ellpeck */ package ellpeck.actuallyadditions.items; import com.google.common.collect.Multimap; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.actuallyadditions.config.values.ConfigIntValues; import ellpeck.actuallyadditions.util.IActAddItemOrBlock; import ellpeck.actuallyadditions.util.ModUtil; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; public class ItemKnife extends Item implements IActAddItemOrBlock{ public ItemKnife(){ this.setMaxDamage(ConfigIntValues.KNIFE_DAMAGE.getValue()); this.setMaxStackSize(1); this.setContainerItem(this); } @Override public ItemStack getContainerItem(ItemStack stack){ ItemStack theStack = stack.copy(); theStack.setItemDamage(theStack.getItemDamage() + 1); theStack.stackSize = 1; return theStack; } @Override public boolean doesContainerItemLeaveCraftingGrid(ItemStack stack){ return false; } @Override public EnumRarity getRarity(ItemStack stack){ return EnumRarity.epic; } @Override public boolean getShareTag(){ return true; } @Override public IIcon getIcon(ItemStack stack, int pass){ return this.itemIcon; } @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconReg){ this.itemIcon = iconReg.registerIcon(ModUtil.MOD_ID_LOWER + ":" + this.getName()); } @Override public String getName(){ return "itemKnife"; } @SuppressWarnings("unchecked") @Override public Multimap getAttributeModifiers(ItemStack stack){ Multimap map = super.getAttributeModifiers(stack); map.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), new AttributeModifier(field_111210_e, "Knife Modifier", 3, 0)); return map; } }