The contributing guidelines and instructions on setting up this project mostly match those of mcproto. In the interest of not having to rewrite the same instructions again, please follow the mcproto documentation for contributing guidelines.
Even though most of our workflows match those in mcproto, there are some differences. These will be explained here.
When you'll be cloning this repository, you will want to use the --recursive flag, as we include the
minecraft-data repository as a git submodule. This means when cloning
the repo, you'll want to use the following command:
git clone --recursive https://github.com/py-mine/minebaseIf you already have a cloned repo without the --recursive flag, you can use:
git submodule update --init --recursiveWe will often update the minecraft-data submodule to match the latest release, when we do this, you should also update
your local copy of the submodule, as git won't do this automatically for you on git pull. To do this, you can use:
git submodule update --init --recursiveIf you find that the submodule is out of date compared to the upstream (there was a new release of minecraft-data), you can update the submodule and push the update (open a PR). To do this with the following:
cd minebase/data
git fetch --tags
latest_tag=$(git tag --sort=-v:refname | grep -E '^[0-9]+\.[0-9]+\.[0-9]+$' | head -n 1)
git checkout "$latest_tag"Now go back to the main project and commit the submodule change:
cd ../..
git add minebase/data
# You will also probably want to make a branch here, if you haven't yet
git commit -m "Update submodule to minecraft-data $latest_tag"
git pushMcproto uses slotscheck tool to validate proper use of slots, we don't use this.