Skip to content

kelp-v0.3.4 - "The declarative command update"

Pre-release
Pre-release
Compare
Choose a tag to compare
@PXAV PXAV released this 21 Apr 12:30
· 331 commits to master since this release
22c9da8

Dear developers,
recently there was a discussion about the design of the current command system and its weaknesses. On the one hand, it encourages developers to split their complex commands into small and more readable pieces, but on the other hand, this quickly results in lots of tedious work when creating thousands of new classes and annotating them individually, ...

So @DSeeLP has come up with a new way of creating commands. The new command system has completely moved away from the "bukkit-like" approach to a more declarative approach also used by Brigadier. Brigadier is the command library written by Mojang and used natively in Minecraft 1.13+. When creating a command you are basically building up a tree of arguments and parameters, which can then be interpreted by a version module and converted to a bukkit command.

This system has lots of potential for future updates. You could for example unit-test simple command structures or implement simple tab-completion, etc.

The old command system won't be entirely deleted though to provide a more bukkit-like alternative for commands and avoid confusion among new developers or overcomplication for some use-cases.

Still, we would like to point out that Kelp is not yet in a production-ready stage. There have been no performance tests with big amounts of players nor the API code is final. All features are only available in Minecraft 1.8.8 now. Please be patient or report bugs and issues for further improvement.