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