Case study
MinecraftLCE: an early-stage Minecraft: Nintendo Switch Edition decompilation
Decompiles Minecraft: Nintendo Switch Edition v1.0.17, a Legacy Console Edition release, into C++ that is compared function by function with the original executable using a patched Clang 4.0.1 and the open-ead Switch decompilation tools. The README explains the choice of the Switch build for its matchable Clang toolchain and type information, with names ported from the symbol-bearing Wii U Edition. At the reviewed commit the function list marks about 11% of functions decompiled, most of them matching; the result cannot run the game.
Requirements & limits
- README describes a work-in-progress decompilation of Minecraft: Nintendo Switch Edition v1.0.17 that cannot be used to play the game. At the reviewed commit data/mcswitch_functions.csv lists 57,972 functions: 6,279 matching, 224 non-matching and 51,469 not yet decompiled, the 11.217% that a workflow writes into the GitHub description. Matched functions are checked individually; there is no whole-executable rebuild.
- Supply the main NSO executable from your own Minecraft: Nintendo Switch Edition v1.0.17 update; the Wii U Edition’s Minecraft.Client.rpx (Patch 35, v560) is recommended only for porting symbols. README says these executables will never be provided in the repository and no game assets are included.
- Documented for Linux or WSL (with macOS also intended): Python 3.6+, Ninja, CMake 3.13+, ccache, llvm-objdump, libncurses5, a Rust toolchain and the listed Python modules. tools/setup.py converts the executable, downloads Clang 4.0.1 from the LLVM releases and applies the committed libc++ patches; submodules supply open-ead’s nx-decomp-tools, nnheaders and musl and the stb image library, and lib/ vendors libpng and zlib.
- tools/check compares compiled functions with the original and tools/common/progress.py summarises the function list. CI lints, compiles the project without the game and publishes progress counted from the committed function list, so matching status is project-reported; this collection built or ran nothing.
- No license file is present and GitHub detects none; Minecraft belongs to Microsoft and Mojang, and vendored libraries keep their own licenses. README says Microsoft-licensed Java Edition mappings cannot be used and notes that projects whose research was not clean-room have been taken down. The reviewed sources establish no AI or REA use.
About this entry
- Type
- Case study
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Targets
- Game
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · GRAnimated/MinecraftLCE · Revision 959e150
- docs/BUILDING.md GitHub · GRAnimated/MinecraftLCE · Revision 959e150
- docs/CONTRIBUTING.md GitHub · GRAnimated/MinecraftLCE · Revision 959e150
- data/mcswitch_functions.csv GitHub · GRAnimated/MinecraftLCE · Revision 959e150
- tools/setup.py GitHub · GRAnimated/MinecraftLCE · Revision 959e150
- tools/config.toml GitHub · GRAnimated/MinecraftLCE · Revision 959e150
- .gitmodules GitHub · GRAnimated/MinecraftLCE · Revision 959e150
- .github/workflows/test-compile.yml GitHub · GRAnimated/MinecraftLCE · Revision 959e150
- .github/workflows/update-progress.yml GitHub · GRAnimated/MinecraftLCE · Revision 959e150
More in Games
- Final Fantasy VII: a matching PlayStation decompilation · Case study
- Mega Man X Recompiled: a snesrecomp static recompilation · Case study
- OpenSC4: an early open-source reimplementation of SimCity 4 · Case study
- R.E.L.I.V.E.: an Oddworld Abe’s Oddysee and Abe’s Exoddus engine reimplementation · Case study
- Age of Empires Free Software Remake: a re-implementation on the original data · Case study
- God of War PS2 static recompilation: a native Windows port via PS2Recomp · Case study