public AbilityInfo getInfo(String name) {
   for (AbilityInfo info : abilities) {
     if (name.equalsIgnoreCase(info.getAbility().name())) {
       return info;
     }
   }
   return null;
 }
  /**
   * Register an ability by its class object
   *
   * @param cls the ability class
   */
  private static void register(Class<? extends Ability> cls, boolean announce) {
    AbilityInfo info = cls.getAnnotation(AbilityInfo.class);
    if (info == null) return;

    // Map all the aliases
    for (String alias : info.aliases()) {
      abilities.put(alias, cls);
    }

    // Announce custom abilities
    if (announce) Messenger.info("Loaded custom ability '" + info.name() + "'");
  }