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

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

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

ItemStack.getItemDamage介绍

暂无

代码示例

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

@Nonnull
@Override
public String getTranslationKey(ItemStack stack) {
  return "item." + LibItemNames.LENS_NAMES[Math.min(SUBTYPES - 1, stack.getItemDamage())];
}

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

@Override
  public int getParticleColor(ItemStack stack) {
    return EnumDyeColor.byMetadata(stack.getItemDamage()).colorValue;
  }
}

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

@Override
public void onUpdate(ItemStack stack, World world, Entity player, int par4, boolean par5) {
  if(!world.isRemote && player instanceof EntityPlayer && stack.getItemDamage() > 0 && ManaItemHandler.requestManaExactForTool(stack, (EntityPlayer) player, MANA_PER_DAMAGE * 2, true))
    stack.setItemDamage(stack.getItemDamage() - 1);
}

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

@Nonnull
@Override
public String getTranslationKey(ItemStack stack) {
  return super.getTranslationKey(stack) + stack.getItemDamage();
}

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

@Override
public void onUpdate(ItemStack stack, World world, Entity player, int par4, boolean par5) {
  if(!world.isRemote && player instanceof EntityPlayer && stack.getItemDamage() > 0 && ManaItemHandler.requestManaExactForTool(stack, (EntityPlayer) player, MANA_PER_DAMAGE * 2, true))
    stack.setItemDamage(stack.getItemDamage() - 1);
}

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

@Nonnull
@Override
public ItemStack getContainerItem(@Nonnull ItemStack itemStack) {
  ItemStack stack = itemStack.copy();
  stack.setItemDamage(stack.getItemDamage() + 1);
  return stack;
}

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

@Nonnull
@Override
public ItemStack onItemUseFinish(@Nonnull ItemStack par1ItemStack, World world, EntityLivingBase living) {
  randomEffect(living, par1ItemStack);
  par1ItemStack.setItemDamage(par1ItemStack.getItemDamage() + 1);
  randomSeed(par1ItemStack);
  if(par1ItemStack.getItemDamage() == 6)
    return new ItemStack(Items.GLASS_BOTTLE);
  return par1ItemStack;
}

代码示例来源: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: Vazkii/Botania

@SideOnly(Side.CLIENT)
@Override
public void addInformation(ItemStack stack, World world, List<String> list, ITooltipFlag flags) {
  list.add(I18n.format("botaniamisc.shardLevel", I18n.format("botania.roman" + (stack.getItemDamage() + 1))));
}

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

@Nonnull
@Override
public EnumActionResult onItemUse(EntityPlayer p, World world, BlockPos pos, EnumHand hand, EnumFacing side, float xs, float ys, float zs) {
  TileEntity tile = world.getTileEntity(pos);
  if(tile != null && tile instanceof TileCraftCrate) {
    TileCraftCrate crate = (TileCraftCrate) tile;
    crate.pattern = p.getHeldItem(hand).getItemDamage();
    world.notifyBlockUpdate(pos, world.getBlockState(pos), world.getBlockState(pos), 8);
    return EnumActionResult.SUCCESS;
  }
  return EnumActionResult.PASS;
}

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

@Override
public void onUsingTick(ItemStack stack, EntityLivingBase player, int time) {
  if(!player.world.isRemote) {
    if(time != getMaxItemUseDuration(stack) && time % 5 == 0)
      breakGrass(player.world, stack, stack.getItemDamage(), new BlockPos(player));
    player.world.playSound(null, player.posX, player.posY, player.posZ, SoundEvents.BLOCK_NOTE_BASS, SoundCategory.BLOCKS, 1F, 0.001F);
  }
}

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

@Nonnull
@Override
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, @Nonnull EnumHand hand) {
  ItemStack stack = player.getHeldItem(hand);
  if(getBlock(stack) != null && player.isSneaking()) {
    int dmg = stack.getItemDamage();
    stack.setItemDamage(~dmg & 1);
    player.playSound(SoundEvents.ENTITY_EXPERIENCE_ORB_PICKUP, 0.3F, 0.1F);
    return ActionResult.newResult(EnumActionResult.SUCCESS, stack);
  }
  return ActionResult.newResult(EnumActionResult.PASS, stack);
}

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

@Override
public void onUpdate(ItemStack stack, World world, Entity entity, int something, boolean somethingelse) {
  if(!world.isRemote) {
    int x = MathHelper.floor(entity.posX);
    int z = MathHelper.floor(entity.posZ);
    boolean slime = SubTileNarslimmus.isSlimeChunk(world, x, z);
    int meta = stack.getItemDamage();
    int newMeta = slime ? 1 : 0;
    if(meta != newMeta)
      stack.setItemDamage(newMeta);
  }
}

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

@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack par1ItemStack, World world, List<String> stacks, ITooltipFlag flags) {
  if(par1ItemStack.getItemDamage() == 1)
    addStringToTooltip(I18n.format("botaniamisc.active"), stacks);
  else addStringToTooltip(I18n.format("botaniamisc.inactive"), stacks);
}

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

public static int getStackItemTime(ItemStack stack) {
  if(stack.isEmpty())
    return 0;
  if(stack.getItem() == Item.getItemFromBlock(Blocks.SAND))
    return stack.getItemDamage() == 1 ? 200 : 20;
  if(stack.getItem() == Item.getItemFromBlock(Blocks.SOUL_SAND))
    return 1200;
  if(stack.getItem() == ModItems.manaResource)
    return 1;
  return 0;
}

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

@Override
public boolean collideBurst(IManaBurst burst, RayTraceResult pos, boolean isManaBlock, boolean dead, ItemStack stack) {
  EntityThrowable entity = (EntityThrowable) burst;
  dead = getLens(stack.getItemDamage()).collideBurst(burst, entity, pos, isManaBlock, dead, stack);
  ItemStack compositeLens = getCompositeLens(stack);
  if(!compositeLens.isEmpty() && compositeLens.getItem() instanceof ILens)
    dead = ((ILens) compositeLens.getItem()).collideBurst(burst, pos, isManaBlock, dead, compositeLens);
  return dead;
}

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

public static String stackToString(ItemStack stack, boolean forceIgnore) {
  if(stack.isEmpty())
    return "NULL";
  if(stack.hasTagCompound() && stack.getItem() instanceof IRecipeKeyProvider)
    return ((IRecipeKeyProvider) stack.getItem()).getKey(stack);
  return stack.getTranslationKey() + (forceIgnore || ignoreMeta(stack) ? "" : "~" + stack.getItemDamage());
}

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

@Override
  public void renderByItem(ItemStack stack, float partialTicks) {
    if(stack.getItem() == Item.getItemFromBlock(ModBlocks.pylon)) {
      RenderTilePylon.forceVariant = PylonVariant.values()[MathHelper.clamp(stack.getItemDamage(), 0, PylonVariant.values().length)];
      TileEntityRendererDispatcher.instance.render(DUMMY, 0, 0, 0, partialTicks);
    } else {
      compose.renderByItem(stack, partialTicks);
    }
  }
}

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

public int getColor() {
  ItemStack stack = itemHandler.getStackInSlot(0);
  if(stack.isEmpty())
    return 0;
  if(stack.getItem() == Item.getItemFromBlock(Blocks.SAND))
    return stack.getItemDamage() == 1 ? 0xE95800 : 0xFFEC49;
  if(stack.getItem() == Item.getItemFromBlock(Blocks.SOUL_SAND))
    return 0x5A412f;
  if(stack.getItem() == ModItems.manaResource)
    return 0x03abff;
  return 0;
}

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

@Override
public void apply(ItemStack stack, BurstProperties props) {
  int storedColor = getStoredColor(stack);
  if(storedColor != -1)
    props.color = getLensColor(stack);
  getLens(stack.getItemDamage()).apply(stack, props);
  ItemStack compositeLens = getCompositeLens(stack);
  if(!compositeLens.isEmpty() && compositeLens.getItem() instanceof ILens)
    ((ILens) compositeLens.getItem()).apply(compositeLens, props);
}

相关文章

微信公众号

最新文章

更多

ItemStack类方法