- Баллы
- 66
Приветствую! Столкнулся с такой проблемой: у меня есть некоторый ресурс (Мифриловая руда), и мне нужно переплавить ее в слитки.
Собственно, необходимо, чтобы только железная руда с meta.setDisplayName(ChatColor.AQUA + "Мифриловая руда"); после обработки превращалась в мифриловые слитки, а не вся. И, самое главное, требуется задействовать эти новые слитки в крафтах. Поискал в интернете, некоторые говорят, что нужно использовать PrepareItemCraftEvent (Голову всю сломал, но так и не понял, как это работает), некоторые, что можно через ItemStack. Однако, четкого ответа не нашел. Знающие люди, пожалуйста, помогите. Предупрежу сразу, плагины начал писать совсем недавно, потому могут быть глупые вопросы. Заранее благодарю!
PHP:
@EventHandler
public void onBlockBreak1(BlockBreakEvent e) {
Block block = e.getBlock();
Player p = e.getPlayer();
if (block.getType() == Material.GOLD_ORE && p.getInventory().getItemInMainHand().getType() == Material.NETHERITE_PICKAXE) {
Location location = block.getLocation();
ItemStack mo = new ItemStack(Material.GOLD_ORE);
ItemMeta meta = mo.getItemMeta();
meta.setDisplayName(ChatColor.AQUA + "Мифриловая руда");
mo.setItemMeta(meta);
e.setDropItems(false);
location.getWorld().dropItemNaturally(location, mo);
}