# MinecraftPE > [!Warning] > Github repository **isnt main**. All issues and pull requests should be send in [Gitea Repository](https://gitea.sffempire.ru/Kolyah35/minecraft-pe-0.6.1). > [!Important] > We have a discord server, where you can report bugs or send feedback https://discord.gg/c58YesBxve Source code for **Minecraft Pocket Edition 0.6.1 alpha** with various fixes and improvements. This project aims to preserve and improve this early version of Minecraft PE. # TODO / Roadmap - [x] Add platform GLFW - [x] Compile for Linux - [x] Compile for android aarch64 - [x] Touch control improvements - [ ] Screen fixes - [ ] Rewrite platform logic - [x] Fix sound - [x] Do a server connection GUI - [ ] Controller support - [x] Minecraft server hosting - [x] Screen fixess - [x] Fix fog - [x] Add sprinting - [x] Chat (semi working) and commands - [x] Implementing options - [x] Better F3 # Build ## CMake ### Linux 1. Install dependiences (Debian-like) ``sudo apt install build-essential git cmake libgl-dev libwayland-dev xorg-dev libxkbcommon-dev`` (Arch-like) ``sudo pacman -S base-devel git cmake libglvnd wayland xorg-server-devel xorgproto libxkbcommon`` 2. Create build folder ``mkdir build && cd build`` 3. Generate CMake cache and build the project ``` cmake .. -B . cmake --build . ``` ### Windows 1. Install [Visual studio Build Tools](https://aka.ms/vs/stable/vs_BuildTools.exe) and [CMake](https://github.com/Kitware/CMake/releases/download/v4.3.0-rc3/cmake-4.3.0-rc3-windows-x86_64.msi) 2. Create build folder ``mkdir build && cd build`` 3. Generate CMake cache and build the project ``` cmake .. cmake --build . ``` ## Visual Studio 1. Open the repository folder in **Visual Studio**. 2. Visual Studio will automatically detect the `CMakeLists.txt` file and generate the project configuration. 3. Set **MinecraftPE.exe** as the **target**. 4. Press **Run** (or F5) to build and launch the game. ## Android ### Windows 1. Download **Android NDK r14b**: http://dl.google.com/android/repository/android-ndk-r14b-windows-x86_64.zip 2. Extract it to the root of your `C:` drive so the path becomes: ``` C:\android-ndk-r14b ``` 3. Run the build script: ```powershell # Full build (NDK + Java + APK + install) .\build.ps1 # Skip C++ compilation (Java/assets changed only) .\build.ps1 -NoCpp # Skip Java compilation (C++ changed only) .\build.ps1 -NoJava # Only repackage + install (no compilation) .\build.ps1 -NoBuild ``` ### Linux 1. Download **Command line tools**: https://developer.android.com/studio#command-line-tools-only 2. Unzip it into a folder, e.g.: ```bash mkdir -p "$HOME/Android/Sdk/" unzip commandlinetools-linux-*.zip -d "$HOME/Android/Sdk/" ``` 3. Your structure should look like ```bash $HOME/Android/Sdk/cmdline-tools/bin/sdkmanager ``` > [!NOTE] > `sdkmanager` expects the SDK to include a `cmdline-tools/latest/` folder. > If you only have `cmdline-tools/bin`, create the required layout: > > ```bash > mkdir -p "$HOME/Android/Sdk/cmdline-tools/latest" > ln -snf ../bin "$HOME/Android/Sdk/cmdline-tools/latest/bin" > ln -snf ../lib "$HOME/Android/Sdk/cmdline-tools/latest/lib" > ln -snf ../source.properties "$HOME/Android/Sdk/cmdline-tools/latest/source.properties" > ln -snf ../NOTICE.txt "$HOME/Android/Sdk/cmdline-tools/latest/NOTICE.txt" > ``` 4. Install the build tools (and platform) using `sdkmanager` ```bash export ANDROID_SDK_ROOT="$HOME/Android/Sdk" export PATH="$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$PATH" sdkmanager --install "platform-tools" "platforms;android-35" "build-tools;35.0.0" ``` > [!NOTE] > if you want build.sh to always find the SDK, > Set ANDROID_SDK_ROOT in your shell config (~/.bashrc / ~/.profile / ~/.config/fish/config.fish), for example: > > ```bash > export ANDROID_SDK_ROOT="$HOME/Android/Sdk" > ``` > > Then restart your shell (or `source` the file) 5. Verify the install ```bash ls "$ANDROID_SDK_ROOT/build-tools" ``` You should see a version folder like: ```bash 35.0.0 33.0.2 ``` 6. Download **Android NDK r14b**: https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip 7. Extract the archive to `/home/username/`, so that the final directory path is `/home/username/android-ndk-r14b/` > [!WARNING] > Make sure you don’t end up with a nested folder like `/home/username/android-ndk-r14b/android-ndk-r14b/`. 8. Re run `build.sh` ## Web 1. Download and install **emsdk**: https://emscripten.org/docs/getting_started/downloads.html > [!NOTE] > On arch linux you can use AUR: > `yay -Sy emsdk` 2. Configure and build project: ``` mkdir build && cd build cmake .. -B . -G Ninja "-DCMAKE_TOOLCHAIN_FILE=$EMSDK/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake" cmake --build . --target MinecraftPE ``` > [!NOTE] > If you are using VSCode with CMake plugin, you can add Emscripten kit > 1. Press Ctrl + Shift + P > 2. Type `CMake: Edit User-Local CMake Kits` and hit Enter > 3. Add this: ```json { "name": "Emscripten", "compilers": { "C": "/usr/lib/emsdk/upstream/bin/clang", "CXX": "/usr/lib/emsdk/upstream/bin/clang++" }, "toolchainFile": "/usr/lib/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake" } ``` 3. Run game: ``` emrun --port 8080 . ```