我如何在食谱中使用 itemStack
how do i use itemStack in recipe
我正在使用 1.16 spigot API 制作一个插件,但我一直试图在配方中获取 itemStack。我使用的是 1.8 spigot API,但当我意识到我需要第三方 API 或制作我自己的制作系统时,我选择从 1.8 更改为 1.16
食谱
NamespacedKey key = new NamespacedKey(this, "emerald_sword");
ShapedRecipe recipe = new ShapedRecipe(key, sword);
recipe.shape(" E ", " E ", " S ");
recipe.setIngredient('E', RecipeChoice.ExactChoice(enchantedEmerald));// part not working
recipe.setIngredient('S', Material.STICK);
Bukkit.addRecipe(recipe);
翡翠剑
ItemStack sword = new ItemStack( Material.DIAMOND_SWORD );
ItemMeta IM = sword.getItemMeta();
IM.setDisplayName(ChatColor.GREEN + "Emerald Sword" );
sword.setItemMeta( IM );
sword.addEnchantment( Enchantment.DAMAGE_ALL, 5 );
魔法绿宝石
ItemStack enchantedEmerald = new ItemStack( Material.EMERALD );
ItemMeta EEM = enchantedEmerald.getItemMeta();
EEM.setDisplayName("enchanted Emerald");
ArrayList<String> lore = new ArrayList<String>();
lore.add("enchanted Emeralds is an rare material");
EEM.setLore(lore);
enchantedEmerald.setItemMeta(EEM);
顺序是翡翠剑、附魔翡翠和配方
如何在食谱中使用 itemStack?
你可以使用这个:https://gist.github.com/MrMaurice211/6b2f8d0909900efe3f4383030ea781e6
这应该有效:
ShapedRegister recipe = new ShapedRegister(ItemStack);
recipe.shape(" E ", " E ", " S ");
recipe.setIngredient("E", RecipeChoice.ExactChoice(enchantedEmerald));
recipe.setIngredient("S", Material.STICK);
recipe.register();
来源:https://www.spigotmc.org/threads/spigot-recipe-with-itemstack.284800/
所以...你的第一个代码对我来说很有效。我正在使用 1.18 龙头 API.
我正在使用 1.16 spigot API 制作一个插件,但我一直试图在配方中获取 itemStack。我使用的是 1.8 spigot API,但当我意识到我需要第三方 API 或制作我自己的制作系统时,我选择从 1.8 更改为 1.16
食谱
NamespacedKey key = new NamespacedKey(this, "emerald_sword");
ShapedRecipe recipe = new ShapedRecipe(key, sword);
recipe.shape(" E ", " E ", " S ");
recipe.setIngredient('E', RecipeChoice.ExactChoice(enchantedEmerald));// part not working
recipe.setIngredient('S', Material.STICK);
Bukkit.addRecipe(recipe);
翡翠剑
ItemStack sword = new ItemStack( Material.DIAMOND_SWORD );
ItemMeta IM = sword.getItemMeta();
IM.setDisplayName(ChatColor.GREEN + "Emerald Sword" );
sword.setItemMeta( IM );
sword.addEnchantment( Enchantment.DAMAGE_ALL, 5 );
魔法绿宝石
ItemStack enchantedEmerald = new ItemStack( Material.EMERALD );
ItemMeta EEM = enchantedEmerald.getItemMeta();
EEM.setDisplayName("enchanted Emerald");
ArrayList<String> lore = new ArrayList<String>();
lore.add("enchanted Emeralds is an rare material");
EEM.setLore(lore);
enchantedEmerald.setItemMeta(EEM);
顺序是翡翠剑、附魔翡翠和配方
如何在食谱中使用 itemStack?
你可以使用这个:https://gist.github.com/MrMaurice211/6b2f8d0909900efe3f4383030ea781e6 这应该有效:
ShapedRegister recipe = new ShapedRegister(ItemStack);
recipe.shape(" E ", " E ", " S ");
recipe.setIngredient("E", RecipeChoice.ExactChoice(enchantedEmerald));
recipe.setIngredient("S", Material.STICK);
recipe.register();
来源:https://www.spigotmc.org/threads/spigot-recipe-with-itemstack.284800/
所以...你的第一个代码对我来说很有效。我正在使用 1.18 龙头 API.