Expand the functionality of Minecraft Datapacks.
To get started, see the Getting Started page on the docs.
- Can be integrated with existing datapacks/mcfunctions
- Multiple mcfunction definitions in a single file
- Custom functions (macros) that can take arguments
- Tagging functions in-code
- Shorthand to call functions without namespace prefix (eg.
func_1
instead ofnamespace:func_1
) - Subcommand to create new projects easily
- If/else statements
- While loops
- A file to define variables that can be used anywhere
- Variable definitions via scoreboards
- Shorthand for objective creation
- Shorthand for testing variables in
if
commands - Shorthand for scoreboard operations
- Configuration options
This project requires cargo.
To build the project, clone the repo and run cargo build
in the root directory.
To build for release, run cargo build --release
.
To run Databind after building it with cargo build
, use cargo run
.
The installation instructions below are to build and install Databind from source. If you'd like to download a built binary instead, go to the releases page.
To download Databind from crates.io, run cargo install databind --locked
. If Rust is
in your PATH,
then running databind
from a command line will work.
To install Databind from a cloned repository, run cargo install --path . --locked
in the root directory.
Documentation is build using reStructuredText and Sphinx. Requires Python. Built documentation is hosted on Read The Docs.
To build the documentation, go to the /docs folder and run pip install -r requirements.txt
.
Then run make.bat html
or make html
, depending on platform.
To view the documentation, open the index.html
file generated in /docs/_build/html.
To build the library documentation, run cargo doc
or cargo doc --release
.
To view the docs, open the generated index.html
file at target/doc/databind/index.html
.
Built documentation is available at docs.rs.
Databind is licensed under the GNU General Public License, Version 3.0 (LICENSE or https://www.gnu.org/licenses/gpl-3.0.en.html).