Skip to content

Releases: Mqzn/mCommands

HotFixes #3

18 May 08:55
Compare
Choose a tag to compare

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

17 May 05:37
Compare
Choose a tag to compare

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 by kotlin field accessors
  • Using an ASM utility (instead of reflection) for invoking annotated methods for executing commands faster
  • Minor internal improvements

HotFixes #2

16 May 05:57
Compare
Choose a tag to compare

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

15 May 00:32
Compare
Choose a tag to compare

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

13 May 18:41
Compare
Choose a tag to compare

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

07 May 12:06
Compare
Choose a tag to compare

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

18 Apr 03:22
Compare
Choose a tag to compare

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

16 Apr 20:51
Compare
Choose a tag to compare
1.0.0

Added maven publish