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

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

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

ItemStack.getMaxDamage介绍

暂无

代码示例

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

@Override
public ArmorProperties getProperties(EntityLivingBase player, @Nonnull ItemStack armor, DamageSource source, double damage, int slot) {
  if(source.isUnblockable())
    return new ArmorProperties(0, 0, 0);
  return new ArmorProperties(0, damageReduceAmount / 25D, armor.getMaxDamage() + 1 - armor.getItemDamage());
}

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

newDef.setItemDamage( itemStack.getMaxDamage() + 1 );
  newDef.setItemDamage( itemStack.getMaxDamage() + 1 );
final int breakpoint = fuzzy.calculateBreakPoint( itemStack.getMaxDamage() );
final int damage = itemStack.getItemDamage() < breakpoint ? breakpoint - 1 : itemStack.getMaxDamage() + 1;
newDef.setItemDamage( damage );

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

private boolean fuzzyItemStackComparison( ItemStack a, ItemStack b, FuzzyMode mode )
{
  if( a.getItem() == b.getItem() )
  {
    if( a.getItem().isDamageable() )
    {
      if( mode == FuzzyMode.IGNORE_ALL )
      {
        return true;
      }
      else if( mode == FuzzyMode.PERCENT_99 )
      {
        return ( a.getItemDamage() > 1 ) == ( b.getItemDamage() > 1 );
      }
      else
      {
        final float percentDamageOfA = (float) a.getItemDamage() / (float) a.getMaxDamage();
        final float percentDamageOfB = (float) b.getItemDamage() / (float) b.getMaxDamage();
        return ( percentDamageOfA > mode.breakPoint ) == ( percentDamageOfB > mode.breakPoint );
      }
    }
    return a.getMetadata() == b.getMetadata();
  }
  return false;
}

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

final float percentDamagedOfA = (float) a.getItemDamage() / (float) a.getMaxDamage();
final float percentDamagedOfB = (float) b.getItemDamage() / (float) b.getMaxDamage();

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

items.registerItemColorHandler((s, t) -> Color.HSBtoRGB(0.55F, ((float) s.getMaxDamage() - (float) s.getItemDamage()) / (float)s.getMaxDamage() * 0.5F, 1F), ModItems.spellCloth);

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

public static ItemStack getContainerItem( final ItemStack stackInSlot )
{
  if( stackInSlot == null )
  {
    return ItemStack.EMPTY;
  }
  final Item i = stackInSlot.getItem();
  if( i == null || !i.hasContainerItem( stackInSlot ) )
  {
    if( stackInSlot.getCount() > 1 )
    {
      stackInSlot.setCount( stackInSlot.getCount() - 1 );
      return stackInSlot;
    }
    return ItemStack.EMPTY;
  }
  ItemStack ci = i.getContainerItem( stackInSlot.copy() );
  if( !ci.isEmpty() && ci.isItemStackDamageable() && ci.getItemDamage() == ci.getMaxDamage() )
  {
    ci = ItemStack.EMPTY;
  }
  return ci;
}

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

final int breakpoint = fuzzy.calculateBreakPoint( itemStack.getMaxDamage() );
final int damage = breakpoint <= itemStack.getItemDamage() ? breakpoint : 0;
newDef.setItemDamage( damage );

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

public static String getDurabilityString(@Nonnull ItemStack item) {
 if (item.isEmpty()) {
  return null;
 }
 return EnderCore.lang.localize("tooltip.durability") + " " + (item.getMaxDamage() - item.getItemDamage()) + "/" + item.getMaxDamage();
}

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

@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, World world, List<String> tooltip, ITooltipFlag flag) {
  PotionUtils.addPotionTooltip(stack, tooltip, 1.0F);
  tooltip.add("");
  tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.potion.uses", stack.getMaxDamage() - stack.getItemDamage()));
}

代码示例来源: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
public ItemStack frameUsed(IBeeHousing housing, ItemStack frame, IBee queen, int wear) {
  frame.setItemDamage(frame.getItemDamage() + wear);
  if (frame.getItemDamage() >= frame.getMaxDamage()) {
    return ItemStack.EMPTY;
  } else {
    return frame;
  }
}

代码示例来源: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
public ItemStack frameUsed(final IBeeHousing house, final ItemStack frame, final IBee queen, final int wear) {
  frame.setItemDamage(frame.getItemDamage() + wear);
  if (frame.getItemDamage() >= frame.getMaxDamage()) {
    return ItemStack.EMPTY;
  }
  return frame;
}

代码示例来源:origin: sinkillerj/ProjectE

public static int getEMCPerDurability(ItemStack stack) {
    if(stack.isEmpty())
      return 0;

    if(ItemHelper.isItemRepairable(stack)){
      ItemStack stackCopy = stack.copy();
      stackCopy.setItemDamage(0);
      int emc = (int)Math.ceil(EMCHelper.getEmcValue(stackCopy) / stack.getMaxDamage());
      return emc > 1 ? emc : 1;
    }
    return 1;
  }
}

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

@Override
public ItemStack planUsed(ItemStack plan, ItemStack result) {
  plan.setItemDamage(plan.getItemDamage() + result.getCount());
  if (plan.getItemDamage() >= plan.getMaxDamage()) {
    return ItemStack.EMPTY;
  } else {
    return plan;
  }
}

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

public static ItemStack create(final IGene gene) {
  final ItemStack item = new ItemStack(ModuleCore.itemSerumArray);
  item.setItemDamage(item.getMaxDamage());
  final GeneArrayItem seq = new GeneArrayItem(gene);
  seq.writeToItem(item);
  return item;
}

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

public static ItemStack create(final IGene gene, final boolean sequenced) {
  final ItemStack item = new ItemStack(ModuleCore.itemSequencer);
  item.setItemDamage(sequenced ? 0 : item.getMaxDamage());
  final SequencerItem seq = new SequencerItem(gene);
  seq.writeToItem(item);
  return item;
}

代码示例来源:origin: P3pp3rF1y/AncientWarfare2

private void damageHelmet(ItemStack helmet) {
  if (helmet.isItemStackDamageable()) {
    helmet.setItemDamage(helmet.getItemDamage() + rand.nextInt(2));
    if (helmet.getItemDamage() >= helmet.getMaxDamage()) {
      renderBrokenItemStack(helmet);
      setItemStackToSlot(EntityEquipmentSlot.HEAD, ItemStack.EMPTY);
    }
  }
}

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

private void damageTool(@Nonnull ItemStack tool, int toolIndex) {
 if (Prep.isValid(tool) && tool.isItemStackDamageable()) {
  tool.damageItem(1, getFakePlayer());
  if (tool.getItemDamage() >= tool.getMaxDamage()) {
   tool.shrink(1);
  }
  markDirty();
 }
}

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

@Override
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) {
  ItemStack stack = player.getHeldItem(hand);
  int remainingUses = stack.getMaxDamage() - stack.getItemDamage();
  if (remainingUses <= 0) {
    NBTHelper.checkNBT(stack);
    stack.getTagCompound().setBoolean("empty", true);
    return new ActionResult<>(EnumActionResult.PASS, stack);
  }
  player.setActiveHand(hand);
  return new ActionResult<>(EnumActionResult.SUCCESS, stack);
}

相关文章

微信公众号

最新文章

更多

ItemStack类方法