mirror of
https://gitea.sffempire.ru/Kolyah35/minecraft-pe-0.6.1.git
synced 2026-03-19 22:43:32 +00:00
200 lines
5.4 KiB
Markdown
200 lines
5.4 KiB
Markdown
# 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 .
|
||
``` |