org.bukkit.inventory.ItemStack.containsEnchantment()方法的使用及代码示例

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

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

ItemStack.containsEnchantment介绍

[英]Checks if this ItemStack contains the given Enchantment
[中]检查此ItemStack是否包含给定的附魔

代码示例

代码示例来源:origin: GlowstoneMC/Glowstone

@Override
public Collection<ItemStack> getDrops(GlowBlock block, ItemStack tool) {
  // TODO: Implement Silk Touch
  ThreadLocalRandom random = ThreadLocalRandom.current();
  int count = minCount;
  if (maxCount > minCount) {
    count += random.nextInt(maxCount - minCount);
  }
  ItemStack stack = new ItemStack(dropType, count, (short) data);
  if (tool == null) {
    return Collections.unmodifiableList(Arrays.asList(stack));
  }
  Collection<ItemStack> drops = super.getDrops(block, tool);
  if (drops.size() == 0) {
    return drops;
  }
  if (tool.containsEnchantment(Enchantment.LOOT_BONUS_BLOCKS)) {
    stack.setAmount(count * getMultiplicator(random,
      tool.getEnchantmentLevel(Enchantment.LOOT_BONUS_BLOCKS)));
  }
  return Collections.unmodifiableList(Arrays.asList(stack));
}

代码示例来源:origin: GlowstoneMC/Glowstone

if (bow.containsEnchantment(Enchantment.ARROW_INFINITE)) {
  consumeArrow = false;
    Math.max(5, chargeFraction * MAX_SPEED)));
if (bow.containsEnchantment(Enchantment.ARROW_FIRE)) {

代码示例来源:origin: GlowstoneMC/Glowstone

if (itemInHand.containsEnchantment(Enchantment.FIRE_ASPECT)) {
  target.setFireTicks(target.getFireTicks()
    + itemInHand.getEnchantmentLevel(Enchantment.FIRE_ASPECT) * 80);
if (itemInHand.containsEnchantment(Enchantment.DAMAGE_ALL)) {
if (itemInHand.containsEnchantment(Enchantment.DAMAGE_ARTHROPODS)) {
if (itemInHand.containsEnchantment(Enchantment.DAMAGE_UNDEAD)) {

代码示例来源:origin: eccentricdevotion/TARDIS

private void removeSonicEnchant(PlayerInventory inv) {
  int first = inv.first(sonic);
  if (first < 0) {
    return;
  }
  ItemStack stack = inv.getItem(first);
  if (stack.containsEnchantment(Enchantment.DURABILITY)) {
    stack.getEnchantments().keySet().forEach(stack::removeEnchantment);
  }
}

代码示例来源:origin: mcMMO-Dev/mcMMO

private float calculateRollXP(Player player, double damage, boolean isRoll) {
  ItemStack boots = player.getInventory().getBoots();
  float xp = (float) (damage * (isRoll ? ExperienceConfig.getInstance().getRollXPModifier() : ExperienceConfig.getInstance().getFallXPModifier()));
  if (boots != null && boots.containsEnchantment(Enchantment.PROTECTION_FALL)) {
    xp *= ExperienceConfig.getInstance().getFeatherFallXPModifier();
  }
  return xp;
}

代码示例来源:origin: PyvesB/AdvancedAchievements

@SuppressWarnings("deprecation")
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onBlockBreak(BlockBreakEvent event) {
  Player player = event.getPlayer();
  boolean silkTouchBreak = (serverVersion >= 9
      && player.getInventory().getItemInMainHand().containsEnchantment(Enchantment.SILK_TOUCH))
      || serverVersion < 9 && player.getItemInHand().containsEnchantment(Enchantment.SILK_TOUCH);
  if (!shouldIncreaseBeTakenIntoAccountNoPermissions(player) || disableSilkTouchBreaks && silkTouchBreak) {
    return;
  }
  Block block = event.getBlock();
  if (disableSilkTouchOreBreaks && silkTouchBreak && isOre(block.getType().name())) {
    return;
  }
  MultipleAchievements category = MultipleAchievements.BREAKS;
  String blockName = block.getType().name().toLowerCase();
  if (!player.hasPermission(category.toPermName() + '.' + blockName)) {
    return;
  }
  Set<String> foundAchievements = findAchievementsByCategoryAndName(
      category, blockName + ':' + block.getState().getData().toItemStack().getDurability());
  foundAchievements.addAll(findAchievementsByCategoryAndName(category, blockName));
  foundAchievements.forEach(achievement -> updateStatisticAndAwardAchievementsIfAvailable(player, category,
      achievement, 1));
}

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

if (itemInHand.containsEnchantment(Enchantment.DIG_SPEED)) {
  efficiency = itemInHand.getEnchantmentLevel(Enchantment.DIG_SPEED);

代码示例来源:origin: mcMMO-Dev/mcMMO

public static void removeAbilityBuff(ItemStack item) {
  if (item == null || item.getType() == Material.AIR || (!ItemUtils.isPickaxe(item) && !ItemUtils.isShovel(item)) || !item.containsEnchantment(Enchantment.DIG_SPEED)) {
    return;
  }
  ItemMeta itemMeta = item.getItemMeta();
  if (itemMeta.hasLore()) {
    List<String> itemLore = itemMeta.getLore();
    if (itemLore.remove("mcMMO Ability Tool")) {
      int efficiencyLevel = item.getEnchantmentLevel(Enchantment.DIG_SPEED);
      if (efficiencyLevel <= AdvancedConfig.getInstance().getEnchantBuff()) {
        itemMeta.removeEnchant(Enchantment.DIG_SPEED);
      }
      else {
        itemMeta.addEnchant(Enchantment.DIG_SPEED, efficiencyLevel - AdvancedConfig.getInstance().getEnchantBuff(), true);
      }
      itemMeta.setLore(itemLore);
      item.setItemMeta(itemMeta);
    }
  }
}

代码示例来源:origin: mcMMO-Dev/mcMMO

@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onEntityShootBow(EntityShootBowEvent event) {
  /* WORLD BLACKLIST CHECK */
  if(WorldBlacklist.isWorldBlacklisted(event.getEntity().getWorld()))
    return;
  if(event.getEntity() instanceof Player)
  {
    Player player = (Player) event.getEntity();
    /* WORLD GUARD MAIN FLAG CHECK */
    if(WorldGuardUtils.isWorldGuardLoaded())
    {
      if(!WorldGuardManager.getInstance().hasMainFlag(player))
        return;
    }
  }
  Entity projectile = event.getProjectile();
  if (!(projectile instanceof Arrow)) {
    return;
  }
  ItemStack bow = event.getBow();
  if (bow != null && bow.containsEnchantment(Enchantment.ARROW_INFINITE)) {
    projectile.setMetadata(mcMMO.infiniteArrowKey, mcMMO.metadataValue);
  }
  projectile.setMetadata(mcMMO.bowForceKey, new FixedMetadataValue(plugin, Math.min(event.getForce() * AdvancedConfig.getInstance().getForceMultiplier(), 1.0)));
  projectile.setMetadata(mcMMO.arrowDistanceKey, new FixedMetadataValue(plugin, projectile.getLocation()));
}

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

return getBreakingDuration(blockId, itemInHand, onGround, inWater, helmet != null && helmet.containsEnchantment(Enchantment.WATER_WORKER), Double.isInfinite(haste) ? 0 : 1 + (int) haste);

代码示例来源:origin: mcMMO-Dev/mcMMO

boolean silkTouch = player.getInventory().getItemInMainHand().containsEnchantment(Enchantment.SILK_TOUCH);

代码示例来源:origin: mcmonkeyprojects/Sentinel

if (getNPC().getTrait(Inventory.class).getContents()[0].containsEnchantment(Enchantment.ARROW_FIRE)) {
  arrow.setFireTicks(10000);

代码示例来源:origin: mcMMO-Dev/mcMMO

else if (!heldItem.containsEnchantment(Enchantment.SILK_TOUCH)) {
  SmeltingManager smeltingManager = UserManager.getPlayer(player).getSmeltingManager();

相关文章