Skip to content
 
 

Repository files navigation

Air Icon

Air

A polished Minecraft: Java Edition launcher for iOS, optimized for Chinese users.

Forked from Amethyst-iOS-MyRemastered

Build Status Downloads Release License Last Commit

English | Chinese


What is Air?

Air is a customized fork of Amethyst-iOS-MyRemastered, a premium Minecraft: Java Edition launcher for iOS and iPadOS. This fork focuses on the Chinese user experience -- delivering robust Chinese localization, in-app language switching, streamlined JIT handling for iOS 26+, and bug fixes sourced from upstream issue audits.

Not sure which fork to use? See the Fork Network section below for a comparison of active forks and their unique features.


What's Different from Upstream

Change Description
LWJGL 3.4.1 Compatibility Updated LWJGL to a 3.4.1-compatible layer, enabling mods like Sodium 0.9+ that require LWJGL >= 3.4.1. Uses developer herbrine8403's approach: 3.3.x base modules + lwjgl-callback-descriptor.jar (3.4.1) + source overlay for dual-API compatibility.
Minecraft 26.3 via SDL3 MC 26.3 dropped GLFW for SDL3. We ported the SDL3-embedding approach from ZalithLauncher2 (its Android sdl_hook.c became Natives/sdl3_hook.m: ES profile forcing, main-window reuse, Vulkan loader handle sharing, EGL compat retry) and ship a patched libSDL3.dylib (patches/sdl3-amethyst.patch: uikit touch passthrough, text-field re-add safety, host-view embedding).
Native-Resolution Rendering Fix Root-caused and fixed the entire resolution chain: swapped EGL query constants, 1x render-scale pin, and SDL3 point/pixel size split. The game now renders 1:1 at native 2x retina resolution with sharp visuals on both the SDL3 (26.3) and LWJGL/GLFW (26.2) paths.
Pixel-Accurate Touch Input Fixed the long-standing input-offset bug (pixel-vs-point semantic mismatch across the input bridge). Touch coordinates now land exactly where your finger is, in-game and in menus.
Custom Controls Editor Fixes Fixed the crash when saving an edited control (unrecognized selector doUpdateButton:from:to: -- the editor was presented through a UINavigationController wrapper) and restored the full-screen editing canvas from the Settings entry. Undo history is now scoped to the editor's lifetime.
Windowed Mode Restored iPadOS 26 multitasking/windowing re-enabled (UIRequiresFullScreen removed). The earlier suspicion that windowed mode caused the split-picture/blur bugs was disproven -- the true root causes (EGL constants, px/pt semantics) were fixed instead. Backgrounding resilience (MINIMIZED event handling) is mode-independent and stays.
Optimized JIT Re-launch When JIT is already enabled on non-iOS-26 devices, the game launches directly without re-requesting via stikjit://. On iOS 26+ devices that require debug JIT mapping, the UniversalJIT26 script is loaded silently (without showing a waiting dialog) to avoid background transition crashes while still ensuring brk instructions are handled.
In-App Language Switching Added a language picker in Settings > General that allows switching between Follow System, Simplified Chinese, and English without restarting the app. The localize() function respects the user's choice while maintaining the full fallback chain.
Enhanced Chinese Localization Complete Chinese UI translation (1955+ lines), more comprehensive than upstream.
Bug Fixes from Upstream Issue Audit 8+ bug fixes identified through systematic review of upstream and upstream's upstream GitHub issues, including nil crash in JIT script loading, UIKit thread safety, KVO observer cleanup, and more.
Makefile Robustness Fixed TAB-to-space indentation issues that caused CI build failures.

Fork Lineage

PojavLauncherTeam/PojavLauncher_iOS          (Original upstream - official PojavLauncher iOS port)
        |
        v
herbrine8403/Amethyst-iOS-MyRemastered       (Major remastered fork - UI overhaul, mod management,
                                            BMCLAPI support, multi-account, auto renderer/JVM)
        |
        v
Gsjsjzhznsz/Air-Minecraft-iOS-Launcher       (THIS REPO - Chinese UX, JIT optimization,
                                            in-app language switch, bug fixes, LWJGL 3.4.1)

Table of Contents

Core Features

  • Modern UI Redesign -- The interface has been deeply refined for a contemporary, polished visual style.
  • Resource Management & Downloads -- Browse, enable, disable, and delete mods, shader packs, resource packs, and other assets, with integrated Modrinth and CurseForge download support.
  • Modpack Import -- Import ZIP-format modpacks directly from the launcher interface.
  • Smart Download Sources -- Switch between Mojang Official, BMCLAPI mirror, and other sources on the fly for optimal download speeds.
  • Complete Chinese Localization -- Fully translated interface with native-quality Chinese language support. In-app language switching between Chinese and English available in Settings.
  • Unrestricted Accounts -- Local accounts, demo mode, and third-party authentication all supported; no Microsoft account required to download and play.
  • Multi-Account -- Seamlessly switch between Microsoft, local, and third-party authentication accounts.
  • Auto Renderer Selection -- Automatically chooses the optimal rendering backend (including MobileGlues, MoltenVK, and more) when set to Auto.
  • Auto JVM Selection -- Automatically selects the correct JVM version (Java 8, 17, 21, or 25) based on the game version.
  • Minecraft 26.X Support -- Experimental support for Minecraft 26.x: 26.2 runs through the LWJGL/GLFW path, 26.3+ runs through the SDL3 path (embedding approach ported from ZalithLauncher2).
  • Custom Mouse Pointer -- Customize the virtual mouse pointer skin in settings.
  • Custom News URL -- Configure a custom news feed URL for the launcher home screen.
  • TouchController Support -- Communicates with the TouchController mod via both UDP local proxy and XCFramework, delivering full touchscreen control on iOS.
  • AI Integration -- (In development) The goal is to enable AI to fully manage the launcher, including resource downloads and instance management.
  • Custom App Icons -- (In development)

... and much more to explore!

Note

There are no plans to port this remastered version to Android. The Android ecosystem already has excellent launchers such as Zalith Launcher, Fold Craft Launcher, and ShardLauncher. For the official Android version, visit Amethyst-Android.

Quick Start

For complete documentation, refer to the Amethyst Official Wiki or the Bilibili tutorial. Below is a condensed guide.

Device Requirements

Tier iOS Version Supported Devices
Minimum iOS 14.0+ iPhone 6s+, iPad 5th gen+, iPad Air 2+, iPad mini 4+, all iPad Pro, iPod touch 7th gen
Recommended iOS 14.5+ iPhone XS+ (excl. XR/SE 2nd gen), iPad 10th gen+, iPad Air 4th gen+, iPad mini 6th gen+, iPad Pro (excl. 9.7-inch)

Caution

iOS 14.0--14.4.2 has known critical compatibility issues. Upgrading to iOS 14.5 or later is strongly recommended. iOS 17.x and 18.x are supported but require a companion computer for initial JIT configuration (see the Official JIT Guide).

Sideload Preparation

Prioritize tools that support permanent signing and automatic JIT enablement:

  1. TrollStore (Recommended) -- Permanent signing, automatic JIT, increased memory limits. Compatible with select iOS versions. Download from official repo
  2. AltStore / SideStore (Alternative) -- Requires periodic re-signing; initial setup needs a computer and Wi-Fi. Only compatible with development certificates (must include com.apple.security.get-task-allow entitlement for JIT). Distribution certificate signing services are not supported.

Warning

Only download sideloading tools and IPA files from official or trusted sources. The author is not responsible for device issues caused by unofficial software. Jailbroken devices support permanent signing, but daily-driver jailbreaking is not recommended.

Installation

Official Release (TrollStore)
  1. Download the .tipa package from Releases.
  2. Open the file with TrollStore via the system share menu to complete installation.
Official Release (AltStore / SideStore)
  1. Download the .ipa package from Releases.
  2. Import the IPA into your sideloading tool following its standard installation procedure.
Nightly Builds (Development Testing)

[!CAUTION] Nightly builds may contain critical bugs including crashes and startup failures. Use only for development and testing purposes.

  1. Navigate to the GitHub Actions page and download the latest IPA artifact.
  2. Import the IPA into your sideloading tool (AltStore, SideStore, etc.) to install.

Enabling JIT

JIT (Just-In-Time compilation) is essential for smooth gameplay. Choose the approach that matches your environment:

Tool External Device Wi-Fi Required Auto-Enable Notes
TrollStore No No Yes Preferred; no additional action needed
AltStore Yes Yes Yes Requires AltServer running on local network
SideStore First time only First time only No Device/network-free after initial setup
StikDebug First time only First time only Yes Device/network-free after initial setup
Jitterbug Yes (without VPN) Yes No Manual trigger required
Jailbroken No No Yes System-level automatic support

Contributors

  • @herbrine8403 -- Original Amethyst-iOS-MyRemastered author
  • @EternityQwQ -- Metal Universal Mod support
  • @LanRhyme -- iOS 26 compatibility and logging improvements
  • @WeiErLiTeo -- Mod download integration, TouchController optimizations
  • @Li2548 -- Upstream synchronization

Fork Acknowledgments

This project would not exist without the following fork chain:

  • PojavLauncherTeam/PojavLauncher_iOS -- The original iOS Minecraft launcher that started it all.
  • herbrine8403/Amethyst-iOS-MyRemastered -- The major remastered fork that added the modern UI, mod management, BMCLAPI support, multi-account, and auto renderer/JVM selection. This is the direct upstream of Air.
  • ZalithLauncher/ZalithLauncher2 -- The SDL3 window-embedding approach used for Minecraft 26.3+ was borrowed from this project: its Android-side sdl_hook.c compatibility layer was ported to iOS as Natives/sdl3_hook.m, and its SDL embedding patches informed our patches/sdl3-amethyst.patch against the SDL uikit backend. Vendored as the ThirdParty/ZalithLauncher2 submodule for reference.

About Translations

If you would like to contribute translations for this project, please go to Crowdin.

Third-Party Components

Component Purpose License Source
SDL3 Game window & input backend for MC 26.3+ (embedded in the host view, patched) zlib GitHub -- patched via patches/sdl3-amethyst.patch; embedding approach ported from ZalithLauncher2
Caciocavallo AWT runtime framework GPL-2.0 GitHub
jsr305 Code annotation support BSD-3 Google Code
Boardwalk Core functionality adaptation Apache-2.0 GitHub
GL4ES OpenGL-to-GLES translation MIT GitHub
Mesa 3D 3D graphics library MIT GitLab
MetalANGLE Metal-to-OpenGL ES translation BSD-2 GitHub
MoltenVK Vulkan-to-Metal translation Apache-2.0 GitHub
openal-soft Cross-platform 3D audio LGPL-2.0 GitHub
Azul Zulu JDK Java runtime (8/17/21/25) GPL-2.0 Website
LWJGL3 Java game development library BSD-3 GitHub
LWJGLX LWJGL2 compatibility layer -- GitHub
DBNumberedSlider UI slider control Apache-2.0 GitHub
fishhook Dynamic library rebinding BSD-3 GitHub
shaderc Vulkan shader compilation Apache-2.0 GitHub
NRFileManager File management utilities MPL-2.0 GitHub
AltKit AltStore integration -- GitHub
UnzipKit ZIP archive handling BSD-2 GitHub
DyldDeNeuralyzer Library verification bypass -- GitHub
MobileGlues Third-party renderer LGPL-2.1 GitHub
LTW OpenGL Core-to-ES wrapper LGPL-3.0 GitHub
authlib-injector Third-party authentication AGPL-3.0 GitHub

Additional thanks to MCHeads for Minecraft avatar services, Modrinth for mod distribution, and BMCLAPI for Minecraft download mirroring.

Sponsor

If you find this project valuable, consider supporting the original author through Ko-Fi, Afdian, or WeChat Reward Code.

Star History

Star History Chart

About

Air - 一款面向中国用户的 iOS Minecraft 启动器 (Amethyst Fork)。特性:JIT直接启动、应用内中英切换、增强中文本地化、LWJGL 3.4.1 兼容、上游Bug修复。

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages