Open-source project
GRAnimated/MinecraftLCE avatar
GRAnimated/MinecraftLCE

MinecraftLCE is a decompilation of the Switch build of Legacy Console Edition

11.217% - Decompilation of Minecraft: Legacy Console Edition

623 stars27 forksC++License varies

At a glance

What is it?
The GRAnimated MinecraftLCE project is a work in progress decompilation of Minecraft: Nintendo Switch Edition v1.0.17, at 11.217 percent according to the repository description, using the Switch build as the base because it was compiled with Clang and can be matched instruction for instruction. It ships no game assets and is not a playable game.
Who is it for?
Adopt MinecraftLCE as a reference and a research base if you work on reverse engineering, console porting or engine internals, and you are willing to supply your own dumped main and a matching toolchain. Do not adopt it as a way to obtain or play the game, since the repository states it contains no assets and cannot be used to play, and the README is explicit that the executables are never provided in the repository.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 20 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A decompilation at 11.217 percent, and explicitly not a game

The repository description is unusually precise about what this is: 11.217 percent, decompilation of Minecraft Legacy Console Edition. The README calls it a WIP decompilation of Minecraft: Nintendo Switch Edition v1.0.17.

The most important sentence in the document is the one that follows the title area, and it is not a disclaimer that can be skipped. This repository does not contain game assets and cannot be used to play the game. That is a factual statement about what the artefacts are, and it removes the most common misunderstanding about decompilation projects of this kind. What is here is source code reconstructed from a binary, and the binary itself, the actual game, is not in the repository.

The primary language is C++, the default branch is main, the homepage is a Discord invite, and the repository has no GitHub releases. The last push was on 2026-10-03, and the top level entries show a conventional project layout with a .clang-format, a CMakeLists.txt, a .gitattributes for line ending and merge handling, .gitmodules for submodules, and directories for data/, docs/, lib/, src/, toolchain/ and tools/.

The audience is people who want to read how a shipped console game is put together. A decompilation of this kind is a readable form of the binary, with names, types and control flow recovered, and for engine work, protocol work or porting work it is a very different artifact from a disassembly listing.

Why the Switch build and not the Wii U build

The README has a whole section explaining why Nintendo Switch Edition is the base, and the reasoning is about compiler matching rather than about the game itself.

Legacy Console Edition released for the Xbox 360, PS3, PS Vita, Wii U, Xbox One, PS4 and Nintendo Switch. The Wii U Edition is the only edition to contain function symbols, and the decompilation would work off that version if it were not for the compiler toolchain, GHS, being abysmal. The chance of finding a matching compiler version is described as next to none, so the assembly would not match either way. A decompilation that cannot match the original assembly is not a decompilation in the strict sense, it is a rewrite, and the project wanted the former.

The Nintendo Switch Edition was compiled with Clang, where the compiler version is reasonably easy to find just from the release date of the game. The stated advantage is that the assembly can be matched 1:1. There is a cost, and the README is candid about it: Clang is much more lenient compared to GHS. On old-gen platforms LCE relied heavily on Boost, while on new-gen platforms that was replaced with the standard library, so the code can be matched without using the library's functions, but it would not be a 1:1 match on most other platforms.

The last paragraph explains what the Switch edition alone would be worth. Without any symbols at all, the Switch Edition would be pretty worthless on its own, and it also contains typeinfo, which means vtables are already located for the researchers. With both editions of LCE open in IDA or Ghidra, porting symbols becomes a bad chore rather than an impossible task.

So the choice of base is a compiler choice, and the choice to use two editions is a symbols choice. Both are stated up front rather than discovered later.

Symbols come from the Wii U build, and the legal line is explicit

The Resources section is where the project's boundaries are drawn, and it is worth reading closely because it contains both a practical requirement and a legal warning.

The practical requirement is a dump. The project requires a main dumped from the latest Minecraft: Nintendo Switch Edition update, v1.0.17. For porting symbols, the README strongly recommends getting the Minecraft.Client.rpx from Minecraft: Wii U Edition Patch 35, v560, and warns that only basing things off the base or latest update will hurt you in the long run.

The legal and ethical position is stated with equal clarity. The README says that although 4J, Mojang and Microsoft have never taken action on dumps of the LCE games uploaded online, these executables will never be provided in the repository directly. It also says they have taken down projects that have not been clean-room in their research, and it names a specific case: the official Minecraft: Java Edition mappings, which are licensed by Microsoft and cannot be used within the scope of this project.

That last point is the one to take seriously. The project is careful to separate its own reverse engineering work from material Microsoft publishes under licence, and that separation is what keeps it on the right side of the line it draws for itself. The same care applies to the assets: the repository carries no game assets and cannot be used to play the game, which keeps it clear of the distribution question entirely.

The version alignment is also pinned, and the numbers are specific. The latest Nintendo Switch Edition is v1.0.17, and that version only matches up with Wii U Edition's Patch 35, v560. Wii U Edition would then get a further 8 updates, up to v688, before LCE was abandoned for good.

The timeline explains the shape of the project. The Nintendo Switch Edition release only lasted for a year before being replaced with Minecraft Bedrock, so LCE's life support was cut off early for current-gen users at the time, and it did not receive the Update Aquatic release that other LCE ports did.

The repository layout is a toolchain, not just source

The directory listing says more about how a project like this is organised than the README does, because a decompilation is as much a build engineering problem as a reverse engineering one.

The toolchain/ directory is the reason a decompilation of this kind can exist at all. Matching assembly 1:1 means compiling with the exact compiler version the original used, with the right flags, targeting the right architecture, and comparing the output byte for byte. That infrastructure is code, and it lives in the repository rather than in each contributor's notes.

The src/ directory holds the reconstructed source, lib/ holds the libraries the game links against, data/ holds the game's data structures, and tools/ holds the supporting tooling. CMakeLists.txt at the root is the build entry point, and.clang-format defines the formatting rules for the reconstructed code, which matters for a project where many contributors submit patches and the diff has to be reviewable.

There is a.gitattributes file, which is standard but worth noticing in a project with many contributors on different platforms, and.gitmodules for the submodules that the build depends on.

The README itself is short. Building instructions live in docs/BUILDING.md, contribution guidance in docs/CONTRIBUTING.md, and the progress image is pulled from a separate MinecraftLCE-docs repository, which suggests the documentation is maintained as its own project.

For the origin, the README credits two prior decompilation efforts. This repository is based on the BOTW decomp, zeldaret/botw, and the building instructions are based on the Super Mario Odyssey decompilation, MonsterDruide1/OdysseyDecomp. Both are the same genre of problem, reverse engineering a shipped Nintendo game into compilable source, so the tooling and the review conventions carry over rather than starting from scratch.

What this project is for, and what it is not for

There is a clear line here that is easy to state and worth stating plainly, because decompilation projects attract readers who expect one thing and get another.

This is not a playable game. The README says so directly, and the absence of assets means there is nothing to play even if you built the binaries. It is not a distribution channel for the game, and the executables are deliberately never committed to the repository. It is not a way to obtain Minecraft: Legacy Console Edition on hardware it does not run on.

What it is, is a readable reconstruction of a shipped commercial game, with a build system that aims to reproduce the original binary exactly. That is valuable for three groups. Engine and toolchain people can see how a shipped title implemented things like its renderer, its networking or its resource pipeline, in a form that compiles and can be stepped through. Porting efforts get a reference for what the original code did, rather than a black box to guess at. And reverse engineering educators get a case study with a real toolchain, since the same matching-compiler discipline applies to any decompilation.

The limitations follow from the same facts. The 11.217 percent figure means most of the game is not yet reconstructed, so a reader looking for one specific subsystem may find it missing. The assembly matching works for the Switch Edition on its own terms, and the README says the Boost based code on old-gen platforms would not be a 1:1 match. And the 1:1 goal means the reconstructed source is constrained to what the original compiler accepted, which is a different thing from what a developer would have written.

There is also no licence recorded for the repository itself. The project record lists the licence as one that GitHub could not classify, and the top level entries show no LICENSE file, so the legal terms of the reconstructed code are not something to infer from the README.

Where the project stands

The status signals are consistent with an active but young reverse engineering effort.

The last push was on 2026-10-03, the default branch is main, and there are no GitHub releases, so the artefact of record is the branch rather than a published binary. The 11.217 percent progress figure in the repository description is a running number that the separate docs repository maintains, and the progress image is the first thing the README shows.

The project also has a working relationship with two other decompilations, the Breath of the Wild and Super Mario Odyssey efforts, and a Discord server as its community hub.

If you are evaluating it, the concrete questions are practical ones. Do you have the Switch Edition v1.0.17 dump and a matching Clang, and can you get the Wii U Patch 35 rpx for the symbols, since the README says the symbols are needed for the work to be worth doing at all. Can you read and write C++ at the level of a shipped console title, since the reconstructed code is dense. And can you accept a repository with no stated licence, which for a project built on reverse engineered code is arguably an open question rather than an oversight.

For a project at this stage of completion, the realistic contribution is a subsystem rather than a feature, and the first thing to do is read docs/CONTRIBUTING.md and see which area is unclaimed.

Editorial conclusion

Adopt MinecraftLCE as a reference and a research base if you work on reverse engineering, console porting or engine internals, and you are willing to supply your own dumped main and a matching toolchain. Do not adopt it as a way to obtain or play the game, since the repository states it contains no assets and cannot be used to play, and the README is explicit that the executables are never provided in the repository. Before you start, read the licensing note about Mojang and Microsoft action against non clean-room projects, obtain a dump of the Switch Edition v1.0.17, and plan to source the Wii U Minecraft.Client.rpx separately for symbols.

Frequently asked questions

What is MinecraftLCE and how far along is it?

It is a work in progress decompilation of Minecraft: Nintendo Switch Edition v1.0.17, and the repository description puts the progress at 11.217 percent. The primary language is C++ and the default branch is main.

Can I use MinecraftLCE to play the game?

No. The README states plainly that this repository does not contain game assets and cannot be used to play the game, and it also says the game executables are never provided in the repository directly.

Why does MinecraftLCE base its decompilation on the Nintendo Switch Edition?

Because it was compiled with Clang, so the compiler version can be found from the release date and the assembly can be matched 1:1, whereas the Wii U build uses the GHS toolchain and a matching compiler is described as next to none. The trade-off is that Clang is more lenient, and the Boost based code from old-gen platforms would not be a 1:1 match.

What do I need to start working on MinecraftLCE?

The README says the project requires a main dumped from the latest Minecraft: Nintendo Switch Edition update, v1.0.17, and strongly recommends the Minecraft.Client.rpx from Minecraft: Wii U Edition Patch 35, v560 for porting symbols, since the Switch build alone has no function symbols and would be worthless without them.

Official sources

  1. GRAnimated/MinecraftLCE on GitHub
  2. Issues
  3. Project website
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/granimated-minecraftlce.svg)](https://hysenlabs.com/projects/granimated-minecraftlce)

Was this useful?