This repository contains most of the tools I used while building Bad Apple!! in Minecraft. This is a dump rather than an open-source project, so don't expect support, good code quality, or elaborate instructions.
Read the post on this project: We built the best Bad Apple!! in Minecraft.
Here's a very high-level explanation of the files in this repo:
config.jsonspecifies various information about the video and the Minecraft worldindependent_*.jsonfiles specify blockstates; no need to touch these unless you need to remove some blocks from there because you want to use them for decoration- Other JSON files are auxiliary assets, generated by scripts
badappleis a Rust crate with multiply binaries, invoked withcargo run --release --bin <binary_name>.pyfiles are Python scripts, using packages specified inrequirements.txt
To prepare a video, you need to, in order:
- Put the frames to the
framesdirectory as PNGs - Invoke the
ditherRust script - Invoke the
predict_superpixelsRust script - Invoke the
generate_pixelsPython script - Invoke the
render_framesRust script
This should generate the structures and fill the resource pack. For release, you then need to compress the resource pack and put it to resources.zip in the world directory.
utils.py generates instant structstone wire. Redstone is left as an exercise to the reader (consult the original world for that).