Coder Social home page Coder Social logo

bohirjon1996 / pojavlauncher Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pojavlauncherteam/pojavlauncher

0.0 0.0 0.0 583.08 MB

A Minecraft: Java Edition Launcher for Android based on Boardwalk. Note that v2 will not able to run Minecraft 1.12+.

License: GNU General Public License v3.0

Java 97.61% Makefile 0.05% C 2.32% Batchfile 0.01% Shell 0.01%

pojavlauncher's Introduction

Android CI Crowdin Discord Reddit Google Play

PojavLauncher

Note

We do not exist on TikTok. No one from the dev team makes TikTok videos.

Navigation

Introduction

PojavLauncher is a Minecraft: Java Edition launcher for Android based on Boardwalk. This launcher can launch almost all available Minecraft versions (from rd-132211 to latest 1.17 snapshot, including Combat Test versions). Modding via Forge and Fabric are also supported.

Building

To get started, you can just get prebuilt app from stable release or automatic builds. If you want to build after launcher code changes, follow steps below.

Will be moved to BUILDING.md

Java Runtime Environment (JRE)

  • JRE for Android is here, also the build script here.
  • Follow build instruction on build script README.md.
  • You can also get CI auto builds.
  • Spliting JRE and put to the launcher: - 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:
    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 assets/components/jre/ folder
    - (If needed) update the Version file with the current date

LWJGL

  • Coming soon

The Launcher

  • Because languages are auto added by Crowdin, so need to run language list generator before building. In this 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 build use Android Studio.
# Build GLFW stub
./gradlew :jre_lwjgl3glfw:build
# mkdir app_pojavlauncher/src/main/assets/components/internal_libs
rm app_pojavlauncher/src/main/assets/components/lwjgl3/lwjgl-glfw-classes.jar
cp jre_lwjgl3glfw/build/libs/jre_lwjgl3glfw-3.2.3.jar app_pojavlauncher/src/main/assets/components/lwjgl3/lwjgl-glfw-classes.jar
        
# Build the launcher
./gradlew :app_pojavlauncher:assembleDebug

(Replace gradlew to 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
  • Mod installer headless
  • Mod installer with GUI. Used Caciocavallo project for AWT without X11.
  • OpenGL in OpenJDK environment
  • OpenAL (work on most devices)
  • Support Minecraft 1.12.2 and below. Used lwjglx, a LWJGL2 compatibility layer for LWJGL3.
  • Support Minecraft 1.13 and above. Used GLFW stub.
  • Game surface zooming.
  • New input pipe rewritten to native code to boost performance.
  • More...

Known Issues

  • Minecraft 21w10a or newer are currently not yet supported due to the new GLSL usage.
  • in 1.16 and up spawn eggs banners are white (you can fix this by adding this to your JVM flags -Dorg.lwjgl.opengl.libname=libgl4es_115.so, only works on 1.16 and up, do not use under this version)
  • controller mods aren't working
  • with big modpacks textures could be messed up
  • if your using gl4es 1.1.5 on 1.16 and lower texture will bug out when hit a mob
  • probably more, that's why we have a bug tracker ;)

License

Contributing

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.

Credits & Third party components and their licenses

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.