Advertisement
Guest User

Untitled

a guest
Aug 1st, 2013
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.94 KB | None | 0 0
  1.  
  2. package com.applecraftserver.aprx.minecave.zombiewaves;
  3.  
  4. import com.applecraftserver.aprx.minecave.zombiewaves.files.ItemAliases;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. import java.util.Map.Entry;
  8. import org.bukkit.Material;
  9. import org.bukkit.configuration.ConfigurationSection;
  10. import org.bukkit.enchantments.Enchantment;
  11. import org.bukkit.inventory.ItemStack;
  12. import org.bukkit.inventory.meta.ItemMeta;
  13.  
  14. /**
  15.  *
  16.  * @author aprx
  17.  */
  18. public class ItemParser {
  19.     private static MCZombieWaves plugin;
  20.    
  21.     public ItemParser(MCZombieWaves pl) {
  22.         plugin = pl;
  23.     }
  24.    
  25.     public static ItemStack[] parse(ConfigurationSection section) {
  26.         ItemAliases items = plugin.getItems();
  27.         List<ItemStack> toReturn = new ArrayList();
  28.         for (String rootitem : section.getKeys(false)) {
  29.             if (rootitem.equalsIgnoreCase("air")) {
  30.                 toReturn.add(new ItemStack(Material.AIR));
  31.                 continue;
  32.             }
  33.             if (items.getItemByAlias(rootitem) == null)
  34.                 continue;
  35.             ItemStack item = items.getItemByAlias(rootitem);
  36.             item.setAmount(section.getInt(rootitem + ".count", 1));
  37.             ItemMeta meta = item.getItemMeta();
  38.             meta.setLore(section.getStringList(rootitem + ".lore"));
  39.             if (section.isSet(rootitem + ".name"))
  40.                 meta.setDisplayName(section.getString(rootitem + ".name"));
  41.             if (section.isSet(rootitem + ".ench")) {
  42.                 for (Entry ench : section.getConfigurationSection(rootitem + ".ench").getValues(false).entrySet()) {
  43.                     if (Enchantment.getByName(ench.getKey().toString()) == null)
  44.                         continue;
  45.                     try {
  46.                         Integer.parseInt(ench.getValue().toString());
  47.                     } catch (Exception e) {
  48.                         continue;
  49.                     }
  50.                     item.addUnsafeEnchantment(Enchantment.getByName(ench.getKey().toString()), Integer.parseInt(ench.getValue().toString()));
  51.                 }
  52.             }
  53.             item.setDurability((short) section.getInt(rootitem + ".damage", 0));
  54.             item.setItemMeta(meta);
  55.             toReturn.add(item);
  56.         }
  57.        
  58.        
  59.         return (ItemStack[]) toReturn.toArray();
  60.     }
  61.    
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement