Advertisement
riking

Untitled

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