@Override public ItemStack getCraftingResult(InventoryCrafting var1) { ItemStack out = output.copy(); for (int i = 0; i < var1.getSizeInventory(); i++) { ItemStack stack = var1.getStackInSlot(i); if (!stack.isEmpty() && stack.getItem() instanceof ItemArmor && stack.hasTagCompound()) { EnchantmentHelper.setEnchantments(EnchantmentHelper.getEnchantments(stack), out); if(Botania.thaumcraftLoaded) HelmRevealingRecipe.copyTCData(stack, out); break; } } return out; } }
@Nullable @Override public ItemStack getExample() { ItemStack stack = new ItemStack(Items.DIAMOND_HOE); EnchantmentHelper.setEnchantments(Collections.singletonMap(Enchantments.UNBREAKING, 5), stack); return stack; } }
/** * Get the crafting result of this pickaxe. * It has fortune X by default. * @return The pickaxe with enchantment. */ public static ItemStack createCraftingResult() { ItemStack pickaxe = new ItemStack(VengeancePickaxe.getInstance()); Map<Enchantment, Integer> enchantments = Maps.newHashMap(); enchantments.put(Enchantments.FORTUNE, VengeancePickaxeConfig.fortuneLevel); enchantments.put(EnchantmentVengeance.getInstance(), VengeancePickaxeConfig.vengeanceLevel); EnchantmentHelper.setEnchantments(enchantments, pickaxe); return pickaxe; }
@Override public void transformHook(ItemStack stack, IBlockState state, BlockPos pos, IAtomicReconstructor tile) { for(Map.Entry<Enchantment,Integer> e : EnchantmentHelper.getEnchantments(stack).entrySet()) { ItemStack book = new ItemStack(Items.ENCHANTED_BOOK); Map<Enchantment, Integer> ench = ImmutableMap.of(e.getKey(), e.getValue()); EnchantmentHelper.setEnchantments(ench, book); Block.spawnAsEntity(tile.getWorldObject(), pos, book); } }
@Nonnull @Override public ItemStack setTier(@Nonnull ItemStack stack, TIER tier) { NBTTagCompound nbt = UtilLib.checkNBT(stack); nbt.setString("tier", tier.name()); Map<Enchantment, Integer> map = new HashMap<>(); map.put(Enchantments.KNOCKBACK, getKnockback(tier)); EnchantmentHelper.setEnchantments(map, stack); return stack; }
@Override @Nonnull public ItemStack[] getMatchingStacks() { if (stacks != null) return stacks; if (enchantment.type == null) return stacks = new ItemStack[0]; // Find any item which matches this predicate ArrayList<ItemStack> stacks = new ArrayList<>(); for (Item item : Item.REGISTRY) { if (enchantment.type != null && enchantment.type.canEnchantItem(item)) { for (int level = minLevel; level <= enchantment.getMaxLevel(); level++) { ItemStack stack = new ItemStack(item); EnchantmentHelper.setEnchantments(Collections.singletonMap(enchantment, level), stack); stacks.add(stack); } } } return this.stacks = stacks.toArray(new ItemStack[stacks.size()]); }
@Override public void getSubItems(@Nonnull CreativeTabs tab, @Nonnull NonNullList<ItemStack> items) { if (this.isInCreativeTab(tab)) { ItemStack stack = new ItemStack(this); if (getLiqueurType() != LiqueurTypes.NORMAL) EnchantmentHelper.setEnchantments(Collections.singletonMap(Enchantments.UNBREAKING, 1), stack); items.add(stack); } }
private static void getBookEnchantmentRecipes(List<IRecipeWrapper> recipes, IVanillaRecipeFactory vanillaRecipeFactory, Enchantment enchantment, ItemStack ingredient) { Item item = ingredient.getItem(); List<ItemStack> perLevelBooks = Lists.newArrayList(); List<ItemStack> perLevelOutputs = Lists.newArrayList(); for (int level = 1; level <= enchantment.getMaxLevel(); level++) { Map<Enchantment, Integer> enchMap = Collections.singletonMap(enchantment, level); ItemStack bookEnchant = ENCHANTED_BOOK.copy(); EnchantmentHelper.setEnchantments(enchMap, bookEnchant); if (item.isBookEnchantable(ingredient, bookEnchant)) { perLevelBooks.add(bookEnchant); ItemStack withEnchant = ingredient.copy(); EnchantmentHelper.setEnchantments(enchMap, withEnchant); perLevelOutputs.add(withEnchant); } } if (!perLevelBooks.isEmpty() && !perLevelOutputs.isEmpty()) { IRecipeWrapper anvilRecipe = vanillaRecipeFactory.createAnvilRecipe(ingredient, perLevelBooks, perLevelOutputs); recipes.add(anvilRecipe); } }
public ItemStack makeEnchantedBook() { if (this.isEmpty()) { return ItemStack.EMPTY; } ItemStack stack = new ItemStack(Items.ENCHANTED_BOOK); Map<Enchantment, Integer> enchMap = new HashMap<Enchantment, Integer>(); enchMap.put(this.getEnch(), this.getLevel()); EnchantmentHelper.setEnchantments(enchMap, stack); return stack; } }
private ItemStack setRemainingEnchantmentsOnPurifiedItem(Map<Enchantment, Integer> enchantments, Enchantment enchantment, ItemStack purifyItem) { Map<Enchantment, Integer> remainingEnchantments = Maps.newHashMap(enchantments); remainingEnchantments.remove(enchantment); // Hardcoded conversion to a regular book when enchantment list of enchanted book is empty. if (remainingEnchantments.isEmpty() && purifyItem.getItem() == Items.ENCHANTED_BOOK) { purifyItem = new ItemStack(Items.BOOK); } if (purifyItem.hasTagCompound() && purifyItem.getTagCompound().hasKey("StoredEnchantments")) { purifyItem.getTagCompound().removeTag("StoredEnchantments"); } EnchantmentHelper.setEnchantments(remainingEnchantments, purifyItem); return purifyItem; } }
EnchantmentHelper.setEnchantments(enchants, stack);
private void makeOutput() { if(world.isRemote) return; setInventorySlotContents(2, ItemStack.EMPTY); ItemStack in = getStackInSlot(0); if(!in.isEmpty() && matrix != null && !matrix.placedPieces.isEmpty()) { ItemStack out = in.copy(); boolean book = false; if(out.getItem() == Items.BOOK) { out = new ItemStack(Items.ENCHANTED_BOOK); book = true; } Map<Enchantment, Integer> enchantments = new HashMap(); for(int i : matrix.placedPieces) { Piece p = matrix.pieces.get(i); for(Enchantment o : enchantments.keySet()) if(o == p.enchant || !p.enchant.isCompatibleWith(o) || !o.isCompatibleWith(p.enchant)) return; // Incompatible enchantments.put(p.enchant, p.level); } if(book) for(Entry<Enchantment, Integer> e : enchantments.entrySet()) ItemEnchantedBook.addEnchantment(out, new EnchantmentData(e.getKey(), e.getValue())); else { EnchantmentHelper.setEnchantments(enchantments, out); out.getTagCompound().removeTag(TAG_STACK_MATRIX); } setInventorySlotContents(2, out); } }
EnchantmentHelper.setEnchantments(enchants, inputCopy);
EnchantmentHelper.setEnchantments(outEnchants, eBook);//add to book EnchantmentHelper.setEnchantments(enchants, inputCopy);//set as remove dropStack(inputCopy); EnchantmentHelper.setEnchantments(enchants, input);//set as removed dropStack(input);
public void setContainedArmourStack(ItemStack newArmour, ItemStack previousArmour) { if (newArmour == null || previousArmour == null) { return; } NBTTagCompound tag = new NBTTagCompound(); previousArmour.writeToNBT(tag); NBTTagCompound omegaTag = newArmour.getTagCompound(); if (omegaTag == null) { omegaTag = new NBTTagCompound(); newArmour.setTagCompound(omegaTag); } omegaTag.setTag("armour", tag); Map<Enchantment, Integer> enchantmentMap = EnchantmentHelper.getEnchantments(previousArmour); EnchantmentHelper.setEnchantments(enchantmentMap, newArmour); }
if (hasMatching) { ItemStack out = left.copy(); EnchantmentHelper.setEnchantments(currentEnchants, out); String name = event.getName(); int cost = applyTomeCost;
EnchantmentHelper.setEnchantments(Maps.<Enchantment, Integer> newLinkedHashMap(), input); if (input.getTagCompound().getSize() == 0) {
EnchantmentHelper.setEnchantments(map, itemstack1);
} else if (Enchantments.MENDING.canApply(stack)) { enchantedStack = stack.copy(); EnchantmentHelper.setEnchantments(enchMap, enchantedStack); } else { continue;
EnchantmentHelper.setEnchantments(currentEnchantments, event.getOutput()); } else { event.setOutput(event.getLeft().copy());