net.minecraft.item.ItemStack.isItemDamaged()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(8.1k)|赞(0)|评价(0)|浏览(77)

本文整理了Java中net.minecraft.item.ItemStack.isItemDamaged()方法的一些代码示例,展示了ItemStack.isItemDamaged()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ItemStack.isItemDamaged()方法的具体详情如下:
包路径:net.minecraft.item.ItemStack
类名称:ItemStack
方法名:isItemDamaged

ItemStack.isItemDamaged介绍

暂无

代码示例

代码示例来源:origin: Vazkii/Botania

@Override
public void onUpdate(ItemStack par1ItemStack, World world, Entity par3Entity, int par4, boolean par5) {
  if(par1ItemStack.isItemDamaged())
    par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() - 1);
}

代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2

if( myStack.getStackSize() > bigNumber || ( myStack.getStackSize() > 1 && stack.isItemDamaged() ) )

代码示例来源:origin: RS485/LogisticsPipes

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;
}

代码示例来源:origin: CyclopsMC/EvilCraft

@Override
public boolean canRepair(ItemStack itemStack, int tick) {
  return itemStack.isItemDamaged() && itemStack.getItem().isRepairable();
}

代码示例来源:origin: ForestryMC/ForestryMC

@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));
  }
}

代码示例来源:origin: ForestryMC/ForestryMC

@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()));
  }
}

代码示例来源:origin: ForestryMC/Binnie

@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()));
  }
}

代码示例来源:origin: SleepyTrousers/EnderIO

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());
}

代码示例来源:origin: SleepyTrousers/EnderIO

private boolean needsMending() {
 return KillerJoeConfig.killerMendingEnabled.get() && getWeapon().isItemDamaged()
   && EnchantmentHelper.getEnchantmentLevel(Enchantments.MENDING, getWeapon()) > 0;
}

代码示例来源:origin: ldtteam/minecolonies

/**
 * 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;
}

代码示例来源:origin: WayofTime/BloodMagic

@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--;
  }
}

代码示例来源:origin: PrinceOfAmber/Cyclic

@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);
   }
  }
 }
}

代码示例来源:origin: ForestryMC/Binnie

@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();
}

代码示例来源:origin: TerraFirmaCraft/TerraFirmaCraft

@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);
}

代码示例来源:origin: PrinceOfAmber/Cyclic

if (inputStack.isItemDamaged() == false ||
  isBlockAllowed(inputStack) == false) {
if (this.timer <= 0) {
 this.timer = TIMER_FULL;
 if (inputStack.isItemDamaged()) {
  inputStack.setItemDamage(inputStack.getItemDamage() - 1);

代码示例来源:origin: PrinceOfAmber/Cyclic

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);

代码示例来源:origin: WayofTime/BloodMagic

@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;
      }
    }
  }
}

代码示例来源:origin: PrinceOfAmber/Cyclic

@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);
  }
 }
}

代码示例来源:origin: SleepyTrousers/EnderIO

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;
}

代码示例来源:origin: ForestryMC/Binnie

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());

相关文章

微信公众号

最新文章

更多

ItemStack类方法