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, Fabric, JDA and future implementations.
https://github.com/rollczi/litecommands

bukkit chatgpt discord-bot fabric hacktoberfest java jda kyori litecommands minecraft minestom papermc spigot sponge spongepowered velocity velocitypowered

Last synced: 4 days ago
JSON representation

☄️ LiteCommands - Command framework for Velocity, Bukkit, Paper, BungeeCord, Minestom, Sponge, Fabric, JDA and future 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, Fabric, JDA and future implementations.

### 📌 Helpful links
- [Support Discord](https://discord.gg/6cUhkj6uZJ)
- [Bugs & issues report](https://github.com/Rollczi/LiteCommands/issues)
- [Documentation](https://docs.rollczi.dev/)

### ✨ Features
- Simple Arguments [@Arg](https://docs.rollczi.dev/documentation/litecommands/arguments/arg.html#arg) & Optional arguments [@OptionalArg](https://docs.rollczi.dev/documentation/litecommands/arguments/arg-optional.html#arg-optional)
- Flags - [@Flag](https://docs.rollczi.dev/documentation/litecommands/arguments/flag.html#flag)
- Joiner - _[@Join](https://docs.rollczi.dev/documentation/litecommands/arguments/join.html#join) remaining arguments into a string_
- Literal arguments - @Literal
- [@Quoted](https://docs.rollczi.dev/documentation/litecommands/arguments/quoted.html) arguments for `"quoted input!"`
- Asynchronous commands, argument parsing and completion. [@Async](https://docs.rollczi.dev/documentation/litecommands/features/asynchronous/async-annotation.html#async)
- Context providers - e.g. `@Sender Player`, `@Context World` and [more](https://docs.rollczi.dev/documentation/litecommands/getting-started/context.html)
- Command shortcuts [@Shortcut](https://docs.rollczi.dev/documentation/litecommands/features/shortcut.html#shortcut)
- Support for basic types: `int`, `double`, `Duration`, `LocalDateTime`, `Location` and [more](https://docs.rollczi.dev/documentation/litecommands/arguments/arg/java-types.html#java-types)!
- 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://docs.rollczi.dev/documentation/litecommands/intellij-idea-plugin.html)!
- 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://docs.rollczi.dev/documentation/litecommands/extensions/jakarata.html#jakarta)
- ChatGPT suggestions. [(extension)](https://docs.rollczi.dev/documentation/litecommands/extensions/chatgpt-extension.html#chatgpt)
- Adventure Kyori support. [(extension)](https://docs.rollczi.dev/documentation/litecommands/extensions/kyori-adventure/adventure-kyori.html#adventure-native)
- and [more](https://docs.rollczi.dev/documentation/litecommands/what-is-litecommands.html)! ✨

## 📦 Platforms
- Velocity
- Bukkit, Spigot, Paper
- BungeeCord, Waterfall _(by [rchomczyk](https://github.com/rchomczyk))_
- 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(@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)
```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.9.3")
```
```xml

dev.rollczi
{artifact}
3.9.3

```
> ⚠️ Replace `{artifact}` with [platform artifact](https://docs.rollczi.dev/documentation/litecommands/platforms.html#supported-platforms)
> Add `-parameters` flag to your compiler to use all features [(read more)](https://docs.rollczi.dev/documentation/litecommands/getting-started/dependencies.html#parameters-compile-flag)

💖 GitHub Sponsors



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

Piotr Zych   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