| .devcontainer | ||
| .github/workflows | ||
| .github-assets | ||
| 4J.Input | ||
| 4J.Profile | ||
| 4J.Render | ||
| 4J.Storage | ||
| Common | ||
| Minecraft.Client | ||
| Minecraft.World | ||
| scripts | ||
| x64 | ||
| .gitignore | ||
| CONTRIBUTING.md | ||
| flake.lock | ||
| flake.nix | ||
| meson.build | ||
| README.md | ||
| struct | ||
4JCraft
Ported version of Minecraft Legacy Console edition to other systems
4JCraft is a modified version of the Minecraft Console Legacy Edition aimed on porting old Minecraft to different platforms (such as Linux, Android, Emscripten, etc.)
Join our community:
- Discord (Not currently available): https://discord.gg/zFCwRWkkUg
- Steam: https://steamcommunity.com/groups/4JCraft
Planned platforms to be supported:
- Linux (~85%)
- Emscripten (not started)
- PS3
- macOS (not started)
- iOS (not started)
- Android (not started)
Building (Linux)
Dependencies
Install the following packages before building (Debian/Ubuntu names shown):
sudo apt install \
build-essential cmake \
libglfw3-dev libgl-dev libglu1-mesa-dev \
libopenal-dev libvorbis-dev \
libpng-dev libpthread-stubs0-dev
On Arch/Manjaro:
sudo pacman -S base-devel gcc pkgconf cmake glfw-x11 mesa openal libvorbis glu
If you are on wayland, you may swap glfw-x11 to glfw-wayland for native wayland windowing instead of xwayland.
On Docker:
If you don't want to deal with installing dependencies, you can use the included devcontainer. Open the project in VS Code with the Dev Containers extension and it will set everything up for you - GCC 15, Meson, Ninja, lld, and all the libraries.
Alternatively, you can build and use the container manually:
docker build -t 4jcraft-dev .devcontainer/
docker run -it -v $(pwd):/workspaces/4jcraft -w /workspaces/4jcraft 4jcraft-dev bash
Configure & Build
Important
GCC 15 or newer is currently required to build this project. Ubuntu installations in particular may have older versions preinstalled, so verify your compiler version with
gcc --version.
This project uses the Meson (with Ninja) as a build system and lld as a linker.
Install Tooling
-
Follow this Quickstart guide for installing or building Meson and Ninja on your respective distro.
-
Install the
lldlinker using your distro's package manager. This may be distributed as part of an LLVM toolchain.Debian/Ubuntu:
sudo apt-get install lldRedHat/Fedora:
sudo dnf install lldArch/Manjaro:
sudo pacman -S lld
Configure & Build
# 1. Configure a build directory (we'll name it `build`)
meson setup build
# 2. Compile the project
meson compile -C build
The binary is output to:
./build/Minecraft.Client/Minecraft.Client
Clean
To perform a clean compilation:
meson compile --clean -C build
...or to reconfigure an existing build directory:
meson setup build --reconfigure
...or to hard reset the build directory:
rm -rf ./build
meson setup build