Native iOS/iPadOS port of LCE-Revelations. Fork of dtentiion/MCLCE-iOS framework. Code-only, no game assets.
  • C++ 35.4%
  • Objective-C++ 27.6%
  • PHP 10.6%
  • Python 10.3%
  • CMake 5.6%
  • Other 10.4%
Find a file
Adam Rosenbaum 1d5ee3dcac
Some checks failed
iOS build / build (arm64, unsigned) (push) Has been cancelled
iOS build / world-probe (upstream gameplay TUs) (push) Has been cancelled
Stabilize authored UI and world rendering on iOS
2026-08-11 22:49:08 -06:00
.github/workflows iOS: bundle LCE game assets into the app (works out of the box) 2026-07-02 16:03:22 -06:00
cmake iOS: bundle menu UI textures (panorama + logo) + simulator support 2026-07-02 20:40:14 -06:00
Minecraft.Client/iOS Stabilize authored UI and world rendering on iOS 2026-08-11 22:49:08 -06:00
scripts Stabilize authored UI and world rendering on iOS 2026-08-11 22:49:08 -06:00
third_party Stabilize authored UI and world rendering on iOS 2026-08-11 22:49:08 -06:00
upstream@b56d5e2951 Stabilize authored UI and world rendering on iOS 2026-08-11 22:49:08 -06:00
.gitattributes add .gitattributes, normalize line endings to LF 2026-04-20 02:16:11 +01:00
.gitignore iOS: bundle LCE game assets into the app (works out of the box) 2026-07-02 16:03:22 -06:00
.gitmodules Repoint upstream/ -> NetworkChorus/LCE-Revelations, third_party/4JLibs -> NetworkChorus/4JLibs 2026-07-02 10:49:37 -06:00
CMakeLists.txt feat(ios): stabilize gameplay lifecycle and controls 2026-07-17 13:09:47 -06:00
CMakePresets.json cmake: add ios toolchain, root build, presets for device + simulator 2026-04-20 02:28:13 +01:00
CONTRIBUTING.md docs: refer to TU19 Legacy Console Edition by name and emphasize no game assets ship in this repo 2026-05-16 15:15:15 +01:00
INSTALL.md tooltips: alias skinHDWin.swf -> platformskinHD.swf at startup 2026-04-25 00:03:48 +01:00
README.md iOS: drive the real Minecraft::run_middle; menu via Ruffle over live engine 2026-07-05 23:49:36 -06:00
ROADMAP.md docs: refresh README / STATUS / ROADMAP for current state 2026-04-24 13:09:03 +01:00
SOL_RECOVERY_PLAN.md Document completed iOS integration pass 2026-08-08 16:46:26 -06:00
STATUS.md Document completed iOS integration pass 2026-08-08 16:46:26 -06:00

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 .ipa bundles 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

  1. Download Minecraft.LCE.ipa from the Releases.
  2. Sideload it with AltStore, Sideloadly, or TrollStore — it is unsigned, so the tool signs it at install time.
  3. 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

Unofficial. Minecraft is a trademark of Mojang AB / Microsoft; not affiliated or endorsed. No game assets are redistributed — users provide their own.