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