Вопрос Конфликтные зачарования

Версия Minecraft
1.16.X

ma1ns

Пользователь
Сообщения
7
создаю плагин для соединения конфликтных зачарований (по типу защита + огнеупорность), если соединять книги то в результайтеме только зачарование из первой книги, а если броню соединять то на айтеме все нужные зачарования, но предмет нельзя взять
@EventHandler(priority = EventPriority.HIGHEST)
public void onPrepareAnvil(PrepareAnvilEvent event) {
ItemStack leftItem = event.getInventory().getItem(0);
ItemStack rightItem = event.getInventory().getItem(1);
if (leftItem == null || rightItem == null || leftItem.getType() != rightItem.getType()) {
return;
}

net.minecraft.server.v1_16_R3.ItemStack resultNMS = CraftItemStack.asNMSCopy(leftItem);

for (Map.Entry<Enchantment, Integer> entry : rightItem.getEnchantments().entrySet()) {
Enchantment ench = entry.getKey();
int level = entry.getValue();

resultNMS.addEnchantment(CraftEnchantment.getRaw(ench), level);
}

ItemStack resultItem = CraftItemStack.asBukkitCopy(resultNMS);

event.setResult(resultItem);
}
 
  • Мне нравится (+1)
Реакции: qwq
JavaScript:
@EventHandler(priority = EventPriority.HIGHEST)
public void onPrepareAnvil(PrepareAnvilEvent event) {
    ItemStack leftItem = event.getInventory().getItem(0);
    ItemStack rightItem = event.getInventory().getItem(1);
    if (leftItem == null || rightItem == null || leftItem.getType() != rightItem.getType()) {
        return;
    }

    net.minecraft.server.v1_16_R3.ItemStack resultNMS = CraftItemStack.asNMSCopy(leftItem);

    for (Map.Entry<Enchantment, Integer> entry : leftItem.getEnchantments().entrySet()) {
        Enchantment ench = entry.getKey();
        int level = entry.getValue();

        resultNMS.addEnchantment(CraftEnchantment.getRaw(ench), level);
    }

    for (Map.Entry<Enchantment, Integer> entry : rightItem.getEnchantments().entrySet()) {
        Enchantment ench = entry.getKey();
        int level = entry.getValue();

        resultNMS.addEnchantment(CraftEnchantment.getRaw(ench), level);
    }

    ItemStack resultItem = CraftItemStack.asBukkitCopy(resultNMS);

    event.setResult(resultItem);
}
 
Назад
Сверху Снизу