docs: improve the README pitch

This commit is contained in:
Citymonstret 2022-07-03 11:53:50 +02:00
parent 2d45210734
commit 6219d30e4e
No known key found for this signature in database
GPG key ID: D54FE910327D79CC

View file

@ -9,12 +9,11 @@
![build](https://github.com/Incendo/cloud/workflows/Java%20CI%20with%20Maven/badge.svg) ![build](https://github.com/Incendo/cloud/workflows/Java%20CI%20with%20Maven/badge.svg)
[![central](https://maven-badges.herokuapp.com/maven-central/cloud.commandframework/cloud-core/badge.svg)](https://search.maven.org/search?q=cloud.commandframework) [![central](https://maven-badges.herokuapp.com/maven-central/cloud.commandframework/cloud-core/badge.svg)](https://search.maven.org/search?q=cloud.commandframework)
Cloud is a general-purpose Java command dispatcher & framework. It allows programmers to define command chains that are then parsed and invoked from user- Cloud is a general-purpose Java command dispatcher & framework. It allows programmers to define command chains that are then parsed and invoked from user-supplied string inputs, to execute pre-defined actions.
supplied string inputs, to execute pre-defined actions.
Cloud commands consist out of deterministic command chains where the arguments are strongly typed. When you write a command, you know exactly Cloud commands consist out of deterministic chains of strongly typed arguments. When you define a command,
what type of data you will get to work with and you won't need to spend hours debugging command contexts while crying profusely. The experience you know exactly what type of data you're going to be working with, and you know that there will be no
of using the framework is like floating on a fluffy cloud in heaven. Its feature set is derived from Already existing Command Frameworks, while being less restrictive, opinionated and confusing. ambiguity at runtime. Cloud promotes writing reusable code, making it very easy to define new commands.
Cloud allows for commands to be defined using builder patterns, like this: Cloud allows for commands to be defined using builder patterns, like this:
```java ```java
@ -49,17 +48,12 @@ private void yourCommand(
)); ));
} }
``` ```
to allow your users to use commands like `/command cloud 100`. depending on your preference.
All this while allowing you to extend and modify the command experience. The framework supports custom (any) command sender Cloud is built to be very customisable, in order to fit your needs. You can inject handlers and processors
types, along the entire command chain. If the pre-existing command parsers aren't enough for your needs, you're easily
argument types & parsers, able to create your own parsers. If you use the annotation parsing system, you can also define your own annotations
annotation mappers and preprocessors. and register them to further customise the behaviour of the library.
Cloud also has an advanced command suggestion system, that allows for context aware
command completion and suggestions.
If using the annotation parsing system, you can create custom annotation mappers to use your own annotation bindings for
command parsing, preprocessing, etc.
Cloud by default ships with implementations and mappings for the most common Minecraft server platforms, JDA and javacord for Cloud by default ships with implementations and mappings for the most common Minecraft server platforms, JDA and javacord for
Discord bots and PircBotX for IRC. Discord bots and PircBotX for IRC.
@ -78,7 +72,8 @@ The code is based on a (W.I.P) paper that can be found [here](https://github.com
## modules ## modules
- **cloud-core**: Core module containing most of the cloud API, and shared implementations - **cloud-core**: Core module containing most of the cloud API, and shared implementations
- **cloud-annotations**: Annotation processing code that allows you to use annotated methods rather than builders - **cloud-annotations**: Annotation parsing code that allows you to use annotated methods rather than builders - Now also
includes several compile-time annotation processors
- **cloud-services**: Services for Cloud - **cloud-services**: Services for Cloud
- **cloud-minecraft/cloud-brigadier**: Brigadier mappings for cloud - **cloud-minecraft/cloud-brigadier**: Brigadier mappings for cloud
- **cloud-minecraft/cloud-bukkit**: Bukkit 1.8.8+ implementation of cloud - **cloud-minecraft/cloud-bukkit**: Bukkit 1.8.8+ implementation of cloud