All Projects → unnamed → command-flow

unnamed / command-flow

Licence: MIT license
A flexible command framework and dispatcher which removes lots of boilerplate code used in commands. While it is used generally on Bukkit it is platform agnostic

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to command-flow

Commands
Java Command Dispatch Framework - (Bukkit, Spigot, Paper, Sponge, Bungee, JDA, Velocity supported, generically usable anywhere)
Stars: ✭ 266 (+158.25%)
Mutual labels:  bukkit, command
MCAntiMalware
Anti-Malware for minecraft
Stars: ✭ 182 (+76.7%)
Mutual labels:  bukkit, bungee
Geyser
A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition.
Stars: ✭ 2,851 (+2667.96%)
Mutual labels:  bukkit, bungee
ResourcepacksPlugins
Set resource packs on whole proxy, per server and per world!
Stars: ✭ 47 (-54.37%)
Mutual labels:  bukkit, bungee
ChatControl-Pro
The ultimate chat solution. Prevent spam, ads, swears and even bots on your server. Replaced by ChatControl Red: https://mineacademy.org/chatcontrol-red
Stars: ✭ 65 (-36.89%)
Mutual labels:  bukkit, bungee
vscode-powertools
A swiss army knife with lots of tools, extensions and (scriptable) enhancements for Visual Studio Code.
Stars: ✭ 44 (-57.28%)
Mutual labels:  command
NBTEditor
An in-game NBT editor for Bukkit.
Stars: ✭ 41 (-60.19%)
Mutual labels:  bukkit
project template
Enjoy🌈 web项目启动模板 & 命令行cli启动模板 & 库启动模板
Stars: ✭ 19 (-81.55%)
Mutual labels:  command
WorldGuardExtraFlagsPlugin
Extension for the WorldGuard plugin.
Stars: ✭ 47 (-54.37%)
Mutual labels:  bukkit
Plot-System
An easy to use building system for the BuildTheEarth project.
Stars: ✭ 19 (-81.55%)
Mutual labels:  bukkit
VoxelGamesLib
Multi-platform, fully-featured, data-driven, abstract and expendable minecraft minigames framework
Stars: ✭ 15 (-85.44%)
Mutual labels:  bukkit
Minecraft-Backdoor
Invisible, customizable backdoor for Minecraft Spigot Plugins.
Stars: ✭ 147 (+42.72%)
Mutual labels:  bukkit
dynamic-cli
A Modern, user-friendly command-line HTTP client for the API testing, and if you're stuck - Search and browse StackOverflow without leaving the CLI
Stars: ✭ 151 (+46.6%)
Mutual labels:  command
fzf-marker
The terminal command tweak from @pindexis/marker
Stars: ✭ 22 (-78.64%)
Mutual labels:  command
MinecraftManhunt
Minecraft Bukkit plugin to run Manhunt minigames, with Discord music integration
Stars: ✭ 20 (-80.58%)
Mutual labels:  bukkit
BetterGUI
Another GUI Plugin
Stars: ✭ 66 (-35.92%)
Mutual labels:  bukkit
Staff-Chat
A staff-chat plugin that hooks into DiscordSRV
Stars: ✭ 25 (-75.73%)
Mutual labels:  bukkit
lookpath
The minimum and most straightforward way to check if command exists and where the executable is, without spawning child_process.
Stars: ✭ 49 (-52.43%)
Mutual labels:  command
cfdm
A Python reference implementation of the CF data model
Stars: ✭ 24 (-76.7%)
Mutual labels:  cf
tpack
Pack a Go workflow/function as a Unix-style pipeline command
Stars: ✭ 55 (-46.6%)
Mutual labels:  command

CommandFlow

A flexible command framework which removes lots of boilerplate code used in commands.

Usage

The command framework is divided into two parts. One is the actual command framework and the other one is the API to allow creation of a complete command tree based on annotations.

Components of the Command Framework

There are some basic components that you should at least be aware of to use CommandFlow

  • Command: This is the most fundamental component, the Command. It contains all the information related to a command, included but not limited to name, aliases, permission, parts, etc. Those are created using the Command.builder(String) method, which returns an Command.Builder instance where you can set all the information of the command.

  • CommandPart: This is the second most fundamental component, it can be understood as every argument of a Command, including things like subcommands, flags, non positional arguments, etc. It can use arguments from the argument list, or provide them using any other means also they can forward the parsing to another part and just act as a modifier. Most of the default parts can be found at the class Parts

  • CommandContext: This is a mutable object which contains the context for the called command including but not limited to the values for every part parsed, the raw arguments list and the raw arguments for every part, the labels and the Command execution path(which path of subcommands was taken).

Maven

Repository:

<repository>
  <id>unnamed-public</id>
  <url>https://repo.unnamed.team/repository/unnamed-public/</url>
</repository>

Dependency:

<dependency>
  <groupId>me.fixeddev</groupId>
  <artifactId>commandflow-universal</artifactId>
  <version>0.5.3</version>
</dependency>

Known bugs or misbehaviours

The next list are the known bugs that must be resolved at some point:

  • When using the FirstMatchPart in an ArgOrSub way(try to parse the arguments of the main command, if it fails try to parse the subcommand) with a main command with one argument(or more) and a subcommand that is optional, called with an unexistent subcommand, the main command will be called with no arguments, making it fail. The actual solution is to set the subcommand as required.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].