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() + "'"); }