Python utilities for downloading and processing Minecraft's generated data.
Project description
mcgen
Python utilities for downloading and processing Minecraft's generated data.
Requirements
- Python 3.8+
- Java 11+ (for invoking the Minecraft server's data generator)
Installation
pip install mcgen
Usage
python -m mcgen --help
mcgen [-h] [--jarpath JARPATH] [--rawpath RAWPATH] [--outpath OUTPATH] [--version VERSION] [--manifest MANIFEST] [--processors [PROCESSORS [PROCESSORS ...]]] [--log LOG]
Download the Minecraft server jar for the specified version, invoke the data generator, and process the output.
optional arguments:
-h, --help show this help message and exit
--jarpath JARPATH Where to download and store the server jar. Default: temp/jars/minecraft_server.{version}.jar
--rawpath RAWPATH Where to store the raw server-generated files. Default: temp/raw/{version}
--outpath OUTPATH Where to write the final processed output. Default: temp/out/{version}
--version VERSION The server version to download and process. Defaults to latest snapshot.
--manifest MANIFEST Where to fetch the version manifest from. Defaults to Mojang's online copy.
--processors [PROCESSORS [PROCESSORS ...]]
Which processors to use in processing the raw server-generated files. Defaults to a set of built-in processors.
--log LOG The level of verbosity at which to print log messages.
Processors
Processors are used to process the raw server-generated data and produce output. They are invoked one after the other, in the order they are defined.
To provide a custom set of processors, use the --processors
option like so:
python -m mcgen --processors mcgen.processors.split_registries mcgen.processors.summarize_data
Built-in processors
Several built-in processors are provided in mcgen.processors
:
convert_json_files
- Convert json files into another form.simplify_blocks
- Create an optimized summary of blocks.split_registries
- Splitregistries.json
into separate files.summarize_biomes
- Create a summary of biome reports.summarize_data
- Create a summary of each vanilla registry.write_version_file
- Write the game version to a file.
Custom processors
Processors are Python modules containing a function with the following signature:
def process(ctx: Context, **options):
...
ctx
contains information about the processing contextoptions
is a key-value mapping of arbitrary data
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
mcgen-0.4.0.tar.gz
(8.8 kB
view hashes)
Built Distribution
mcgen-0.4.0-py3-none-any.whl
(11.2 kB
view hashes)