Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rollczi/litecommands

☄️ LiteCommands - Command framework for Velocity, Bukkit, Paper, BungeeCord, Minestom, Sponge, JDA and other implementations.
https://github.com/rollczi/litecommands

bukkit chatgpt hacktoberfest java jda kyori litecommands minecraft minestom papermc spigot sponge velocity velocitypowered

Last synced: about 2 hours ago
JSON representation

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

Awesome Lists containing this project

README

        



[![dependency](https://repo.panda-lang.org/api/badge/latest/releases/dev/rollczi/litecommands-core?color=9372f9&name=Version)](https://repo.panda-lang.org/#/releases/dev/rollczi/litecommands)

banner


[![Discord](https://raw.githubusercontent.com/intergrav/devins-badges/v3/assets/cozy/social/discord-plural_vector.svg)](https://discord.gg/6cUhkj6uZJ)
[![Sponsor](https://raw.githubusercontent.com/intergrav/devins-badges/v3/assets/cozy/donate/ghsponsors-singular_vector.svg)](https://github.com/sponsors/Rollczi)
[![Gradle](https://raw.githubusercontent.com/intergrav/devins-badges/v3/assets/cozy/built-with/gradle_vector.svg)](https://gradle.org/)
[![Java](https://raw.githubusercontent.com/intergrav/devins-badges/v3/assets/cozy/built-with/java8_vector.svg)](https://www.java.com/)

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

### 📌 Helpful links
- [Support Discord](https://discord.gg/6cUhkj6uZJ)
- [Bugs & issues report](https://github.com/Rollczi/LiteCommands/issues)
- [Documentation 3.x](https://litedevelopers.github.io/LiteDevelopers-documentation/introdution.html)
- [Documentation 2.x](https://docs.rollczi.dev/)

### ✨ Features
- Simple Arguments [@Arg](https://litedevelopers.github.io/LiteDevelopers-documentation/arg.html) & Optional arguments [@OptionalArg](https://litedevelopers.github.io/LiteDevelopers-documentation/optionalarg-null-way.html)
- Flags - [@Flag](https://litedevelopers.github.io/LiteDevelopers-documentation/flag.html)
- Joiner - _[@Join](https://litedevelopers.github.io/LiteDevelopers-documentation/join-argument.html) remaining arguments into a string_
- Asynchronous commands, argument parsing and completion. [@Async](https://github.com/Rollczi/minecraft-lista-plugin/blob/master/src/main/java/dev/rollczi/minecraftlista/MinecraftListaCommand.java#L19C10-L19C10)
- Command shortcuts [@Shortcut](https://github.com/Rollczi/LiteCommands/blob/master/litecommands-annotations/test/dev/rollczi/litecommands/annotations/shortcut/ShortcutMultilevelTest.java#L21C13-L21C13)
- Support for basic types: `int`, `double`, `Duration`, `LocalDateTime`, `Location` and [more](https://litedevelopers.github.io/LiteDevelopers-documentation/supported-types.html)!
- Support for collection types: `List`, `Set`, `TreeSet`, `Queue`, java array `T[]` and many others!
- [IntelliJ Plugin](https://github.com/LiteDevelopers/LiteCommands-IntelliJPlugin) that provides annotation inspections, syntax highlighting and [more](https://github.com/LiteDevelopers/LiteCommands-IntelliJPlugin)!
- Custom annotation validators. [(example)](https://github.com/Rollczi/LiteCommands/blob/master/examples/bukkit/src/main/java/dev/rollczi/example/bukkit/ExamplePlugin.java#L58C21-L58C21)
- Programmatic API for creating more dynamic commands. [(example)](https://github.com/Rollczi/LiteCommands/blob/master/examples/bukkit/src/main/java/dev/rollczi/example/bukkit/ExamplePlugin.java#L64C26-L64C26)
- Jakarta EE annotation validation. [(extension)](https://litedevelopers.github.io/LiteDevelopers-documentation/jakarta-extension.html)
- ChatGPT suggestions. [(extension)](https://litedevelopers.github.io/LiteDevelopers-documentation/chatgpt-extension.html)
- Adventure Kyori support. [(extension)](https://litedevelopers.github.io/LiteDevelopers-documentation/adventure-kyori.html)
- and [more](https://litedevelopers.github.io/LiteDevelopers-documentation/introdution.html)! ✨

## 📦 Platforms
- Velocity
- Bukkit, Spigot, Paper
- BungeeCord, Waterfall
- Minestom _(by [Codestech1](https://github.com/Codestech1))_
- Sponge _(by [BlackBaroness](https://github.com/BlackBaroness))_
- Fabric _(by [huanmeng_qwq](https://github.com/huanmeng-qwq))_
- JDA

## 💡 Command Example
This is an example of `/hello ` command:

```java
@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)
```java
this.liteCommands = LiteBukkitFactory.builder("example-plugin")
.commands(new HelloCommand())
.build();
```

## 🚀 Get Started

#### ➕ Add Panda Repository ❤️
```kts
maven("https://repo.panda-lang.org/releases")
```
```xml

panda-repository
https://repo.panda-lang.org/releases

```

#### ➕ Add LiteCommands to dependencies
```kts
implementation("dev.rollczi:{artifact}:3.5.0")
```
```xml

dev.rollczi
{artifact}
3.5.0

```
> ⚠️ Replace `{artifact}` with [platform artifact](https://litedevelopers.github.io/LiteDevelopers-documentation/platforms.html)
> Add `-parameters` flag to your compiler to use all features [(read more)](https://litedevelopers.github.io/LiteDevelopers-documentation/parameters-compile-flag.html)

💖 GitHub Sponsors



```diff
@@ Special thanks to all sponsors for supporting me and my projects! ❤️ @@
```

Piotr Zych   q1zZ   Nadwey  

## 🔮 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](https://github.com/LiteDevelopers/LiteCommands-IntelliJPlugin?tab=readme-ov-file#installation)?
![litecommandsbanner-intellij](https://github.com/Rollczi/LiteCommands/assets/49173834/fea96613-af58-42bb-b32d-ffd6946ba4cc)

## 🌍 More Examples
#### ➕ Official examples
- [Bukkit Example](https://github.com/Rollczi/LiteCommands/tree/master/examples/bukkit)
- [Velocity Example](https://github.com/Rollczi/LiteCommands/tree/master/examples/velocity)
- [ChatGPT Example](https://github.com/Rollczi/LiteCommands/tree/master/examples/bukkit-chatgpt)
- [Bukkit (with Adventure Platform)](https://github.com/Rollczi/LiteCommands/tree/master/examples/bukkit-adventure-platform)

#### ➕ Plugins that use LiteCommands!
- [EternalCore](https://github.com/EternalCodeTeam/EternalCore)
- [EternalCombat](https://github.com/EternalCodeTeam/EternalCombat)
- [ChatFormatter](https://github.com/EternalCodeTeam/ChatFormatter)


💖 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
- [panda-lang/expressible](https://github.com/panda-lang/expressible)
- [JetBrains/java-annotations](https://github.com/JetBrains/java-annotations)