List<Material> materials = Arrays.asList(new Material[]{
Material.CHAINMAIL_LEGGINGS, Material.DIAMOND_LEGGINGS, Material.GOLD_LEGGINGS,
Material.IRON_LEGGINGS, Material.LEATHER_LEGGINGS, Material.BOOK
});
@EventHandler
public void enchant(EnchantItemEvent e) {
ItemStack item = e.getItem();
Material m = item.getType();
if (!materials.contains(m)) {
return;
}
int level = e.getExpLevelCost() > 20
? (Math.random() > 0.5 ? 3 : 2)
: (Math.random() > 0.5 ? 2 : 1);
if (m != Material.BOOK) {
item.addEnchantment(EnchantmentManager.TEST_ENCH, level);
} else {
Inventory topInventory = e.getView().getTopInventory();
new BukkitRunnable() {
@Override
public void run() {
DoncPlugin.log(item.getItemMeta().getDisplayName());
EnchantmentStorageMeta meta = (EnchantmentStorageMeta) item.getItemMeta();
meta.addStoredEnchant(EnchantmentManager.TEST_ENCH, level, false);
item.setItemMeta(meta);
topInventory.setItem(0, item);
}
}.runTask(DoncPlugin.instance);
}
ItemMeta meta = item.getItemMeta();
List<String> lore = meta.hasLore() ? meta.getLore() : new ArrayList<>();
lore.add(ChatColor.GRAY + EnchantmentManager.TEST_ENCH.getName() + " "
+ EnchantmentManager.getRomanNumber(level));
meta.setLore(lore);
item.setItemMeta(meta);
}