當前位置: 首頁>>代碼示例>>Java>>正文


Java EnchantmentHelper.setEnchantments方法代碼示例

本文整理匯總了Java中net.minecraft.enchantment.EnchantmentHelper.setEnchantments方法的典型用法代碼示例。如果您正苦於以下問題:Java EnchantmentHelper.setEnchantments方法的具體用法?Java EnchantmentHelper.setEnchantments怎麽用?Java EnchantmentHelper.setEnchantments使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在net.minecraft.enchantment.EnchantmentHelper的用法示例。


在下文中一共展示了EnchantmentHelper.setEnchantments方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: craftRecipe

import net.minecraft.enchantment.EnchantmentHelper; //導入方法依賴的package包/類
@Override
public NonNullList<ItemStack> craftRecipe(ItemStackHandler inputStacks) {
    ItemStack enchantedStack = getDisenchantableItem(inputStacks);
    getBook(inputStacks).shrink(1);
    
    // take a random enchantment off the enchanted item...
    Map<Enchantment, Integer> enchantments = EnchantmentHelper.getEnchantments(enchantedStack);
    List<Enchantment> l = new ArrayList<>(enchantments.keySet());
    Enchantment strippedEnchantment = l.get(new Random().nextInt(l.size()));
    int level = enchantments.get(strippedEnchantment);
    enchantments.remove(strippedEnchantment);
    EnchantmentHelper.setEnchantments(enchantments, enchantedStack);

    // ...and create an enchanted book with it
    ItemStack enchantedBook = new ItemStack(Items.ENCHANTED_BOOK);
    EnchantmentHelper.setEnchantments(ImmutableMap.of(strippedEnchantment, level), enchantedBook);

    return NonNullList.from(ItemStack.EMPTY, enchantedBook);
}
 
開發者ID:TeamPneumatic,項目名稱:pnc-repressurized,代碼行數:20,代碼來源:PressureChamberVacuumEnchantHandler.java

示例2: improveEnchants

import net.minecraft.enchantment.EnchantmentHelper; //導入方法依賴的package包/類
private static boolean improveEnchants(ItemStack item) {
	boolean improved = false;
	Map<Enchantment, Integer> enchantments = EnchantmentHelper.getEnchantments(item);

	if (enchantments.isEmpty()) {
		return false;
	}

	for (Entry<Enchantment, Integer> enchant : enchantments.entrySet()) {
		if (shouldImproveEnchantment(rand, enchant.getKey(), enchant.getValue())) {
			enchantments.put(enchant.getKey(), enchant.getValue() + 1);
			improved = true;
		}
	}

	if (improved) {
		EnchantmentHelper.setEnchantments(enchantments, item);
	}

	return improved;
}
 
開發者ID:ToroCraft,項目名稱:NemesisSystem,代碼行數:22,代碼來源:NemesisUtil.java

示例3: performWork

import net.minecraft.enchantment.EnchantmentHelper; //導入方法依賴的package包/類
@Override
protected float performWork() {
    if (WorkUtils.isDisabled(this.getBlockType())) return 0;
    if (!canWork()) return 0;
    int xp = (int) (getLevels() * 100);
    if (experienceTank.getFluidAmount() >= xp && ItemHandlerHelper.insertItem(outEnchantedItem, inItem.getStackInSlot(0), true).isEmpty()) {
        Map<Enchantment, Integer> mapFirst = EnchantmentHelper.getEnchantments(inEnchantedBook.getStackInSlot(0));
        Map<Enchantment, Integer> mapSecond = EnchantmentHelper.getEnchantments(inItem.getStackInSlot(0));
        for (Enchantment enchantmentFirst : mapFirst.keySet()) {
            if (enchantmentFirst != null) {
                if (mapSecond.containsKey(enchantmentFirst) && mapFirst.get(enchantmentFirst) == mapSecond.get(enchantmentFirst) && mapFirst.get(enchantmentFirst) >= enchantmentFirst.getMaxLevel())
                    return 0;
                int value = mapSecond.containsKey(enchantmentFirst) && mapFirst.get(enchantmentFirst) == mapSecond.get(enchantmentFirst) ? Math.min(mapFirst.get(enchantmentFirst) + 1, enchantmentFirst.getMaxLevel()) : mapFirst.get(enchantmentFirst);
                if (mapSecond.replace(enchantmentFirst, value) == null) {
                    mapSecond.put(enchantmentFirst, value);
                }
            }
        }
        ItemStack stack = inItem.getStackInSlot(0).copy();
        EnchantmentHelper.setEnchantments(mapSecond, stack);
        ItemHandlerHelper.insertItem(outEnchantedItem, stack, false);
        inItem.getStackInSlot(0).setCount(0);
        inEnchantedBook.getStackInSlot(0).setCount(0);
        experienceTank.drain(xp, true);
        return 500;
    }
    return 0;
}
 
開發者ID:Buuz135,項目名稱:Industrial-Foregoing,代碼行數:29,代碼來源:EnchantmentAplicatorTile.java

示例4: removeDuplicateEnchantments

import net.minecraft.enchantment.EnchantmentHelper; //導入方法依賴的package包/類
private static void removeDuplicateEnchantments(ItemStack item) {
	EnchantmentHelper.setEnchantments(EnchantmentHelper.getEnchantments(item), item);
}
 
開發者ID:ToroCraft,項目名稱:NemesisSystem,代碼行數:4,代碼來源:NemesisUtil.java


注:本文中的net.minecraft.enchantment.EnchantmentHelper.setEnchantments方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。