Repository navigation
UI layout revamp, improvements, and updates
Upgrades the Chimera Launcher with four workstreams:
-
Client-side hit registration (Bedrock)
New inbuilt mod (ModIds.HIT_REGISTRATION) with configurable Aim Smoothing (0–95%), center crosshair overlay, and hit flash feedback.
Exponential-moving-average look smoothing that only eases large swipes (keeps fine aim 1:1); nonzero delta passthrough untouched.
Hooked into the real input pipeline: MinecraftActivity.pojavSendLookDelta (smoothing) and pojavSendMouseButton (flash). Overlay is a non-touchable window so no input is stolen. -
UI layout revamp + touch reactiveness
Press-scale velocity-kicked springs + elevation + haptic feedback (UiTouchFeedback) on hero card, all quick-action cards, launch/version buttons, sign-in, mods/news/content view-all links., account avatars.
Hero-card pulse + glow gated via isShowAnimations() / isEnableGlowEffects().
Press feedback skips entirely when animations are disabled (reduced motion respect.
-
Low Input Delay — stronger
Replaced the idle 250 ms GPU redraw poll (4fps) with a near-free 500 ms menu-state flag check that only repaints on real pause-menu/HUD transitions in low-latency mode.
Every touch (surface/button/joystick) now does an instant menu-state check that fires visibility refresh the moment the state flips (no stale overlay buttons after opening/closing the pause menu).
PojavControls.setLowLatencyMode(...) now live-pokes the overlay on toggle so no path remains stalled..
-
64-bit + 32-bit instance support
ABI badges (32-bit amber / 64-bit green) on the hero card, instance list, and version picker..
Bitness-aware preflight (requireLauncherSupportsVersion / abiMismatchMessage) that surfaces a clear explanation before any loadLibrary instead of a mid-launch dlopen crash..
64-bit-only prebuilts (gxcore, mtbinloader2, PlayFab/MSDK) are excluded/treated optional on 32-bit devices so a 32-bit launcher build no longer aborts..Note: Android locks each process to one bitness at install, so a 64-bit process cannot dlopen a 32-bit minecraftpe.so. The launcher handles this explicitly: detects, surfaces a clear error, and refuses to attempt an impossible load (rather than crashing) while running every 64-bit variant fully..
-
Reduce Network Latency — stronger
TCP_NODELAY + TCP Quick ACK + interactive buffer sizing (LowLatencyNetworkManager.configure(...)) now apply to every launcher OkHttp client: CurseForge, preloader signature rules, avatar fetches (Main/Base/Accounts/About), content downloads, GitHub release updater/news polls..
DNS prefetch covers GitHub/CurseForge/Google + popular Bedrock multiplayer endpoints; background polls pause during active game sessions.
Validation
./gradlew :app:assembleDebug → BUILD SUCCESSFUL (includes CMake/native packaging; APK verified: lib/arm64-v8a/libgxcore.so, libinbuiltmods.so, libmtbinloader2.so)..
Testing notes
No Android emulator/KVM in dev — validated via full assemble + APK contents check.. On-device spots to check: hit-reg smoothing feel, crosshair/flash, low-latency overlay visibility after pause menu toggles, ABI badges/preflight for a imported 32-bit version, Wireshark/strace TCP_NODELAY on launcher sockets..