- Change interface to use (CommandSender, List<String> arguments)
- Use CommandArgumentDescription#name instead of "label" (to prevent confusion between command labels and arguments)
- Simplify command difference computation in CommandHandler (no longer consider argument difference)
- Change interface to use (CommandSender, List<String> arguments)
- Use CommandArgumentDescription#name instead of "label" (to prevent confusion between command labels and arguments)
- Simplify command difference computation in CommandHandler (no longer consider argument difference)
- Remove TaskOption and central logic for processing options. It is not flexible and clear enough without investing a lot of effort. Fix is easy - just pass the scanner and let the task do what it needs to do.
- Remove permission logic on command side; make PermissionsManager handle checks for all CommandSender objects (not only Player), cf. #314
- Remove unnecessary redundancies in passed arguments ("command references" that can be inferred from the FoundResult)
- Extend FoundCommandResult to represent all possible error cases
- Move logic from CommandMapper to CommandHandler
- Create "ResultStatus" on FoundCommandResult to precisely return the error case
Naming and structure not final
- Permissions: Do not write to generated file without explicit consent by user (default behavior of runners should be _not_ to do any I/O)
- Fix wrong check in messages; minor output adjustment
- Remove hacky check to see if last char of a file is a new line
- Add messages with new line to same line with &n
- Add German translation for missing key
- Adjust messages filename pattern to include Chinese files (with 4-letter codes)
- Change verifier to only output errors (more "to-the-point" output)
- Close scanner for all cases
- Replace read from file with the one from the File service
- Rename file service class to FileUtils to better reflect its purpose