Minecraft: Java Edition launcher for iOS, based on PojavLauncher Android.
This launcher is now available at Procursus repository, thanks to @Diatrus!
- Introduction
- Building
- How can it work?
- Current status
- Known issues
- License
- Contributing
- Credits & Third party components and their licenses
- This is an attempt to get Minecraft Java run on a jailbroken iOS.
- Minimum requirements: device running iOS 12 or newer.
Requirements:
- Mac OS X (tested: 10.15)
- Xcode (tested: 11.7.0)
- Minimum iOS SDK: 13.4.
- JDK 8 installed
gradle
to build Java part.cmake
,wget
,ldid
,dpkg
andfakeroot
to package. Run in this directory
# Only run if you haven't installed JDK 8
brew install adoptopenjdk8
# Install required packages
brew install cmake wget ldid dpkg fakeroot gradle
# Give exec perm
chmod 755 *.sh
# Build natives part
./build_natives.sh
# Build java part
./build_javaapp.sh
# Sign with entitlements and package
./build_package.sh
- Use OpenJDK 16 from Procursus to get real Java environment.
- Use MetalANGLE for OpenGL ES -> Metal translator.
- Use GL4ES for OpenGL -> OpenGL ES translator.
- Use our LWJGL3 iOS port.
- Use same launch method as PojavLauncher Android.
- Java Runtime Environment: OpenJDK 16.
- LWJGL3 iOS port: works
- OpenGL: GL4ES
- Did Minecraft recognize OpenGL?
- OpenAL: use @kcat's openal-soft
- Input pipe implementation
- Account authentication (partial).
- Does it work? Partial.
- Currently, only Minecraft 1.6.1+ tested to fully works.
- Forge (1.13+), Fabric and OptiFine works well.
- (Some versions) Camera position will be jumped to random location on first time touch.
- It might crash sometimes, but try launch again until you get it works.
- Add Procursus repository (https://apt.procurs.us) (usually Sileo package manager already come with Procursus repo).
- Find and install
openjdk-jre
.
- Download openjdk-16-jre.deb.
- Install and open Filza File manager.
- Go to where the .deb file downloaded.
- Open it and press Install.
- If everything fine, it will ends up with
Setting up ...
.
- Account json directory:
/var/mobile/Documents/.pojavlauncher/accounts
. - Minecraft home directory:
/var/mobile/Documents/minecraft
. - You can also customize JVM Arguments in
overrideargs.txt
onminecraft
directory.
- PojavLauncher is licensed under GNU GPLv3.
Contributions are welcome! We welcome any type of contribution, not only code. Any code change should be submitted as a pull request. The description should explain what the code does and give steps to execute it.
- Contributors of PojavLauncher Android and here.
- Apache Commons: Apache License 2.0.
- jsr305: 3-Clause BSD License.
- org.json: The JSON License.
- Boardwalk (JVM Launcher): Unknown License/Apache License 2.0 or GNU GPLv2.
- GL4ES by @lunixbochs @ptitSeb: MIT License.
- MetalANGLE by @kakashidinho and ANGLE team: BSD License 2.0.
- OpenJDK 16 ported to iOS by @Diatrus: GNU GPLv2 License.
- LWJGL3: BSD-3 License.
- LWJGLX (LWJGL2 API compatibility layer for LWJGL3): unknown license.