@Override public boolean getIsRepairable(ItemStack par1ItemStack, @Nonnull ItemStack par2ItemStack) { return par2ItemStack.getItem() == ModItems.manaResource && par2ItemStack.getItemDamage() == 0 ? true : super.getIsRepairable(par1ItemStack, par2ItemStack); }
@Override public final ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand){ return super.onItemRightClick(world, player, hand); }
private static int swordPowerCompare(ItemStack stack1, ItemStack stack2) { return (int) (((ItemSword) stack2.getItem()).getAttackDamage() * 100 - ((ItemSword) stack1.getItem()).getAttackDamage() * 100); }
@Override public boolean hitEntity(final ItemStack stack, final EntityLivingBase target, @NotNull final EntityLivingBase attacker) { if (attacker instanceof EntityPlayer && target instanceof AbstractEntityBarbarian) { target.addPotionEffect(new PotionEffect(LEVITATION_EFFECT, LEVITATION_EFFECT_DURATION, LEVITATION_EFFECT_MULTIPLIER)); } return super.hitEntity(stack, target, attacker); }
testItem = new ItemSword(Item.ToolMaterial.GOLD).setUnlocalizedName("mbe08_creative_tab_item_unlocalised_name").setCreativeTab(customTab); testItem.setRegistryName("mbe08_creative_tab_item_registry_name"); ForgeRegistries.ITEMS.register(testItem);
@SideOnly(Side.CLIENT) @Override public void addInformation(ItemStack stack, World player, List<String> tooltip, net.minecraft.client.util.ITooltipFlag advanced) { if (this.enableShooting) { tooltip.add(UtilChat.lang(this.getTranslationKey() + ".tooltip")); } super.addInformation(stack, player, tooltip, advanced); }
private static String getName(@Nonnull ItemStack stack) { Item item = stack.getItem(); if (item instanceof ItemTool) { return ((ItemTool) item).getToolMaterialName(); } else if (item instanceof ItemSword) { return ((ItemSword) item).getToolMaterialName(); } else if (item instanceof ItemArmor) { return ((ItemArmor) item).getArmorMaterial().toString(); } else { return null; } }
@Override public Multimap<String, AttributeModifier> getAttributeModifiers(EntityEquipmentSlot slot, ItemStack stack) { Multimap<String, AttributeModifier> multimap = super.getItemAttributeModifiers(slot); if (slot == EntityEquipmentSlot.MAINHAND) { multimap.removeAll(SharedMonsterAttributes.ATTACK_DAMAGE.getName()); multimap.removeAll(SharedMonsterAttributes.ATTACK_SPEED.getName()); multimap.put(SharedMonsterAttributes.ATTACK_DAMAGE.getName(), new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Weapon modifier", attackDamage, 0)); multimap.put(SharedMonsterAttributes.ATTACK_SPEED.getName(), new AttributeModifier(ATTACK_SPEED_MODIFIER, "Weapon modifier", attackSpeed, 0)); } return multimap; }
@Override public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) { super.onLeftClickEntity(stack, player, entity); if (type == CalculatorConfig.TOOL_FIRE_DIAMOND) { entity.setFire(4); } return false; }
@Override public boolean hitEntity(@Nonnull ItemStack stack, @Nonnull EntityLivingBase entity, @Nonnull EntityLivingBase playerEntity) { if (playerEntity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) playerEntity; // Durability damage EnergyUpgradeHolder eu = EnergyUpgradeManager.loadFromItem(stack); if (eu != null && eu.isAbsorbDamageWithPower() && eu.getEnergy() > 0) { eu.extractEnergy(getPowerPerDamagePoint(stack), false); } else { super.hitEntity(stack, entity, playerEntity); } // sword hit if (eu != null) { eu.writeToItem(); if (eu.getEnergy() >= DarkSteelConfig.darkSteelSwordPowerUsePerHit.get()) { extractInternal(player.getHeldItemMainhand(), DarkSteelConfig.darkSteelSwordPowerUsePerHit); entity.getEntityData().setBoolean(SwordHandler.HIT_BY_DARK_STEEL_SWORD, true); } } } return true; }
swordCopper = (new ItemSword(ToolMaterial.IRON)).setUnlocalizedName(name).setTextureName("eln:copper_sword").setCreativeTab(creativeTab); GameRegistry.registerItem(swordCopper, "Eln." + name); GameRegistry.registerCustomItemStack(name, new ItemStack(swordCopper));
@Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, World world, List<String> list, ITooltipFlag par4) { super.addInformation(stack, world, list, par4); if (!CalculatorConfig.isEnabled(stack)) { list.add(FontHelper.translate("calc.ban")); } } }
return 200; if (item instanceof ItemSword && "WOOD".equals(((ItemSword) item).getToolMaterialName())) { return 200;
@Override @Nonnull public Multimap<String, AttributeModifier> getAttributeModifiers(@Nonnull EntityEquipmentSlot equipmentSlot, @Nonnull ItemStack stack) { Multimap<String, AttributeModifier> res = super.getItemAttributeModifiers(equipmentSlot); if (equipmentSlot == EntityEquipmentSlot.MAINHAND) { if (DarkSteelConfig.darkSteelSwordPowerUsePerHit.get() <= 0 || EnergyUpgradeManager.getEnergyStored(stack) >= DarkSteelConfig.darkSteelSwordPowerUsePerHit.get()) { EnergyUpgrade energyUpgrade = EnergyUpgrade.loadAnyFromItem(stack); int level = energyUpgrade.getLevel(); res.put(SharedMonsterAttributes.ATTACK_DAMAGE.getName(), DarkSteelAttributeModifiers.getAttackDamage(level)); res.put(SharedMonsterAttributes.ATTACK_SPEED.getName(), DarkSteelAttributeModifiers.getAttackSpeed(level)); } } return res; }
@Override public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) { recalculatePowers(stack, player.getEntityWorld(), player); double drain = this.getDrainOfActivatedSword(stack); if (drain > 0) { EnumDemonWillType type = getCurrentType(stack); double soulsRemaining = PlayerDemonWillHandler.getTotalDemonWill(type, player); if (drain > soulsRemaining) { return false; } else { PlayerDemonWillHandler.consumeDemonWill(type, player, drain); } } return super.onLeftClickEntity(stack, player, entity); }
@Override public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) { if (this == ModItems.silver_sword) { if (target.getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) { target.attackEntityFrom(DamageSource.MAGIC, 2); } } if (this.toolMaterial == ModItems.myrmexChitin) { if (target.getCreatureAttribute() != EnumCreatureAttribute.ARTHROPOD) { target.attackEntityFrom(DamageSource.GENERIC, 4); } if (target instanceof EntityDeathWorm) { target.attackEntityFrom(DamageSource.GENERIC, 4); } } if (this == ModItems.myrmex_desert_sword_venom || this == ModItems.myrmex_jungle_sword_venom) { target.addPotionEffect(new PotionEffect(MobEffects.POISON, 200, 2)); } return super.hitEntity(stack, target, attacker); }
@Override public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) { recalculatePowers(player.getHeldItem(hand), world, player); return super.onItemRightClick(world, player, hand); }
@Override public boolean getIsRepairable(ItemStack par1ItemStack, ItemStack par2ItemStack) { if (repairMaterial instanceof ItemStack) { return par2ItemStack.isItemEqual((ItemStack) repairMaterial) ? true : super.getIsRepairable(par1ItemStack, par2ItemStack); } if (repairMaterial instanceof String) { return ItemStackUtility.isItemOreDictedAs(par2ItemStack, (String) repairMaterial) ? true : super.getIsRepairable(par1ItemStack, par2ItemStack); } return super.getIsRepairable(par1ItemStack, par2ItemStack); }
@SuppressWarnings("rawtypes") @SideOnly(Side.CLIENT) @Override public void addInformation(ItemStack itemStack, World world, List<String> list, ITooltipFlag flag) { super.addInformation(itemStack, world, list, flag); L10NHelpers.addOptionalInfo(list, getUnlocalizedName()); }
if (stack.getItem() instanceof ItemSword) material = Item.ToolMaterial.valueOf(((ItemSword) stack.getItem()).getToolMaterialName()).getRepairItemStack();