A Minecraft: Java Edition Launcher for Android and iOS based on Boardwalk. This repository contains source code for Android platform.

artdeell 11e0be0ec6 Fix[mouse]: restore translationZ attribute 3 days ago
.github 9a24cdea20 Chore: Update the bug report template (#4812) 5 months ago
app_pojavlauncher 11e0be0ec6 Fix[mouse]: restore translationZ attribute 3 days ago
arc_dns_injector 30ec1e2df8 Fully automated Forge version list and installation 10 months ago
forge_installer d5fc862f0e Feat[agent]: modpack version ID fixer 8 months ago
gl4es @ b9c0c79dd9 7c0a69fb6c Fix[UI_PROGRESS]: non anti-aliased text 1 year ago
gradle 79fb01150e Feat: Update Gradle to 7.6.1 and prepare for Gradle 8.0 (#4074) 1 year ago
jre_lwjgl3glfw 84550a2fb7 Update LWJGL 3 months ago
scripts 4a8c1e4bc0 Feat[LWJGL]: update to 3.3.1 (#4326) 8 months ago
.gitignore d00565ebac Feat[modpack]: move CF API key into a string resource 8 months ago
GPLAY_PRIVACY_POLICY 403fe60d13 Create GPLAY_PRIVACY_POLICY 3 years ago
LICENSE 70be70128b Update LICENSE 3 years ago
PRIVACY_POLICY_ru 18888221cb Create PRIVACY_POLICY_ru 1 year ago
README.md 60c01ead50 fix(docs): remove sepeator that goes through PojavLauncher logo (#5245) 4 weeks ago
build.gradle 79fb01150e Feat: Update Gradle to 7.6.1 and prepare for Gradle 8.0 (#4074) 1 year ago
crowdin.yml cad494366b Change translation file path (prepare a pull req) 3 years ago
dataremoval.md d965ef0bc5 Update dataremoval.md 3 days ago
gradle.properties 79fb01150e Feat: Update Gradle to 7.6.1 and prepare for Gradle 8.0 (#4074) 1 year ago
gradlew 79fb01150e Feat: Update Gradle to 7.6.1 and prepare for Gradle 8.0 (#4074) 1 year ago
gradlew.bat 79fb01150e Feat: Update Gradle to 7.6.1 and prepare for Gradle 8.0 (#4074) 1 year ago
settings.gradle 30ec1e2df8 Fully automated Forge version list and installation 10 months ago

README.md

PojavLauncher

PojavLauncher logo

Android CI GitHub commit activity Crowdin Discord Twitter Follow

  • From Boardwalk's ashes here comes PojavLauncher!

  • PojavLauncher is a launcher that allows you to play Minecraft: Java Edition on your Android device!

  • It can run almost every version of Minecraft, allowing you to use .jar only installers to install modloaders such as Forge and Fabric, mods like OptiFine and LabyMod, as well as hack clients like Wurst, and much more!

  • For more details check out our wiki

    Some notes to start with

  • We do not have an official TikTok account. No one from the dev team makes TikTok videos.

  • The official Twitter for PojavLauncher is @PLaunchTeam. Any others (most notably @PojavLauncher) are fake, please report them to Twitter's moderation team.

Navigation

Introduction

  • PojavLauncher is a Minecraft: Java Edition launcher for Android and iOS based on Boardwalk.
  • This launcher can launch almost all available Minecraft versions ranging from rd-132211 to 1.19 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 PojavLauncher_iOS.

Getting PojavLauncher

You can get PojavLauncher via three methods:

  1. You can get the prebuilt app from stable releases or automatic builds.

  2. You can get it from Google Play by clicking on this badge: Google Play

  3. You can build from source.

    Building

    If you want to build from source code, follow the steps below.

    Java Runtime Environment (JRE)

  4. JRE for Android is here, and the build script is here.

  5. Follow build instruction on build script README.md.

  6. You can also get CI auto builds if you are lazy or are failing to build it for some reason.

  7. Either get the jre8-pojav artifact from auto builds, or split all artifacts by yourself:

    • Get JREs for all of 4 supported architectures (arm, arm64, x86, x86_64)
      • Split JRE into parts:
      • Platform-independent: .jar files, libraries, configs, etc...
      Platform-dependent: .so files, etc...
  • Create:
  • A file named universal.tar.xz with all platform-independent files
    4 files named bin-<arch>.tar.xz with all platform-dependent files per-architecture
  • Put these in the assets/components/jre/ folder
  • (If needed) update the Version file with the current date
  • LWJGL

    The build instructions for the custom LWJGL are available over the LWJGL repository

    The Launcher

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

    • On Linux, Mac OS:

      chmod +x scripts/languagelist_updater.sh
      bash scripts/languagelist_updater.sh
      
    • On Windows:

      scripts\languagelist_updater.bat
      

      Then, run these commands or build using Android Studio.

    • Build GLFW stub:

      ./gradlew :jre_lwjgl3glfw:build
      
    • Build the launcher

      ./gradlew :app_pojavlauncher:assembleDebug
      

      (Replace gradlew with gradlew.bat if you are building on Windows).

    Current status

    • OpenJDK 9 Mobile port: ARM32, ARM64, x86, x86_64. Replaced by JRE8.
    • OpenJDK 8 Mobile port: ARM32, ARM64, x86, x86_64
    • OpenJDK 17 Mobile port: ARM32, ARM64, x86, x86_64
    • Headless mod installer
    • Mod installer with GUI. Used Caciocavallo project for AWT without X11.
    • OpenGL in OpenJDK environment
    • OpenAL (works on most devices)
    • Support for Minecraft 1.12.2 and below. Used lwjglx, a LWJGL2 compatibility layer for LWJGL3.
    • Support for Minecraft 1.13 and above. Used GLFW stub.
    • Support for Minecraft 1.17 (22w13a to be exact) and above. Used Holy GL4ES
    • Game surface zooming.
    • New input pipe rewritten to native code to boost performance.
    • Rewritten entire controls system (thanks to @Mathias-Boulay)
    • More to come!

    Known Issues

    • Controller mods aren't working.
    • Random crashes could happen very often on Android 5.x when loading the game or joining a world.
    • With big modpacks textures could be messed up
    • Probably more, that's why we have a bug tracker ;)

    License

    Contributing

    Contributions are welcome! We welcome any type of contribution, not only code. For example, you can help the wiki shape up. You can help the translation too!

    Any code change to this repository (or iOS) should be submitted as a pull request. The description should explain what the code does and give steps to execute it.

    Credits & Third party components and their licenses (if available)