HiveGamesOSS / Chunker

Convert Minecraft worlds between Java Edition and Bedrock Edition
https://hivegames.io/
MIT License
178 stars 7 forks source link
minecraft

Chunker

Convert Minecraft worlds between Java Edition and Bedrock Edition

Chunker is a Java application which allows you to convert Java and Bedrock Minecraft worlds. It provides a simple interface for converting worlds and allows you to upgrade and downgrade worlds between different versions of the game.

Supported Formats:

Microsoft Creator Docs: https://learn.microsoft.com/en-us/minecraft/creator/documents/chunkeroverview?view=minecraft-bedrock-stable

App Usage

You can find pre-built copies of Chunker in the releases section. Otherwise, see the building section on how to build Chunker yourself.

Download the appropriate version of the application depending on your operating system and then you will be able to run the electron based frontend for Chunker.

CLI Usage

Requirements

You can find pre-built copies of Chunker in the releases section. Otherwise, see the building section on how to build Chunker yourself.

Chunker can be run as a command-line application or as a UI, to use Chunker as a command line application run it as so:

java -jar chunker-cli-VERSION.jar -i "my_world" -f BEDROCK_1_20_80 -o output

The following parameters are required:

Additionally, the following parameters are supported:

You can export settings for your world by using the web interface on https://chunker.app through the Advanced Settings -> Converter Settings tab, the CLI also supports preloading settings from the input directory.

You can also get Chunker to list available formats by providing an incorrect input, e.g. java -jar chunker-VERSION.jar -f ?.

Building

Requirements

Note: Chunker is split into app and cli, the app provides an electron frontend for the application and the cli is a pure java application which can be used for conversion / integrating conversion.

Steps

  1. Clone this repository via git clone git://github.com/HiveGamesOSS/Chunker.git.
  2. Build the project via ./gradlew build.
  3. Obtain the binary from build/libs/ (either as a CLI jar, native CLI executable or with the electron frontend).

Chunker also uses its own fork of a Java LevelDB implementation, https://github.com/HiveGamesOSS/leveldb-mcpe-java/.

Testing

Chunker attempts to do automated testing where possible to validate data, an example of this is block identifiers are validated against the palette of the Bedrock and Java, this allows issues with faulty mappings to be identified in the build process. You can skip tests in the build process by appending -x test to the ./gradlew build command.

Some tests have been excluded from the default test suite marked with the "LongRunning" tag, this is because they can take several minutes to fully complete.

Currently unsupported features

The following features do not convert (or have limited conversion) when using Chunker:

License and Legal

The project is MIT licensed you can find details in the LICENSE.

This project is maintained by Hive Games. This project receives funding from Mojang Studios. Mojang Studios and it's parent company Microsoft assume no responsibility for the contents of this project.

We're hiring!

Join Hive Games, the company that maintains Chunker, 'The Hive' Minecraft featured server, and more! Check out our hiring page.