alexytomi cca5cc63de fix: Fix mimetype issues with stock android not matching .mrpack
We want to be able to grey out files that are not .zip or .mrpack  so
people can have an easier chance of seeing their modpacks. To do this,
we match the `application/x-modrinth-modpack+zip` and `application/zip`
mimetypes as prescribed in the Modrinth documentation
https://support.modrinth.com/en/articles/8802351-modrinth-modpack-format-mrpack.

Stock android does not have `application/x-modrinth-modpack+zip`. OEM
vendors seem to include this in their ROMs, possibly from just using
https://gitlab.freedesktop.org/xdg/shared-mime-info as part of where
they source their additional mimetypes from.

There's a tendency for Android 12 and below to not have the
`application/x-modrinth-modpack+zip` mimetype, likely due to the
addition of it being relatively recent, so we have to account for that
by also adding `application/octet-stream`.

We cannot only have `application/octet-stream` or else it fails to match
.mrpack in systems that have `application/x-modrinth-modpack+zip`.

Sadly there seems to be no reliable way to check whether or the the ROM
has the `application/x-modrinth-modpack+zip` mimetype so we just match
it along with `application/octet-stream` to cover our bases.
2025-12-29 03:03:16 +08:00
2025-12-25 23:32:51 +08:00
2024-09-26 16:32:12 +03:00
2022-05-13 16:40:44 +03:00
2025-04-19 16:03:41 +08:00

Angel Aura Amethyst

Amethyst logo

Android CI GitHub commit activity Crowdin Discord

From Boardwalk's ashes and PojavLauncher's ruined reputation, here comes Amethyst!

Amethyst is a launcher that allows you to play Minecraft: Java Edition on your Android and iOS devices.

For more details, check out our wiki!

Table of Contents

Introduction

  • Amethyst is a Minecraft: Java Edition launcher for Android and iOS based on Boardwalk and PojavLauncher
  • This launcher can launch almost all available Minecraft versions ranging from rd-132211 to 1.21 snapshots (including Combat Test versions)
  • Modding via Forge and Fabric are also supported.
  • This repository contains source code for Android. For iOS/iPadOS, check out Amethyst-iOS.

Getting Amethyst

You can get Amethyst via two methods:

  1. Releases: Download the latest prebuilt app from nightly.link or select an older version from our automatic builds.
  2. Build from Source: Follow the building instructions below.

Building

The easiest way to build Amethyst is to use the pre-built JREs provided by our CI.

  1. Clone the repository: git clone --recursive https://github.com/AngelAuraMC/Amethyst-Android.git
  2. Build the launcher: ./gradlew :app_pojavlauncher:assembleDebug (Use gradlew.bat on Windows)

The built APK will be located in app_pojavlauncher/build/outputs/apk/debug/.

Detailed Build

If you need more control over the build process, follow these steps:

  1. Java Runtime Environment (JRE): Download the jre8-pojav artifact from our CI auto builds. This package contains pre-built JREs for all supported architectures. If you need to build the JRE yourself, follow the instructions in the android-openjdk-build-multiarch repository.

  2. LWJGL: The build instructions for the custom LWJGL are available over the LWJGL repository.

  3. Language List: Because languages are auto-added by Crowdin, you need to run the language list generator before building. In the project directory, run:

    • Linux/macOS:
      chmod +x scripts/languagelist_updater.sh
      bash scripts/languagelist_updater.sh
      
    • Windows:
      scripts\languagelist_updater.bat
      
  4. Build GLFW stub: ./gradlew :jre_lwjgl3glfw:build

  5. Build the launcher: ./gradlew :app_pojavlauncher:assembleDebug (Replace gradlew with gradlew.bat on Windows).

Current Status

  • OpenJDK 8 Mobile port: ARM32, ARM64, x86, x86_64
  • OpenJDK 17 Mobile port: ARM32, ARM64, x86, x86_64
  • OpenJDK 21 Mobile port: ARM32, ARM64, x86, x86_64
  • Headless mod installer
  • Mod installer with GUI
  • OpenGL in OpenJDK environment
  • OpenAL (works on most devices)
  • Support for Minecraft 1.12.2 and below
  • Support for Minecraft 1.13 and above
  • Support for Minecraft 1.17 (22w13a) and above
  • Game surface zooming
  • New input pipe rewritten to native code
  • Rewritten entire controls system
  • More to come!

Known Issues

See our issue tracker for a list of known issues and their current status.

FAQ

See our wiki for more information.

Contributing

Contributions are welcome! We welcome any type of contribution, not only code. For example, you can help improve the wiki, contribute to the translations, or submit bug reports and feature requests.

Any code change should be submitted as a pull request. The description should explain what the code does and give steps to execute it.

Support

For support, please join our Discord server.

License

Amethyst is licensed under GNU LGPLv3.

Credits & Dependencies

Roadmap

We are currently focusing on:

  • Exploring new rendering technologies.

Future plans include:

  • Improving stability and performance.
  • Enhancing the mod installation experience.

We welcome community feedback and suggestions for our roadmap. Please feel free to open a feature request in our issue tracker.

Description
No description provided
Readme 1.4 GiB
Languages
Java 72.5%
C 27.4%