本文整理了Java中net.minecraft.item.ItemStack.getMaxDamage()
方法的一些代码示例,展示了ItemStack.getMaxDamage()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ItemStack.getMaxDamage()
方法的具体详情如下:
包路径:net.minecraft.item.ItemStack
类名称: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);
}
内容来源于网络,如有侵权,请联系作者删除!