After some deliberation, I decided that hardcoding the world generation would not be worth it. Instead, I created a new library that can read world generation settings (among other things) from datapacks and act on them. This new library can be found at:
https://github.com/picawawa4000/dpreader
A C++ repository containing several Minecraft seed regeneration utilities.
MCMapper is currently in an experimental state. APIs are subject to constant change, most notably if VSCode ever implements C++20 modules.
Headers with a fairly stable API include:
-
mcmapper/densityfunction/*.hpp -
mcmapper/biome/*.hpp -
mcmapper/data/*.hpp -
mcmapper/util.hpp -
mcmapper/rng/rng.hpp -
mcmapper/rng/noise.hpp -
mcmapper/terrain/spline.hpp -
mcmapper/terrain/internoise.hpp -
mcmapper/densityfunction/base.hpp
Headers that are currently lacking features, or that may be split or otherwise refactored, include:
mcmapper/rng/noises.hppmcmapper/loot/loot.hppmcmapper/loot/builtin_loot.hppmcmapper/misc/generator.hppmcmapper/structure/structure.hppmcmapper/structure/structures.hppmcmapper/structure/gen/mansion.hppmcmapper/terrain/terrain.hppmcmapper/terrain/terrainextra.hpp
Headers that are completely unfinished include:
mcmapper/mcmapper.hppmcmapper/structure/gen/spiece.hppmcmapper/datapack/loader.hpp
See TODO.md for a more precise list of places where the library needs fixing.
Can be found in thirdparty.