Command framework & dispatcher for the JVM
Find a file
Alexander Söderberg 75f65c2da2
Update build.sh
2020-09-12 19:31:36 +02:00
.github Checkout submodules in the codeql-analysis workflow 2020-09-12 16:15:18 +02:00
.mvn/wrapper Add maven wrapper 2020-09-12 19:25:55 +02:00
cloud-core Add short component 2020-09-12 19:11:28 +02:00
cloud-jline Add checkstyle and add 950 billion comments 2020-09-11 22:36:59 +02:00
cloud-minecraft/cloud-bukkit Add checkstyle and add 950 billion comments 2020-09-11 22:36:59 +02:00
cloud-pipeline@b84f41bd9d Update submodule 2020-09-12 14:43:48 +02:00
icons this work? 2020-09-11 08:33:35 +02:00
.editorconfig Add limited support for completions, add .editorconfig and reformat. 2020-09-06 16:13:08 +02:00
.gitignore Initial commit 2020-08-30 20:53:00 +02:00
.gitmodules Fix pipeline submodule 2020-09-12 14:33:22 +02:00
build.sh Update build.sh 2020-09-12 19:31:36 +02:00
checkstyle.xml Add checkstyle and add 950 billion comments 2020-09-11 22:36:59 +02:00
cloud_logo.png Add files via upload 2020-09-08 11:10:05 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2020-09-11 21:06:14 +02:00
CONTRIBUTING.md Create CONTRIBUTING.md 2020-09-11 21:05:16 +02:00
LICENSE Update README and change copyright holder in license 2020-09-11 08:56:26 +02:00
mvnw Add maven wrapper 2020-09-12 19:25:55 +02:00
mvnw.cmd Add maven wrapper 2020-09-12 19:25:55 +02:00
pom.xml Add build instructions to README and make the build process update submodules in the initialisation phase 2020-09-12 17:26:58 +02:00
README.md Add build instructions to README and make the build process update submodules in the initialisation phase 2020-09-12 17:26:58 +02:00

cloud command framework

CodeFactor

This is going to be a general-purpose Java command dispatcher & framework. It will allow programmers to define command chains that users can use to execute pre-defined actions.

The library was named cloud because using it makes you feel like you're floating around on a cloud in heaven. It's an experience of pure bliss and joy. This is unlike the experience of using any command framework that currently exists for the JVM, which can be compared to drowning in a pool of lava while watching your family get eaten by a pack of wolves.

Its feature set is derived from already existing command frameworks, while being less restrictive, opinionated and confusing. CLOUD is built to be completely deterministic and your commands will behave exactly as you've programmed them to. No fluff and no mess, just a smooth cloud-like experience.

The code is based on a paper that can be found here.

goals

  • Allow for commands to be defined using builder patterns
  • Allow for commands to be defined using annotated methods
  • Allow for command pre-processing
  • Allow for command suggestion outputs

Once the core functionality is present, the framework will offer implementation modules, supporting a wide variety of platforms.

implementations

  • Minecraft:

    • Generic Brigadier module
    • Bukkit module
    • Paper module, with optional Brigadier support
    • Sponge module
    • Cloudburst
    • Bungee module
    • Velocity module
  • Create a Discord implementation (JDA)

  • Create a Java CLI implementation (JLine3)

develop & build

To clone the repository, use git clone --recursive https://github.com/Sauilitired/cloud.git. To then build it, use mvn clean package. If you've already cloned the repository without doing it recursively, use git submodule update --remote to update the submodule. This is only needed the first time, as Maven will perform this operation when building.

There is a bash script (build.sh) that performs the submodule updating & builds the project. Feel free to use this if you want to.

maven

cloud is available from IntellectualSites' maven repository:

<repository>
    <id>intellectualsites-snapshots</id>
    <url>https://mvn.intellectualsites.com/content/repositories/snapshots</url>
</repository>
<dependency>
    <groupId>com.intellectualsites</groupId>
    <artifactId></artifactId>
    <version></version>
</dependency>

This library is licensed under the MIT license, and the code copyright belongs to Alexander Söderberg. The implementation is based on a paper written by the copyright holder, and this paper exists under the CC Attribution 4 license.

The Cloud icon was created by by Thanga Vignesh P on Iconscout and Digital rights were purchased under a premium plan.