создаю плагин для соединения конфликтных зачарований (по типу защита + огнеупорность), если соединять книги то в результайтеме только зачарование из первой книги, а если броню соединять то на айтеме все нужные зачарования, но предмет нельзя взять
@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);
}
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);
}