Releases: Mqzn/mCommands
Releases · Mqzn/mCommands
HotFixes #3
What's new about 1.0.7?
- Removed ASM utility dependency as it caused a lot of dependency related issues for the users
- Added
@CommandsGroup
annotation which allows you to parse several command classes inside one class - Annotation parser now throws an exception if the class(the class it's trying to parse) is not annotated by
@Command
Example of @CommandsGroup
@CommandsGroup
@Command(name = "testa")
@SubCommand(value = TestSub1.class)
public class TestAnnotatedCommand {
@CommandsGroup
@Command(name = "testinner1")
public static class TestInnerCommand {
@Default
public void exec(ClientSender sender) {
System.out.println("Executing default for " + this.getClass().getSimpleName());
}
@CommandsGroup
@Command(name = "testinner2")
public static class TestInner2Command {
@Default
public void exec(ClientSender sender) {
System.out.println("Executing default for " + this.getClass().getSimpleName());
}
@Command(name = "testinner3")
public static class TestInner3Command {
@Default
public void exec(ClientSender sender) {
System.out.println("Executing default for " + this.getClass().getSimpleName());
}
}
}
}
}
Final notes on @CommandsGroup
-
If you are going to add a nested class(class X)
inside of another nested class (class Y), then class Y must be annotated with@CommandsGroup
-
All member command classes MUST be static or else exceptions will be thrown
First Stable Release
What's new about 1.0.6?
- Fixed tab completion bug with the new subcommands system
- Improved exception messages to become more clear to the user
- Moved the
AnnotationParser
class to the package annotations - Fixed a bug regarding the parsing of an online player in the spigot platform
- Added more comments for better documentation
- Removed
lombok
dependency; replaced bykotlin
field accessors - Using an ASM utility (instead of reflection) for invoking annotated methods for executing commands faster
- Minor internal improvements
HotFixes #2
What's new about 1.0.5?
- Several bug fixes for subcommand default execution
- Fixed throwing null pointer exceptions on empty syntax for default execution
- Added Kotlin usage in some class for better readability and performance in specific classes
- Added better error checks for detection of usage mistakes especially when using the annotated subcommand's inheritance system
Example on a subcommand with default execution:
@SubCommandInfo(name = "sub1", children = TestSub2.class, aliases = "s1")
@ExecutionMeta()
public final class TestSub1 {
@Default
public void info(ClientSender sender) {
System.out.println("Default execution for sub1");
}
}
HotFixes #1
What's new about 1.0.4?
- Added subcommand default executions
- Added custom suggestion provider for annotation @Suggest
- Improved overall performance
- Fixed bugs regarding subcommands resolving
The Ultimate Command Tree
What's new about 1.0.3?
- Added JCord support
- Improved performance
- Renamed
@CommandSyntaxMeta
to@Syntax
- Moved annotations module to common module to become a part of the common module
- Added Command tree inheritance allowing subcommands chaining
- Added sub command builders for better chaining
- Added annotations for creation of subcommands
Superb Suggestions API
What's new about 1.0.2?
- Professional Suggestion provider API
- Added Velocity module
- Improved performance
- Fixed Minor bugs regarding annotation parsing
- Added Argument for online player
Custom Senders Era
Whats new about 1.0.1?
- Added The ability to use your own senders (custom command senders)
- Added command cool downs
- Fixed A bug regarding the parsing of a greedy string
- Changed the way of creating a command syntax
First Early Release
1.0.0 Added maven publish