Annotation based command framework for Velocity, Bukkit, Paper, BungeeCord, Minestom, Sponge, Fabric, JDA and future implementations.
- Simple Arguments @Arg & Optional arguments @OptionalArg
- Flags - @Flag
- Joiner - @Join remaining arguments into a string
- Literal arguments - @Literal
- @Quoted arguments for
"quoted input!"
- Asynchronous commands, argument parsing and completion. @Async
- Context providers - e.g.
@Sender Player
,@Context World
and more - Command shortcuts @Shortcut
- Support for basic types:
int
,double
,Duration
,LocalDateTime
,Location
and more! - Support for collection types:
List
,Set
,TreeSet
,Queue
, java arrayT[]
and many others! - IntelliJ Plugin that provides annotation inspections, syntax highlighting and more!
- Custom annotation validators. (example)
- Programmatic API for creating more dynamic commands. (example)
- Jakarta EE annotation validation. (extension)
- ChatGPT suggestions. (extension)
- Adventure Kyori support. (extension)
- and more! ✨
- Velocity
- Bukkit, Spigot, Paper
- BungeeCord, Waterfall (by rchomczyk)
- Minestom (by Codestech1)
- Sponge (by BlackBaroness)
- Fabric (by huanmeng_qwq)
- JDA
This is an example of /hello <name> <amount>
command:
@Command(name = "hello")
@Permission("dev.rollczi.helloworld")
public class HelloCommand {
@Execute
void command(@Sender CommandSender sender, @Arg String name, @Arg int amount) {
for (int i = 0; i < amount; i++) {
sender.sendMessage("Hello " + name);
}
}
}
Then we need to register the command in plugin main class: (in this case for Bukkit)
this.liteCommands = LiteBukkitFactory.builder("example-plugin")
.commands(new HelloCommand())
.build();
maven("https://repo.panda-lang.org/releases")
<repository>
<id>panda-repository</id>
<url>https://repo.panda-lang.org/releases</url>
</repository>
implementation("dev.rollczi:{artifact}:3.9.5")
<dependency>
<groupId>dev.rollczi</groupId>
<artifactId>{artifact}</artifactId>
<version>3.9.5</version>
</dependency>
⚠️ Replace{artifact}
with platform artifact
Add-parameters
flag to your compiler to use all features (read more)
@@ Special thanks to all sponsors for supporting me and my projects! ❤️ @@
With LiteCommands plugin, you can easily develop your commands within the IntelliJ IDEA environment. The plugin provides annotation inspections, tools for creating new command classes, syntax highlighting, code completion, and other useful features to make your development experience smoother and more efficient. How to install?
JetBrains
Supports us with a free license for the most intelligent Java IDE - IntelliJ IDEA Ultimate
Reposilite
Provides us with a Maven repository for our artifacts - Reposilite Repository
YourKit
Supports us with a innovative and intelligent tools for monitoring and profiling - YourKit Java Profiler