Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mysteryblokhed/databind
Expand the functionality of Minecraft Datapacks.
https://github.com/mysteryblokhed/databind
databind datapack datapack-utils minecraft minecraft-datapack rust shorthand
Last synced: about 1 month ago
JSON representation
Expand the functionality of Minecraft Datapacks.
- Host: GitHub
- URL: https://github.com/mysteryblokhed/databind
- Owner: MysteryBlokHed
- License: gpl-3.0
- Created: 2021-05-30T13:16:58.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-01-15T05:53:28.000Z (almost 2 years ago)
- Last Synced: 2024-09-15T23:39:21.389Z (2 months ago)
- Topics: databind, datapack, datapack-utils, minecraft, minecraft-datapack, rust, shorthand
- Language: Rust
- Homepage: https://databind.rtfd.io/en/stable
- Size: 457 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Databind [![Crates.io Badge]](https://crates.io/crates/databind) [![License Badge]](#license) [![Docs Badge]](https://databind.readthedocs.io/en/stable/) [![Build & Test Badge]](https://github.com/MysteryBlokHed/databind/actions/workflows/build_and_test.yaml)
Expand the functionality of Minecraft Datapacks.
## Getting Started
To get started, see the [Getting Started](https://databind.readthedocs.io/en/stable/getting_started.html)
page on the docs.## Features
- 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 of `namespace: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## Building and Running
This project requires [cargo](https://www.rust-lang.org/learn/get-started).
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`.
## Installation
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](https://github.com/MysteryBlokHed/databind/releases).### From crates.io
To download Databind from crates.io, run `cargo install databind --locked`. If Rust is
[in your PATH](https://www.rust-lang.org/tools/install#installation-notes),
then running `databind` from a command line will work.### Locally
To install Databind from a cloned repository, run `cargo install --path . --locked` in the root directory.
## Documentation
### CLI/Language Docs
Documentation is build using reStructuredText and Sphinx. Requires Python.
Built documentation is hosted on [Read The Docs](https://databind.readthedocs.io/en/stable/).#### Building 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.#### Viewing Docs
To view the documentation, open the `index.html` file generated in /docs/\_build/html.
### Library Docs
#### Building Docs
To build the library documentation, run `cargo doc` or `cargo doc --release`.
#### Viewing Docs
To view the docs, open the generated `index.html` file at `target/doc/databind/index.html`.
Built documentation is available at [docs.rs](docs.rs/databind/).## License
Databind is licensed under the GNU General Public License, Version 3.0
([LICENSE](LICENSE) or ).[crates.io badge]: https://img.shields.io/crates/v/databind
[license badge]: https://img.shields.io/github/license/MysteryBlokHed/databind
[docs badge]: https://readthedocs.org/projects/databind/badge/?version=latest
[build & test badge]: https://github.com/MysteryBlokHed/databind/actions/workflows/build_and_test.yaml/badge.svg