Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class playerListener implements Listener {
- private static HighTierEnchants plugin = (HighTierEnchants)Bukkit.getPluginManager().getPlugin("HighTierEnchants");
- // Handles Custom Anvil Enchantment (Allows unsafe enchants)
- @EventHandler
- public void anvil(PrepareAnvilEvent e) {
- Inventory inv = e.getInventory();
- if (inv.getType() == InventoryType.ANVIL) {
- if (inv.getItem(0) != null && inv.getItem(1) != null) {
- //Logger logger = plugin.getLogger();
- // Check if enchanted book
- if(inv.getItem(0).getType().equals(Material.ENCHANTED_BOOK)) {
- if(inv.getItem(1).getType().equals(Material.ENCHANTED_BOOK)) {
- // 2 Enchanted Books
- ItemStack NewBook = new ItemStack(inv.getItem(0).getType(), 1);
- EnchantmentStorageMeta NewBookESM = (EnchantmentStorageMeta) NewBook.getItemMeta();
- EnchantmentStorageMeta esm0 = (EnchantmentStorageMeta) inv.getItem(0).getItemMeta();
- EnchantmentStorageMeta esm1 = (EnchantmentStorageMeta) inv.getItem(1).getItemMeta();
- if(esm0.hasStoredEnchants() || esm1.hasStoredEnchants()) {
- for ( Entry<Enchantment, Integer> i : esm0.getStoredEnchants().entrySet()) {
- for (Entry<Enchantment, Integer> j : esm1.getStoredEnchants().entrySet()) {
- // Same Enchant
- if (j.getKey() == i.getKey()) {
- if (i.getValue() == j.getValue()) {
- if ((i.getValue() + 1) <= 30) {
- NewBookESM.addStoredEnchant(i.getKey(), i.getValue() + 1, true);
- }else {
- NewBookESM.addStoredEnchant(i.getKey(), i.getValue(), true);
- }
- }else if (i.getValue() > j.getValue()) {
- NewBookESM.addStoredEnchant(i.getKey(), i.getValue(), true);
- }else {
- NewBookESM.addStoredEnchant(i.getKey(), j.getValue(), true);
- }
- }else if (esm0.hasStoredEnchant(j.getKey())){
- // Eventually Will Compare Don't Matter
- }else {
- NewBookESM.addStoredEnchant(j.getKey(), j.getValue(), true);
- }
- }
- if (esm1.hasStoredEnchant(i.getKey())) {
- // Eventually Will Compare Don't Matter
- }else {
- NewBookESM.addStoredEnchant(i.getKey(), i.getValue(), true);
- }
- }
- NewBook.setItemMeta(NewBookESM);
- e.setResult(NewBook);
- }
- }
- }else {
- if (inv.getItem(1).getType().equals(Material.ENCHANTED_BOOK)) {
- ItemStack NewItem = new ItemStack(inv.getItem(0).getType(), 1);
- NewItem.setItemMeta(inv.getItem(0).getItemMeta());
- EnchantmentStorageMeta esm1 = (EnchantmentStorageMeta) inv.getItem(1).getItemMeta();
- if (esm1.hasStoredEnchants()) {
- for ( Entry<Enchantment, Integer> i : esm1.getStoredEnchants().entrySet()) {
- if (inv.getItem(0).containsEnchantment(i.getKey())) {
- if (inv.getItem(0).getEnchantmentLevel(i.getKey()) == i.getValue()) {
- if ((i.getValue() + 1) <= 30) {
- NewItem.addUnsafeEnchantment(i.getKey(), i.getValue() + 1);
- }else {
- NewItem.addUnsafeEnchantment(i.getKey(), i.getValue());
- }
- }else if (inv.getItem(0).getEnchantmentLevel(i.getKey()) > i.getValue()) {
- NewItem.addUnsafeEnchantment(i.getKey(), NewItem.getEnchantmentLevel(i.getKey()));
- }else {
- NewItem.addUnsafeEnchantment(i.getKey(), i.getValue());
- }
- }else {
- NewItem.addUnsafeEnchantment(i.getKey(), i.getValue());
- }
- }
- for ( Entry<Enchantment, Integer> i : inv.getItem(0).getEnchantments().entrySet()) {
- if (esm1.hasStoredEnchant(i.getKey())) {
- // Will Compare Up Top
- }else {
- NewItem.addUnsafeEnchantment(i.getKey(), i.getValue());
- }
- }
- }
- e.setResult(NewItem);
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement