@Override public void onUpdate(ItemStack par1ItemStack, World world, Entity par3Entity, int par4, boolean par5) { if(par1ItemStack.isItemDamaged()) par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() - 1); }
if( myStack.getStackSize() > bigNumber || ( myStack.getStackSize() > 1 && stack.isItemDamaged() ) )
public int getMaxStackSize() { if (maxStackSize == 0) { ItemStack tstack = unsafeMakeNormalStack(1); int tstacksize = tstack.getMaxStackSize(); if (tstack.isItemStackDamageable() && tstack.isItemDamaged()) { tstacksize = 1; } tstacksize = Math.max(1, Math.min(64, tstacksize)); maxStackSize = tstacksize; } return maxStackSize; }
@Override public boolean canRepair(ItemStack itemStack, int tick) { return itemStack.isItemDamaged() && itemStack.getItem().isRepairable(); }
@Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, @Nullable World world, List<String> tooltip, ITooltipFlag advanced) { super.addInformation(stack, world, tooltip, advanced); if (!stack.isItemDamaged()) { tooltip.add(Translator.translateToLocalFormatted("item.for.uses", stack.getMaxDamage() + 1)); } }
@Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, @Nullable World world, List<String> tooltip, ITooltipFlag advanced) { super.addInformation(stack, world, tooltip, advanced); beeModifier.addInformation(stack, world, tooltip, advanced); if (!stack.isItemDamaged()) { tooltip.add(Translator.translateToLocalFormatted("item.for.durability", stack.getMaxDamage())); } }
@Override @SideOnly(Side.CLIENT) public void addInformation(ItemStack stack, @Nullable World worldIn, List<String> tooltip, ITooltipFlag flagIn) { super.addInformation(stack, worldIn, tooltip, flagIn); this.frame.addInformation(stack, tooltip, flagIn); if (!stack.isItemDamaged()) { tooltip.add(I18N.localise("item.for.durability", stack.getMaxDamage())); } }
private boolean canBeMended(@Nonnull ItemStack stack) { return TankConfig.allowMending.get() && Prep.isValid(stack) && stack.isItemDamaged() && EnchantmentHelper.getEnchantmentLevel(Enchantments.MENDING, stack) > 0 && tank.hasFluid(Fluids.XP_JUICE.getFluid()); }
private boolean needsMending() { return KillerJoeConfig.killerMendingEnabled.get() && getWeapon().isItemDamaged() && EnchantmentHelper.getEnchantmentLevel(Enchantments.MENDING, getWeapon()) > 0; }
/** * repair random equipped/held item with mending enchant. * * @param xp amount of xp available to mend with * @return xp left after mending */ private double applyMending(final double xp) { double localXp = xp; final ItemStack tool = EnchantmentHelper.getEnchantedItem(Enchantments.MENDING, citizen); if (!ItemStackUtils.isEmpty(tool) && tool.isItemDamaged()) { //2 xp to heal 1 dmg final double dmgHealed = Math.min(localXp / 2, tool.getItemDamage()); localXp -= dmgHealed * 2; tool.setItemDamage(tool.getItemDamage() - (int) Math.ceil(dmgHealed)); } return localXp; }
@Override public void onTick(World world, EntityPlayer player, ILivingArmour livingArmour) { if (delay <= 0) { delay = repairDelay[this.level]; EntityEquipmentSlot randomSlot = EntityEquipmentSlot.values()[2 + world.rand.nextInt(4)]; ItemStack repairStack = player.getItemStackFromSlot(randomSlot); if (!repairStack.isEmpty()) { if (repairStack.isItemStackDamageable() && repairStack.isItemDamaged()) { int toRepair = Math.min(maxRepair, repairStack.getItemDamage()); if (toRepair > 0) { repairStack.setItemDamage(repairStack.getItemDamage() - toRepair); } } } } else { delay--; } }
@Override public void onUpdate(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) { if (entityIn instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) entityIn; if (stack.isItemDamaged()) { ItemStack torches = this.findAmmo(player, Item.getItemFromBlock(Blocks.TORCH)); if (!torches.isEmpty()) { torches.shrink(1); UtilItemStack.repairItem(player, stack); } } } }
@Override public ErrorState canWork() { ItemStack serumStack = this.getUtil().getStack(Polymeriser.SLOT_SERUM); if (serumStack.isEmpty()) { return new ErrorState(GeneticsErrorCode.POLYMERISER_NO_ITEM, Polymeriser.SLOT_SERUM); } if (!serumStack.isItemDamaged()) { return new ErrorState(GeneticsErrorCode.POLYMERISER_ITEM_FILLED, Polymeriser.SLOT_SERUM); } return super.canWork(); }
@Override public int getSmeltAmount(ItemStack stack) { if (!isDamageable() || !stack.isItemDamaged()) return type.getSmeltAmount(); double d = (stack.getMaxDamage() - stack.getItemDamage()) / (double) stack.getMaxDamage() - .10; return d < 0 ? 0 : MathHelper.floor(type.getSmeltAmount() * d); }
if (inputStack.isItemDamaged() == false || isBlockAllowed(inputStack) == false) { if (this.timer <= 0) { this.timer = TIMER_FULL; if (inputStack.isItemDamaged()) { inputStack.setItemDamage(inputStack.getItemDamage() - 1);
if (inputStack.isItemDamaged() == false || isBlockAllowed(inputStack) == false) { if (this.timer <= 0) { this.timer = TIMER_FULL; if (inputStack.isItemDamaged() && this.hasEnoughFluid()) { inputStack.setItemDamage(inputStack.getItemDamage() - 1);
@SubscribeEvent(priority = EventPriority.LOWEST) public static void onExperiencePickup(PlayerPickupXpEvent event) { EntityPlayer player = event.getEntityPlayer(); ItemStack itemstack = EnchantmentHelper.getEnchantedItem(Enchantments.MENDING, player); if (!itemstack.isEmpty() && itemstack.isItemDamaged()) { int i = Math.min(xpToDurability(event.getOrb().xpValue), itemstack.getItemDamage()); event.getOrb().xpValue -= durabilityToXp(i); itemstack.setItemDamage(itemstack.getItemDamage() - i); } if (!player.getEntityWorld().isRemote) { for (ItemStack stack : player.inventory.mainInventory) { if (stack.getItem() instanceof ItemExperienceBook) { ItemExperienceBook.addExperience(stack, event.getOrb().xpValue); event.getOrb().xpValue = 0; break; } } } }
@Override public void onTick(ItemStack stack, EntityPlayer player) { if (!this.canTick(stack)) { return; } World world = player.world; BlockPos pos = player.getPosition(); if (world.getLight(pos, true) < lightLimit && player.isSpectator() == false && world.isSideSolid(pos.down(), EnumFacing.UP) && world.isAirBlock(pos)) { // dont overwrite liquids if (UtilPlaceBlocks.placeStateSafe(world, player, pos, Blocks.TORCH.getDefaultState())) { super.damageCharm(player, stack); } } else if (stack.isItemDamaged()) { ItemStack torches = this.findAmmo(player, Item.getItemFromBlock(Blocks.TORCH)); if (!torches.isEmpty()) { torches.shrink(1); UtilItemStack.repairItem(player, stack); } } }
private boolean mendItem() { final int output = getSlotDefinition().getMaxOutputSlot(); final int input = getSlotDefinition().getMinInputSlot() + 1; if (tank.isEmpty() || !canBeMended(getStackInSlot(input)) || Prep.isValid(getStackInSlot(output))) { return false; } int damageMendable = Math.min(xpToDurability(XpUtil.liquidToExperience(tank.getFluidAmount())), getStackInSlot(input).getItemDamage()); if (damageMendable < 1) { return false; } getStackInSlot(input).setItemDamage(inventory[input].getItemDamage() - damageMendable); tank.drainInternal(XpUtil.experienceToLiquid(durabilityToXp(damageMendable)), true); if (!getStackInSlot(input).isItemDamaged()) { setInventorySlotContents(output, getStackInSlot(input)); setInventorySlotContents(input, Prep.getEmpty()); } markDirty(); return true; }
transfer.addStorage(Polymeriser.SLOT_SERUM, Polymeriser.SLOT_SERUM_FINISHED, (stack) -> !stack.isItemDamaged()); ComponentTankContainer tank = new ComponentTankContainer(machine); tank.addTank(Polymeriser.TANK_BACTERIA, "input", 1000).setValidator(new BacteriaTankValidator());