Skip to main content

syncing and linking for all your Minecraft instances

Project description

EnderChest

PyPI version PyPI downloads

Linux SteamOS Windows MacOS RaspberryPi

Python coverage lint

A system for managing your minecraft installations across instances and installations

In a Nutshell

EnderChest is a command-line utility for selectively sharing Minecraft assets (configurations, mods, worlds, etc.)...

  1. ...across different computers
  2. ...across different instances on the same computer
  3. ...across server and client installations

A Note On Linking

Starting with Minecraft 1.20, Mojang by default no longer allows worlds to load if they are or if they contain symbolic links. While it is true that an improper symlink could cause Minecraft to write data to a place it shouldn't, nothing in EnderChest will ever generate a symlink whose target is outside of your EnderChest folder unless you place a symbolic link in your EnderChest pointing to somewhere else (which you may want to do so that your screenshots, for example, point to your "My Pictures" folder).

If you still have concerns about symlinks or questions about how they work, read through this guide or watch this explainer, and if you still have questions, feel free to open an issue.

Installation

EnderChest is written for Python 3.10 or greater, but should otherwise run on any architecture or operating system.

Note that the recommended sync protocol is rsync, and EnderChest requires version 3.2 or newer. However, other protocols are available if a modern rsync is not an option for you.

The latest release can be installed from PyPI via pipx:

pipx install enderchest

Full installation instructions can be found on GitHub Pages.

Usage

EnderChest is a command-line utility. With your enderchest virtual environment activated, run the following command to get an overview of the available actions:

$ enderchest --help

and use:

$ enderchest <verb> --help

(e.g. enderchest place --help)

for further details on running each of those commands.

Full documentation, including tutorials, examples and full CLI docs, can be found on GitHub Pages.

Quick-Start Guide

To get started, navigate your terminal to the directory where you'd like to store your EnderChest. Then run:

$ enderchest craft

which will take you through a guided setup.

Once your EnderChest is set up (and you've hopefully registered a few instances), run

$ enderchest craft shulker_box <name>

for a guided setup of your first shulker box. Run this command again (with a different name) to create a new shulker box.

Now move whatever Minecraft assets (mods, configs, worlds) you want into that shulker box and run:

$ enderchest place

to create symlinks from your registered instance.

If you've set up your EnderChest to sync with other remote installations, you can push your local changes by running:

$ enderchest close

To pull in any changes from other installations, run:

$ enderchest open

and then

$ enderchest place

to update your symlinks.

More detailed usage instructions can be found on GitHub Pages.

Uninstalling

If you decide that EnderChest isn't for you, running

$ enderchest break

will replace all symlinks into your EnderChest folder with hard copies of the linked resources. After that completes, you can safely delete your EnderChest folder and remove the package via your Python package manager, e.g.

pipx uninstall enderchest

Contributing

If you're interested in helping develop this project, have a look at the repo backlog and then read through the contributor's guide.

License

This project--the executable, source code and all documentation--are published under the GNU Public License v3, and any contributions to or derivatives of this project must be licensed under compatible terms.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

enderchest-0.1.6.tar.gz (137.0 kB view details)

Uploaded Source

Built Distribution

enderchest-0.1.6-py3-none-any.whl (137.7 kB view details)

Uploaded Python 3

File details

Details for the file enderchest-0.1.6.tar.gz.

File metadata

  • Download URL: enderchest-0.1.6.tar.gz
  • Upload date:
  • Size: 137.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for enderchest-0.1.6.tar.gz
Algorithm Hash digest
SHA256 20d1f52dc724e9edd331d030dd9384373a86d7a373c6490d084d97f1c49e6e27
MD5 adc51072ef4584dbe5c2d1fd2df9a3c3
BLAKE2b-256 30dda1d6832a479b9b8be4ede301fe57ab80e07bab52984878d3c663e91cac2f

See more details on using hashes here.

File details

Details for the file enderchest-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: enderchest-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 137.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for enderchest-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 4cf6fd4a6a67e1a5aac7cf71afc28a9ed10b4cdb96f4a3f5bbbb5311b36d89d5
MD5 4e94d07a67e53c795af4732ae6587184
BLAKE2b-256 40f35a0d0da0abe67479c83705ca6a31bcc0babe226085292ca698789cc21e3a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page