Command framework & dispatcher for the JVM
Find a file
2020-09-08 23:42:30 +02:00
.github Add limited support for completions, add .editorconfig and reformat. 2020-09-06 16:13:08 +02:00
cloud-bukkit Update cloud-bukkit's parent 2020-09-08 23:42:30 +02:00
cloud-core Add default arguments 2020-09-08 19:30:45 +02:00
cloud-jline Add default arguments 2020-09-08 19:30:45 +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
cloud_logo.png Add files via upload 2020-09-08 11:10:05 +02:00
LICENSE Initial commit 2020-08-30 20:53:00 +02:00
pom.xml Add default arguments 2020-09-08 19:30:45 +02:00
README.md Update README.md 2020-09-08 12:08:42 +02:00

Command Library Of (yo)Ur Dreams

This is going to be a general-purpose Java command library. 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 additional goals are:

  • Create a Minecraft specific implementation and add appropriate bindings (bukkit, paper, velocity and bungee) with Brigadier mappings where appropriate
  • Create a Discord implementation
  • Create a Java CLI implementation