Leaked version of Minecraft Legacy Console Edition. Not for commercial purposes
Find a file
2026-03-08 22:43:43 +01:00
.devcontainer build(docker): add clang and lld for llvm compilation support 2026-03-08 22:39:41 +01:00
.github/workflows ci: build and bundle debug binary alongside release 2026-03-06 10:07:32 +01:00
.github-assets OH SHIT 2026-03-01 22:10:23 +04:00
4J.Input painful update 2026-03-06 18:31:46 +01:00
4J.Profile refactor: unglob std::wstring 2026-03-08 22:43:43 +01:00
4J.Render its so peak 2026-03-08 15:14:26 +01:00
4J.Storage refactor: unglob std::wstring 2026-03-08 22:43:43 +01:00
Common chore: resolve some void* memset cast warnings 2026-03-08 22:43:43 +01:00
Minecraft.Assets Document asset stuff abit 2026-03-08 22:42:33 +01:00
Minecraft.Client refactor: begin unglobbing std::vector 2026-03-08 22:43:43 +01:00
Minecraft.World refactor: unglob std::enable_shared_from_this 2026-03-08 22:43:43 +01:00
scripts refactor: unglob std::shared_ptr 2026-03-08 22:43:43 +01:00
x64 Initial dump 2026-03-01 15:49:25 +02:00
.gitignore refactor: unglob std::wstring 2026-03-08 22:43:43 +01:00
CONTRIBUTING.md Removed README.md link lol 2026-03-08 22:39:41 +01:00
flake.lock added flake for reproducible builds on NixOS 2026-03-03 05:55:42 +01:00
flake.nix chore(flake): sync dependencies and tools with devcontainer 2026-03-08 22:39:41 +01:00
meson.build Create dedicated assets project to enable localisation header generation 2026-03-08 22:42:32 +01:00
README.md docs: update README to better represent scope 2026-03-08 22:40:55 +01:00
victims.yml test 2026-03-06 23:50:56 +01:00

Logo 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.) and refactoring the codebase to improve organization and use modern C++ features.

Join our community:

Scope & Platform Support

At the moment, we're aiming to support the following platforms:

  • Linux (~85%, rough estimate)
  • Emscripten (not started)
  • macOS (not started)
  • iOS (not started)
  • Android (not started)

All efforts are focused towards a native Linux port, OpenGL rendering pipeline, and modernizing the existing LCE codebase/tooling to make future platform ports easier.

Windows64 and other platforms originally supported by LCE are currently unsupported, since the original Visual Studio tooling has been stripped from this repository and replaced with our own.


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

If you are using GCC, then 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 build system (with Ninja).

Install Tooling

Follow this Quickstart guide for installing or building Meson and Ninja on your respective distro.

Configure & Build

# 1. Configure a build directory (we'll name it `build`)
meson setup build

# 2. Compile the project
meson compile -C build

Tip

For the fastest compilation speeds, you may want to use the compilers and linkers provided by an LLVM toolchain (clang/lld) over your system compiler and linker. To do this, install clang and lld, and configure your build using the llvm_native.txt nativescript in /scripts:

meson setup --native-file ./scripts/llvm_native.txt build

...or if you've already configured a build directory:

meson setup --native-file ./scripts/llvm_native.txt build --reconfigure

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

whoever downloaded Common pls refetch & pull this there are updates