This a skeleton for creating mods for the minecraftpe-linux launcher
Futher documentation explaining what each function is used for / needed for will be added to this project - alongside information on the additional requisites needed to create mods for the launcher. Basic fundamental knowledge of Reverse Engineering - both static (i.e. with IDA Pro) and runtime (i.e. with PINCE, cheat engine with ceserver, and ReClass) - as well as knowledge of the Itanium ABI and C++ is required. If this is your first time attempting any of this, don't be disparaged! It is not easy, but there are several mods endorsed by the launcher that provide a footing on how these concepts are applied.
- LeviLamina - Moreso relevant for the UWP version of the game, but still provides a good understanding of the game's structure.
- CrackedMatter and GameParrot - two very talented individuals who have done a lot for modding.
- FloppyDB - IDA pdbs for the Windows game, as well as a few old android files. Highly useful.
To use mods on the launcher, a mods directory needs to created in the data root directory of the launcher.
Native/Aur:
~/.local/share/mcpelauncher
Flatpak:
~/.var/app/io.mrarm.mcpelauncher/data/mcpelauncher/
Prerequisites:
- Android NDK r27 or later. Download (Also available via brew or the AUR)
- CMake 3.21 or later
Building:
Replace /path/to/ndk with the correct path to the Android NDK.
Struggling to find this? Try running find / -name "android-ndk" 2>/dev/null
cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/ndk/build/cmake/android.toolchain.cmake -DANDROID_ABI=x86_64 -DCMAKE_BUILD_TYPE=Release -B build
cmake --build build
Under Settings > Build, Execution, Deployment < CMake create a new profile (i.e. named 'AndroidRel' for a release build).
Under this new profile, add the following to the CMake options box:
Replace Release with the desired build type (i.e. debug, relwithdebug, etc.)
-DCMAKE_TOOLCHAIN_FILE=/path/to/ndk/build/cmake/android.toolchain.cmake -DANDROID_ABI=x86_64 -DCMAKE_BUILD_TYPE=Release -B build`
-
CrackedMatter with his countless mods - invaluable to the core functionality of this project.
-
Safetyhook for runtime procedure hooking.
-
Libhat the most based memory hacking library, used for pattern scanning.