Skip to content
LeviMC
Back to search

Animated Mojang (Android ARM64)

by spygamingog

Animated Minecraft title, 60 FPS real-time 3D cave background, and cinematic camera transitions for Minecraft Bedrock on LeviLauncher (Android ARM64). Ported by SpyGamingOG. Requires LeviLamroid.

  • 1 star
  • Updated
client · 1.0.0

README1.0.0

Animated Mojang (Android ARM64)

Platform Engine Architecture Package Version

A high-performance native C++ client mod for Minecraft Bedrock Edition (Android ARM64) that renders a real-time 60 FPS 3D cave background, hardware-accelerated animated Minecraft title sequence, and seamless sub-menu camera transitions.


Authors & Attribution


Visual Showcase

Animated Mojang Main Menu Showcase


Compatibility

ComponentSpecification
Minecraft Bedrock1.26.44.3, 1.26.45.1, 1.26.51.1, 1.26.52.3, and compatible 1.26.x minor releases
PlatformAndroid ARM64 (aarch64-linux-android)
Hook EngineDynamic AArch64 Pattern Signatures + Dynamic ELF GOT Relocations
DependenciesNone (Self-contained Native C++ library, zero external loader runtime requirements)
Resource PackNone (Zero RP, direct functional memory suppression)
Supported LoadersLeviLauncher (LeviLaunchroid), PreLoader, Zygisk, or manual injection
Package FormatLeviPack (animated_mojang.levipack)

Key Features

  • Embedded OpenGL ES 3.0 Cave Renderer: Renders the authentic normal_cave.mesh (98,094 vertices) at 60 FPS with baked lighting, animated lava UVs, and soul torches via dynamic GOT hooking on glClear.
  • Hardware-Accelerated Title Animation: Direct 69-frame Minecraft title sequence rendered on the GPU render thread without JSON UI distortion.
  • Cinematic Timeline & Button Fade-In:
    • 0.0s – 4.0s: 3D camera spline flight through the cave with menu buttons hidden.
    • 4.0s – 6.0s: Camera settles at the title vista and plays the animated title sequence.
    • 6.0s – 7.5s: Start screen buttons smoothly fade into view over 1.5 seconds.
    • 7.5s+: Full interactive idle menu with zero GPU overlay overhead.
  • Sub-Menu Camera Navigation: Smooth camera glides to dedicated viewpoints for Worlds, Settings, Realms, Dressing Room, and Marketplace screens, returning smoothly to Main on exit.
  • Zero Resource Pack Requirement: Suppresses vanilla panorama and Ancient City cubemap directly in memory.
  • Zero In-World Overhead: Cave rendering automatically pauses during gameplay to preserve vanilla skies.
  • EGL Context Loss Recovery: Automatically reinitializes shaders, buffers, and textures on Android app switch or context reload.

Technical Hook Topology & Offsets

All hooks are resolved dynamically at startup via AArch64 pattern signatures (hookSignature) across all readable segments of libminecraftpe.so, dynamic ELF GOT parsing (hookGotSymbol) for graphics symbols, and audited golden RVA fallbacks:

Target FunctionSignature / Method1.26.52.31.26.51.11.26.45.11.26.44.3TypePurpose
ScreenTechStackSelector::getTechStackForScreenFD 7B BD A9 F5 0B 00 F9 ...0x0974E8440x0974E7A40x0938B7140x0938B7B4SignatureEnforces TechStack::JsonUI (0) on menu screens
StartMenuScreenController::$onOpenFF ?? ?? D1 FD 7B ?? A9 ...0x0A2DF3140x0A2DF2A40x09EBD95C0x09EBD9FCSignatureResets camera to Main vista upon return
StartMenuScreenController::tickFD 7B BA A9 FC 6F 01 A9 ...0x0A2E1FF40x0A2E1F840x09EC05D80x09EC0678SignatureTracks menu state and intro progression
StartMenu::_onPlayButtonFF 83 02 D1 FD 7B 07 A9 ...0x0A31344C0x0A3133DC0x09EF3D640x09EF3E04SignatureGlides camera to Worlds vista (CavePage::Worlds)
StartMenu::_onSettingsButtonFF 43 02 D1 FD 7B 06 A9 ...0x0A3171AC0x0A31713C0x09EF72C00x09EF7360SignatureGlides camera to Settings vista (CavePage::Settings)
StartMenu::_onRealmsButtonFF 43 02 D1 FD 7B 06 A9 ...0x0A3174DC0x0A31746C0x09EF75F00x09EF7690SignatureGlides camera to Realms vista (CavePage::Realms)
StartMenu::_onDressingRoomButtonFF 43 02 D1 FD 7B 06 A9 ...0x0A31815C0x0A3180EC0x09EF82700x09EF8310SignatureGlides camera to Profile vista (CavePage::DressingRoom)
StartMenu::_onSkinsMenuButtonFF 83 03 D1 FD 7B 0B A9 ...0x0A317C1C0x0A317BAC0x09EF7D300x09EF7DD0SignatureGlides camera to Skins vista
StartMenu::_onMarketplaceButtonFF 83 03 D1 FD 7B 0B A9 ...0x0A3187A40x0A3187340x09EF88A40x09EF8944SignatureGlides camera to Marketplace vista (CavePage::Marketplace)
StartMenu::_onAchievementsButtonFF 43 02 D1 FD 7B 06 A9 ...0x0A3169780x0A3169080x09EF69E40x09EF6A84SignatureCamera feedback for achievements button
StartMenu::_onFeedbackButtonDual Signature Pattern0x0A314D580x0A314CE80x09EF52FC0x09EF539CSignatureCamera feedback for feedback button
StartMenu::_onSignInButtonFF 43 02 D1 FD 7B 06 A9 ...0x0A31972C0x0A3196BC0x09EF98880x09EF9928SignatureCamera feedback for sign-in button
Menu_ExitFD 7B BE A9 F3 0B 00 F9 ...0x0A5675400x0A5674D00x0A15248C0x0A15252CSignatureResets camera to Main vista when closing sub-menus
ProgressBarRenderer::$renderFF 03 05 D1 EF 3B 0A 6D ...0x09685F700x09685ED00x092BEC2C0x092BECCCSignatureRestyles progress bar to Crimson theme
InGamePlayScreen::renderFF C3 01 D1 FD 7B 03 A9 ...0x09ACC8280x09ACC7A80x0974066C0x0974070CSignatureDetects in-world rendering (disables cave in-game)
ClientInstance::requestLeaveGameFF 43 04 D1 FD 7B 0C A9 ...0x09800FF80x09800F580x0943C4300x0943C4D0SignatureDetects world exit, restoring main menu state
PanoramaRenderer::$renderED 33 B7 6D EB 2B 01 6D ...0x0967FA980x0967F9F80x092B8DC00x092B8E60SignatureSuppresses vanilla 2D panorama
CubemapBackgroundScreen::$renderFF 03 02 D1 FD 7B 04 A9 ...0x09B7C9E00x09B7C9600x097C99A40x097C9A44SignatureSuppresses Ancient City cubemap
DirectoryPackAccessStrategy::getAssetFD 7B BA A9 FC 0B 00 F9 ...0x111EEE940x111EEA540x1042D3600x1042D8C0SignatureDynamic asset interception (zero-RP textures & JsonUI)
ZipPackAccessStrategy::getAssetFD 7B BA A9 FC 6F 01 A9 ...0x111586700x111582300x1040D5280x1040DA88SignatureDynamic asset interception (zero-RP textures & JsonUI)
glClear (libGLESv2.so)Dynamic GOT (DT_JMPREL)0x132893D80x132890780x124C96880x124C9D28Dynamic GOT3D cave GPU injection & background capture
glColorMask (libGLESv2.so)Dynamic GOT (DT_JMPREL)0x132892880x13288F280x124C95380x124C9BD8Dynamic GOTHardware color mask suppression during flight
eglSwapBuffers (libEGL.so)Dynamic GOT (DT_JMPREL)0x132C7DC00x132C7A600x12507F200x125085C0Dynamic GOTSmoothstep button fade-in overlay pass

Installation

LeviLauncher (LeviLaunchroid)

  1. Obtain animated_mojang.levipack.
  2. Open LeviLauncher -> Mods -> Import -> Select animated_mojang.levipack.
  3. Verify the mod is enabled and launch Minecraft.

Configuration

Settings are saved in mods/AnimatedMojang/config/config.json:

KeyDefaultDescription
enabledtrueMaster mod toggle
preferJsonMainMenufalseUse JSON UI start screen (false renders title directly via GPU)
minecraftTitleAnimationtruePlay the animated Minecraft title sequence
caveBackgroundtrueRender the real-time 3D OpenGL ES cave background
restyleLoadingProgresstrueRestyle loading bar to Crimson theme
replayOnReturnToMenutrueReplay intro cinematic when returning from a world
maxPresentationSeconds15.0Intro camera flight timeout
blockMenuInputDuringIntrotrueBlock button clicks until flight and fade-in complete

Building from Source

# Requires Android NDK r25+ (or Termux Clang) and CMake 3.22+
./package_mod.sh

Generates dist/animated_mojang.levipack.


License

Install Animated Mojang (Android ARM64)

Run this in your server or client folder with lip:

lip install github.com/spygamingog/Animated-Mojang-Android#client@1.0.0
Download from GitHub