public IntegrationPrismEvents() { try { Prism.getActionRegistry() .registerCustomAction( FactionsPlus.get(), new ActionType( "factions-p-claim", false, false, false, "FactionLandClaim", "land claimed")); Prism.getActionRegistry() .registerCustomAction( FactionsPlus.get(), new ActionType( "factions-p-unclaim", false, false, false, "FactionLandUnclaim", "land unclaimed")); Prism.getActionRegistry() .registerCustomAction( FactionsPlus.get(), new ActionType( "factions-p-create", false, false, false, "FactionCreate", "faction created")); Prism.getActionRegistry() .registerCustomAction( FactionsPlus.get(), new ActionType( "factions-p-disband", false, false, false, "FactionDisband", "faction disbanded")); Prism.getActionRegistry() .registerCustomAction( FactionsPlus.get(), new ActionType( "factions-p-join", false, false, false, "FactionJoin", "join faction")); } catch (InvalidActionException e) { FactionsPlus.get() .log("<red>Warning: Please add 'FactionsPlus' to your Prism config.yml file"); FactionsPlus.get().log("<red> in the prism.tracking.api.allowed-plugins list."); } }
public static String getClosestAction(String action) { String currentTopAction = ""; int currentTopActionDistance = Integer.MAX_VALUE; int distance; String act; for (String possibleAct : Prism.getActionRegistry().listAll()) { act = possibleAct.toLowerCase(); distance = LevenshteinDistance.computeLevenshteinDistance(action, act); currentTopAction = (currentTopAction.isEmpty() ? act : currentTopActionDistance > distance ? act : currentTopAction); currentTopActionDistance = (currentTopAction.equals(act) ? distance : currentTopActionDistance); } return currentTopAction; }