- C++ 35.4%
- Objective-C++ 27.6%
- PHP 10.6%
- Python 10.3%
- CMake 5.6%
- Other 10.4%
| .github/workflows | ||
| cmake | ||
| Minecraft.Client/iOS | ||
| scripts | ||
| third_party | ||
| upstream@b56d5e2951 | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| CONTRIBUTING.md | ||
| INSTALL.md | ||
| README.md | ||
| ROADMAP.md | ||
| SOL_RECOVERY_PLAN.md | ||
| STATUS.md | ||
LCERevelations-iOS
Native iOS / iPadOS port of LCE-Revelations — a stabilization of the original Minecraft: Legacy Console Edition (TU19) source.
No game assets are committed to this repo. The release
.ipabundles the LCE assets (staged from the private source at build time), so it works out of the box — you can still override any asset by dropping your own into the app's Documents folder.
Built as a fork of the excellent dtentiion/MCLCE-iOS framework, retargeted from the TU19 vault to the LCE-Revelations tree. The iOS platform layer — the Win32→POSIX shim, the Ruffle-based Flash UI, miniaudio, the CMake iOS toolchain, and CI — is all inherited from that project.
What this is
A real native .ipa you sideload (AltStore / Sideloadly / TrollStore). No emulator, no Wine, no JIT tricks — it's the C++ game compiled with the iOS toolchain, same as upstream.
- UI: LCE's stock Flash (
.swf) menus, run by a patched Ruffle. - Audio: miniaudio — the same library console LCE uses.
- Controller: Xbox / PlayStation / MFi via Apple's GameController framework. A controller is required — no on-screen touch controls.
Status
The device build compiles + links clean and produces an installable .ipa; the ~1000-TU gameplay-simulation layer compiles for iOS ARM64. LCE-Revelations turned out to be ~99% TU19-compatible, so reconciliation was minimal.
Now running the real engine. The port has moved off the hand-written game loop onto the upstream Minecraft.cpp client itself: an iOS platform layer boots new Minecraft(...) on a background thread, runs the engine's static-registry bootstrap, and Minecraft::init() fully completes on device/simulator (real Textures + terrain/item atlas stitch, Font, GameRenderer, all entity renderers, LevelRenderer, ParticleEngine, Gui, TitleScreen). Minecraft::run_middle() — the canonical tick+render frame — then drives every frame from the CADisplayLink. The LCE Flash main menu (Ruffle) renders while the engine is live underneath, and run_middle takes over rendering once a world is entered. Next: wiring world-entry through the real host/server flow, then re-attaching input / UI / sound / networking.
Install
- Download
Minecraft.LCE.ipafrom the Releases. - Sideload it with AltStore, Sideloadly, or TrollStore — it is unsigned, so the tool signs it at install time.
- Launch — assets are bundled, so it boots straight to the menu. (Advanced: drop your own SWF/font/music into the app's Documents folder to override.)
Requires iPhone/iPad on iOS 15+ and a controller.
Build it yourself
Needs a Mac with Xcode 15+, CMake, and Rust (aarch64-apple-ios target).
( cd third_party/ruffle_ios && cargo build --release --target aarch64-apple-ios )
bash scripts/patch-upstream-stdafx.sh && bash scripts/patch-gameswf.sh
cmake -S . -B build -G Xcode -DCMAKE_TOOLCHAIN_FILE=cmake/ios.toolchain.cmake -DPLATFORM=OS64 -DENABLE_WORLD_PROBE=ON
cmake --build build --config Release
# then zip Payload/Minecraft.LCE.app -> Minecraft.LCE.ipa
Submodules: upstream/ → LCE-Revelations, third_party/4JLibs → NetworkChorus/4JLibs (CI fetches them with a token).
Credits
- dtentiion/MCLCE-iOS — the iOS port framework this is built on.
- Ruffle, miniaudio, SPIRV-Cross.
Legal
Unofficial. Minecraft is a trademark of Mojang AB / Microsoft; not affiliated or endorsed. No game assets are redistributed — users provide their own.