I want to make a command helper for Minecraft Bedrock Edition , so here is CHelper, which means Command Helper.
git clone --recursive https://github.com/Yancey2023/CHelper-Core
# if you clone it without --recursive, you should run the following:
cd CHelper-Core
git submodule update --init --recursive --progress
project | description |
---|---|
CHelper-Core | CHelper-Core is the core of CHelper, written in c++ |
CHelper-Android | CHelper-Android is the Android version of the app, depends on CHelper-Core |
CHelper-Web | CHelper-Web is the web version of the app, depends on CHelper-Core |
CHelper-Qt | maintain in CHelper-Core for development and debugging purpose |
When you are inputting command, the app will show you command structure, meaning of the command param you are editing, errors of the command, and suggestions to help you complete command. It also supports syntax highlight.
Dur to the Minecraft updates, some command has been changed.
It supports convert block data value to block state, and so on.
old command example:
execute @a ~ ~-1 ~ detect ~ ~-1 ~ stone 2 setblock ~ ~ ~ command_block 2
new command example:
execute as @a at @s positioned ~ ~-1 ~ if block ~ ~-1 ~ stone["stone_type"="granite_smooth"] run setblock ~ ~ ~ command_block["facing_direction"=2,"conditional_bit"=false]
Note: This app is mainly aimed at Chinese users, so the language is Chinese. You can help me support more languages.
CHelper-Web: https://yancey2023.github.io/chelper_web
CHelper-Web lacks some function. To experience more complete functions, please use CHelper-Android.
Cpack(Command Pack) is the resource pack of CHelper(Command Helper).
The desired function has been completed, and the new function to be developed is yet to be determined.
- CPack - a resource pack containing IDs and commands
- Lexer - transforms command strings into a token list
- Parser - builds an Abstract Syntax Tree (AST) and find structural errors
- ID Error - finds ID errors based on the AST
- Description - get the description of the currently written command param based on the AST
- Suggestion - get completion suggestions based on the AST
- Structure - get command structure string based on the AST
- Target Selector Support - support target selector command param
- Json Support - support json command param
- Block State Support - support block states command param
- Old 2 New - convert old command to new command
- Syntax Highlight - get the highlight color for displayed commands
project | description | license |
---|---|---|
fmt | formatting library | MIT license |
json | a JSON parser and generator for C++ | MIT license |
utfcpp | UTF-8 with C++ in a Portable Way | BSL-1.0 license |
Hedley | enable compiler-specific features while retaining compatibility with all compilers | CC0 1.0 |
project | description | license |
---|---|---|
Qt | desktop application framework | LGPL license |
project | description | license |
---|---|---|
NDK | android native development kit | Apache License |
project | description | license |
---|---|---|
Emscripten | complete compiler toolchain to WebAssembly | the MIT license and the University of Illinois/NCSA Open Source License |
project | description | license |
---|---|---|
GoogleTest | Google's C++ test framework | BSD 3-Clause "New" or "Revised" License |
project | description | license |
---|---|---|
caidlist | provide IDs and descriptions for Minecraft Bedrock Edition | GPL-3.0 license |
chinese minecraft wiki | provide information in Minecraft | CC BY-NC-SA 3.0 |