я не могу зачаровать результат пользовательского рецепта крафта

#plugins #minecraft

Вопрос:

Привет, я пытаюсь создать этот плагин, где, когда кто-нибудь создаст этот пользовательский рецепт, это будет лист бумаги, на котором есть чары, вот пример(без чар):

         ItemStack item = new ItemStack(Material.PAPER, 1);
        
        ShapedRecipe recipe = new ShapedRecipe(item);
        
        recipe.shape("^amp;^", "%#%", "^%^");
        
        recipe.setIngredient('^', Material.NETHERITE_SCRAP);
        recipe.setIngredient('amp;', Material.DIAMOND);
        recipe.setIngredient('%', Material.GOLDEN_APPLE);
        recipe.setIngredient('#', Material.NETHERITE_INGOT);
        
        
        
        this.getServer().addRecipe(recipe);
 

это прекрасно работает, но каждый раз, когда я пытаюсь зачаровать его, весь рецепт создания не работает.
пример:

 ItemStack item = new ItemStack(Material.PAPER, 1);
        
        ShapedRecipe recipe = new ShapedRecipe(item);
        
        recipe.shape("^amp;^", "%#%", "^%^");
        
        recipe.setIngredient('^', Material.NETHERITE_SCRAP);
        recipe.setIngredient('amp;', Material.DIAMOND);
        recipe.setIngredient('%', Material.GOLDEN_APPLE);
        recipe.setIngredient('#', Material.NETHERITE_INGOT);
        
        recipe.getResult().addEnchantment(Enchantment.LUCK, 1);
        
        this.getServer().addRecipe(recipe);
 

Комментарии:

1. я обнаружил, что вам нужно изменить заклинания внутри элемента: bukkit.org/threads/…

Ответ №1:

Зачаруйте перед началом рецепта :

 ItemStack item = new ItemStack(Material.PAPER, 1);
ItemMeta meta = item.getItemMeta();
meta.addEnchant(Enchantement.LUCK, 1); // add enchant
item.setItemMeta(meta);

ShapedRecipe recipe = new ShapedRecipe(item); // now starting recipe creation

recipe.shape("^amp;^", "%#%", "^%^");
        
recipe.setIngredient('^', Material.NETHERITE_SCRAP);
recipe.setIngredient('amp;', Material.DIAMOND);
recipe.setIngredient('%', Material.GOLDEN_APPLE);
recipe.setIngredient('#', Material.NETHERITE_INGOT);

this.getServer().addRecipe(recipe);