Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Minecraft Java 26.3 Rust Fork of Horizon Android MIT license Discord

Download · Discord · Android status · Roadmap · Mods · Build from source · Contributing · Horizon

Starling

Starling, formerly Horizon Android, is a lightweight port of Minecraft: Java Edition 26.3 to Android. Co-founded by JuanLuci, founder of Starling, and Vasysik, founder of Horizon Android. It is a fork of Horizon, the Java game rewritten in Rust: it reads the same worlds, follows the same rules and generates the same terrain as Java Edition, and is checked against it by differential harnesses. You play it on the files from your own copy of Minecraft; it is free, open source and unofficial. And it runs natively, with no Java virtual machine and no OpenGL translation in between, so it starts fast and plays smoothly on a phone.

Not an official Minecraft product. Not approved by or associated with Mojang or Microsoft. Starling contains no Minecraft code, assets or data: you need your own legally obtained copy of Minecraft: Java Edition 26.3.

Download

Join us on Discord for help, bug reports and news.

Starling v0.8.0. Already have Starling? Tap Update inside the game. New here? Download starling-0.8.0-arm64-v8a.apk from the releases page and open it on the phone (Android asks you to allow installing apps from your browser or file manager).

You need Android 8 or newer, a compatible graphics driver, and about 2 GB free. See Android architectures for ABI, GPU and preparation limits; 32-bit x86 imports prepared resources. Sign in with a Microsoft account that owns Minecraft: Java Edition, or play offline (most servers need the sign-in). No computer: on the first start Starling downloads the game's files from Mojang's servers and prepares them on the phone, once (79 seconds on a POCO F6 Pro, longer on slower phones). Go fishing or change the settings while it works.

Development happens in starling-client/starling, on the starling branch, where Starling and Horizon Android are now one app. Builds of every push there are Starling Preview, in GitHub Actions (the starling-apk-<abi> artifact of a run; GitHub asks you to sign in to download it): an app of its own, installed beside the release, with its own StarlingPreview folder and sign-in. You can also build it from source.

What works today

  • Setting up on the phone: sign in with your Microsoft account, and the game's files come from Mojang and are prepared on the phone, by a Java runtime fetched just for that and removed after, with every language the game has. While it works, fish in a little pond, or change the settings in a hand-drawn skin made for this screen (the game's own look is part of what is being prepared). Resources prepared on a computer still open too.
  • The game: singleplayer with vanilla's world generation, mobs, villagers, raids, redstone, every command, the HUD and the recipe book, on saves in vanilla's format, saved as soon as the app leaves the screen. Worlds from 1.8 to 26.2 are upgraded as vanilla does. Starling follows Horizon closely: v0.2.0 has its main of 2026-11-02.
  • Touch controls: every action on screen, from the movement stick to the hotbar, chat, commands and F3, with a layout you can move, resize and fade in the game, before a world too, and Sneak as Hold or Toggle. Bedrock's control modes: a stick (floating or fixed) or a D-pad, and tap to interact (a tap hits the mob or uses the block under the finger, a press breaks the block, interacts with the mob or uses the item in the air) or aim crosshair. F3 held offers its combinations (chunk borders, hitboxes, tooltips...); Pick Block and the player list are buttons to turn on; the phone buzzes when a block breaks or a stack splits, and it can aim by turning (gyroscope, off by default). They wear Bedrock's own buttons, fetched on the phone from Mojang's samples repository after the preparing (Starling ships none of them, only their names and hashes), else Starling's own.
  • Custom controls: open H > Controls > Customize Controls, or Options > Controls > Customize Layout. The Horizon Android editor supports MCPE and GoyControl, separate presets, undo/redo, button dimensions, colors, visibility, and up to three input bindings. Look while interacting includes attack and use/place gestures; 360-degree movement is off by default. See Android controls.
  • Bedrock Inventory: the creative inventory shows the items and your inventory side by side, with six rows of items and a 2x2 crafting grid, and a tap takes a full stack. It is on by default; turn it off in Options > Controls for the Java layout.
  • Your name and your skin: in Options > Skin Customization, the name your worlds use and a skin from your files (or Starling/skins), classic or slim; a skin PNG opened with Starling is put on at once.
  • The phone's own keyboard: a tap on a text field brings it up and a tap beside it puts it away, on every screen. Its suggestions, autocorrect, swipe typing and clipboard in the chat, signs and books (commands and searches go without autocorrect), a Paste button on the chat bar, and Enter finishing a command when only one completion fits (/gamemode c runs /gamemode creative).
  • Coming from Horizon Android: Starling offers to bring its worlds and resource packs over, in the setup or over the title screen, and copies them: Horizon Android keeps its own.
  • Your files within reach: worlds, resource packs, shader packs, mods and screenshots live in a Starling folder on the phone's storage, which any file manager opens (turned down on the first start, it is offered again by the Open Pack Folder buttons). Open a .starling, .hmod or .hnmod file with Starling to add a pack, a world or a mod.
  • Made for phones: settings picked for your device on the first start, and a stats overlay for FPS, memory and temperature.
  • Horizon's own extras: new menus (vanilla's are one setting away), graphics presets and more, all off by default where they would change the vanilla look. See Settings.
  • Resource packs and data packs: resource packs work, and data packs load functions, predicates and item modifiers.
  • Servers: offline-mode servers, behind a proxy such as Velocity too, with their resource packs, coloured chat, boss bars, signs, workstation menus (enchanting, anvil, smithing...), flight and the attributes they set. Plugin servers' dialogs, chat buttons, custom armour (ItemsAdder, Nexo), models riding their mobs (ModelEngine, BetterModel) and clickable furniture work, and the touch stick moves in a way each server's anticheat (GrimAC and the like) accepts: Free Direction, D-pad or Analog, remembered per server.
  • Shader packs: Iris and OptiFine packs such as Complementary, MakeUp, BSL, Photon and Bliss run on the phone, translated when they load: put them in Starling/shaderpacks and pick one in Video Settings > Shader Packs, where the Auto profile fits it to the phone, beside Shader Options, Resolution and FPS Limit. On Auto on a Snapdragon 8 Gen 2: MakeUp 87 fps, Complementary Reimagined 59, BSL 54, Complementary Unbound 39, Photon 27 to 39. See the roadmap.
  • Starling Visuals: Starling's own shader pack, made for phones, which comes with the app: pick it in Video Settings > Shader Packs (packaging/shaderpacks/starling-visuals, also StarlingVisuals.zip on the releases page). Sunlight and shadows, water with waves and depth, haze thicker down low and at dawn, sun rays through the trees and clouds, bloom, and light from a torch in your hand.
  • Mods: Horizon's native mods (.hnmod), compiled from the phone itself, and content mods (.hmod). See Mods.

Android status

What the Android port covers so far; what is being done now and next is in the roadmap. The game itself is Horizon's: its parity audit, measured on the desktop, is in Horizon's project status (as of Starling's base).

PartProgressNotes
The game, singleplayer100%Horizon's game, as on the desktop
Touch controls100%Every action, with an editable layout and buttons of your own; a stick, a D-pad or Free Direction on servers; Bedrock's buttons, fetched from Mojang
Starling folder, .starling, .hmod and .hnmod files100%Packs, worlds, mods and game files, opened with Starling
Resource packs100%Server packs too, loaded without freezing the game
Performance tuning95%Settings picked per phone, resolution down to 25% for weaker ones; mid-range phones not measured yet
Settings100%Options that do nothing are greyed out, those a phone can't use are hidden
Mods95%Native mods compiled from the phone, tried end to end with test mods; content mods; a run over the registry's mods still to do
Servers100%Offline-mode servers and proxies, dialogs, chat buttons and links, secure chat with a signed-in account
Server plugins100%Custom armour from any pack, animated models riding mobs, block and item displays, clickable furniture, item cooldowns, HUD text without shadows
Movement on anticheat servers95%Free Direction, D-pad or Analog per server, no pull-backs on GrimAC or Pika in tests; breaking blocks as vanilla predicts them (a dig before the move into its space); some old-version servers behind ViaVersion still pull back
Shader packs95%Complementary, MakeUp, BSL, Photon and Bliss run on a phone, with an Auto profile and Shader Options; some effects still differ
APK builds and updates100%Signed releases on the releases page, offered and installed by the game itself from v0.1.0.1 (the first offered: v0.1.1); every push also builds an APK in GitHub Actions
Open to LAN and invites95%Horizon's, in the game; little tried on a phone so far
Physical controllers100%Android's gamepads, tried on a phone
Setting up on the phone100%Prepared on a phone in 79 s from the official 26.3 files, with Java fetched for it; fishing and hand-drawn settings while it works
Microsoft account sign-in100%On the first start and in the game (the title screen's corner); the code and the ownership check work on a phone

The title screen’s account button also manages saved Microsoft, Ely.by and offline profiles. See Android accounts for switching, registration and provider compatibility.

ARMv7 build instructions and GPU/memory limitations are documented in Android architectures. Release APKs are published for ARM64, ARMv7, x86 and x86_64; install the one matching your device.

Local crash reports, Android exit history and optional CPU/GPU performance recordings are available under Options → Diagnostics. Export a diagnostic ZIP, review it, then share it with a bug report. See Android diagnostics for contents, limits and controls. Before installation or after an early startup failure, Diagnostics also opens in a separate window; long-press the app icon to reach it without starting the game.

Mods

Starling runs Horizon's mods. Open the file with Starling, from your file manager or your downloads, and it shows up in Options > Mods.

  • .hnmod, native mods (ARM64 only): tap Compile. Starling tells you the risks, builds the game with your mods while you fish or mine, and restarts with them. It takes a few minutes and needs a connection, and after an update you compile again. The build service currently produces ARM64 libraries; other app architectures explain this limitation and do not offer compilation or prebuilt downloads. A native mod runs as part of the game, so install only the ones you trust. See native mods and how Starling builds them; wrench is an example.
  • .hmod, content mods: data-only mods, with nothing to compile. See mods.

The old Starling mods and the WebAssembly mod format of v0.1 are gone.

Build from source

For developers. Requirements: Rust 1.90 or newer with the aarch64-linux-android target, cargo-ndk, the Android SDK (build-tools 35.0.0, platform 36, NDK r28c), a JDK 25 and Python 3.10 or newer.

git clone -b starling https://github.com/starling-client/starling.git
cd starling
python packaging/android/build_apk.py            # the APK lands in target/android/

The build compiles Horizon's original exporter classes with the host JDK and packages their checked bundle. It uses HORIZON_MINECRAFT_DIR as a read-only source when set; otherwise it downloads checksum-pinned compilation inputs into an ignored build cache. Minecraft jars, libraries and assets are never packaged.

The setup's hand-drawn skin is made by python packaging/lowbudget/make.py (with Pillow) into packaging/lowbudget/pack, which the APK carries as it is.

The APK contains no game files. On the phone, Starling downloads them from Mojang's servers and prepares them there. To prepare them on a computer instead, it builds its resources from your own copy of Minecraft: Java Edition 26.3, verified against the checksums in research-lock.json, the same way Horizon does:

  1. Client: install Java Edition with the official launcher and play 26.3 once. Horizon reads versions/26.3/, libraries/ and assets/ from the launcher's game directory. If yours lives elsewhere, pass --minecraft-dir or set HORIZON_MINECRAFT_DIR.
  2. Server jar: the 26.3 server jar, from the downloads.server.url in your launcher's versions/26.3/26.3.json. Pass it with --server-jar or set HORIZON_SERVER_JAR.
cargo run --release -p horizon-prepare -- --prepare --server-jar ~/Downloads/server.jar   # needs JDK 25

The prepared files land in the gitignored .local/horizon-client/26.3. Zip that folder, rename the zip to .starling and open it with Starling. It is derived from the game: never commit it or share it.

Contributing

Issues and pull requests are welcome: see CONTRIBUTING.md. Changes to the game itself belong upstream, in Horizon; Starling is the Android app around it.

Licence

MIT, for the project's original work only, as Horizon's. Dependencies keep their own licences. Minecraft is a trademark of Mojang Synergies AB; Minecraft code and assets belong to Mojang and Microsoft and are covered by the Minecraft EULA. Prepared resources stay on your devices and are never published.

Third-party credits and licenses: Third-party notices.

Author

Starling, the Android port, by JuanLuci (@JuanLuci). Horizon made by Ludovic Marie (@ludovic111).

Tested on a POCO F6 Pro (Snapdragon 8 Gen 2, Adreno 740, 12 GB of RAM, Android 16). It has also run on a Tecno Pova 7, on Mali-G57 and Mali-G68 GPUs, on a Redmi Note 8 (Mali-G52) and on many others.

关于 About

Starling, formerly Horizon Android: Android port of Horizon (Rust Minecraft 26.3) with Vulkan, editable touch controls and native .hmod mods.
androidhorizonminecraftrusttouch-controlsvulkan

语言 Languages

Rust81.4%
Python11.8%
Java6.2%
WGSL0.4%
Shell0.2%
GLSL0.1%
CSS0.0%
JavaScript0.0%
PowerShell0.0%
Dockerfile0.0%
HTML0.0%
C++0.0%
C0.0%
Nix0.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
17065
Total Commits
峰值: 9344次/周
Less
More

核心贡献者 Contributors