- Using e.g. Factory<Converter> instead of the injector directly makes its purpose more specific and disallows any future abuse of the injector's functions
- Change placement and comment of settings.restrictions.banUnsafedIP to make it clear that it only bans unknown IPs using a restricted username
- Move "MySQL use SSL" option outside of the column options
- Improve how a player is being switched between permission groups (add new group before removing old one)
- Remove group handling logic from LimboCache: AuthGroupHandler is now solely responsible for changing the player's permission group
- Avoid logging an error if a help_{lang}.yml file does not exist in the JAR
- No longer suggest /authme messages for updating the help translation
- Create consistency test to ensure that all help_{lang}.yml files in the JAR have entries for all help sections / messages / default permissions
- Add easy default methods on PermissionHandler interface (override whenever there's a better way!)
- Change getGroups() signature to return a Collection instead of a List
* #1026 Add more tags for forced commands (lazily replaced)
- Extract lazy replacement of tags to its own class
- Implement wrapper to replace a String property within an object
- Use wrapper in command manager and add new tags
* Make argument type generic in lazy tags util
- Check which tags are used when loading the welcome message and only apply their replacements afterwards
- Moves AuthMe#replaceAllInfo to a more appropriate place
- Avoid fetching data again for each line
* Initial grouping of messages_en.yml (thanks to input by @Twonox)
* Change MessageFileVerifier to only do verification - no writing
* Create classes for sorting and grouping messages as per the messages_en file
- Remove 'reg_voluntarily'
- Remove 'user_unknown' in favor of 'unknown_user' - but move text from old 'user_unknown' to 'unknown_user'
Found by @Twonox
Part 1:
- Use only one message entry for "Please register", that may have to be adapted to reflect the proper /register arguments
- Remove other message entries from code and from the messages files
Breaking change: reg_email_msg is also removed
- Add default method to ExecutableCommand interface that allows to define the message key to show if a command's arguments are invalid. If not defined the behavior is as before: show the output of /<command> help
- Use translatable "no permission" message instead of hardcoded one
- Split sole setting to two: one defining the registration type, and one defining what the register command should take as second argument
- Contains ugly code that will be fixed with a later issue
- Introduce registration executors: one for each registration variant; each extending class implements one registration variant and worries about that method's details only
- AsyncRegister receives the player and a registration executor