@Override
 public void setItemName(Material item, String name) {
   customNames.put(item.getRawId(), item.getRawData(), name);
   for (Player player : Bukkit.getServer().getOnlinePlayers()) {
     if (player instanceof SpoutCraftPlayer) {
       if (((SpoutPlayer) player).isSpoutCraftEnabled()) {
         ((SpoutPlayer) player)
             .sendPacket(new PacketItemName(item.getRawId(), (short) item.getRawData(), name));
       }
     }
   }
 }
 public Ingredient(String ingredient, UltraItems instance) throws Exception {
   this.ingredient = ingredient;
   plugin = instance;
   String[] item = null;
   try {
     item = ingredient.split("[:,;-]");
     if (item.length >= 1) {
       itemid = Integer.decode(item[0]);
       if (item.length >= 2) {
         itemdata = Integer.decode(item[1]);
         if (item.length >= 3) {
           amount = Integer.decode(item[2]);
         }
       }
     }
     material = MaterialData.getMaterial(itemid, getData());
   } catch (Exception e) {
     if (plugin.itemManager.getItem(ingredient) != null) {
       material = plugin.itemManager.getItem(ingredient).getCustomItem();
       itemid = material.getRawId();
       itemdata = material.getRawData();
     }
   }
   if (material == null) {
     throw new DataFormatException("Ingredient \"" + ingredient + "\" doesn't exist");
   }
 }
 @Override
 public void resetName(Material item) {
   int id = item.getRawId();
   int data = item.getRawData();
   if (customNames.containsKey(id, data)) {
     customNames.remove(id, data);
     for (Player player : Bukkit.getServer().getOnlinePlayers()) {
       if (player instanceof SpoutCraftPlayer) {
         if (((SpoutPlayer) player).isSpoutCraftEnabled()) {
           ((SpoutPlayer) player).sendPacket(new PacketItemName(id, (short) data, "[reset]"));
         }
       }
     }
   }
 }