Rollczi / LiteCommands

☄️ LiteCommands - Command framework for Velocity, Bukkit, Paper, BungeeCord, Minestom, Sponge, JDA and other implementations.

Home Page:https://litedevelopers.github.io/LiteDevelopers-documentation/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dependency

banner

Discord Sponsor Gradle Java

LiteCommands

Annotation based command framework for Velocity, Bukkit, Paper, BungeeCord, Minestom, Sponge, JDA and future implementations.

📌 Helpful links

✨ Features

  • Simple Arguments @Arg & Optional arguments @OptionalArg
  • Flags - @Flag
  • Joiner - @Join remaining arguments into a string
  • Asynchronous commands, argument parsing and completion. @Async
  • Command shortcuts @Shortcut
  • Support for basic types: int, double, Duration, LocalDateTime, Location and more!
  • Support for collection types: List, Set, TreeSet, Queue, java array T[] 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! ✨

📦 Platforms

💡 Command Example

This is an example of /hello <name> <amount> command:

@Command(name = "hello")
@Permission("dev.rollczi.helloworld")
public class HelloCommand {

    @Execute
    void command(@Context 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();

🚀 Get Started

➕ Add Panda Repository ❤️

maven("https://repo.panda-lang.org/releases")
<repository>
    <id>panda-repository</id>
    <url>https://repo.panda-lang.org/releases</url>
</repository>

➕ Add LiteCommands to dependencies

implementation("dev.rollczi:{artifact}:3.4.1")
<dependency>
    <groupId>dev.rollczi</groupId>
    <artifactId>{artifact}</artifactId>
    <version>3.4.1</version>
</dependency>

⚠️ Replace {artifact} with platform artifact
Add -parameters flag to your compiler to use all features (read more)

💖 GitHub Sponsors

@@ Special thanks to all sponsors for supporting me and my projects! ❤️ @@
Piotr Zych   q1zZ   

🔮 Official IntelliJ Plugin

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? litecommandsbanner-intellij

🌍 More Examples

➕ Official examples

➕ Plugins that use LiteCommands!

💖 Thanks for our partners!

JetBrains

JetBrains
Supports us with a free license for the most intelligent Java IDE - IntelliJ IDEA Ultimate

Reposilite

Reposilite
Provides us with a Maven repository for our artifacts - Reposilite Repository

YourKit

YourKit
Supports us with a innovative and intelligent tools for monitoring and profiling - YourKit Java Profiler

🔐 Dependencies used

About

☄️ LiteCommands - Command framework for Velocity, Bukkit, Paper, BungeeCord, Minestom, Sponge, JDA and other implementations.

https://litedevelopers.github.io/LiteDevelopers-documentation/

License:Apache License 2.0


Languages

Language:Java 100.0%