4jcraft/README.md
2026-03-06 01:59:57 +01:00

2.4 KiB

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.)

Join our community:

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 \
  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, swap glfw-x11 to glfw-wayland, but its doesn't matter cuz xwayland got yourself covered

Configure & Build

# 1. Configure (only needed once, or after CMakeLists changes)
cmake .

# 2. Build (use -jN with your core count)
make -j$(nproc)

The binary is output to:

Linux/Debug/Minecraft.Client

Clean

make clean

To fully reset the CMake configuration (removes cache + generated Makefiles):

rm -rf CMakeCache.txt CMakeFiles cmake_install.cmake Makefile

then re-run:

cmake . && make -j$(nproc)

we also got meson say hi meson hii

Meson is bettr pls use over cmake

Install Meson

# Debian/Ubuntu
sudo apt install meson ninja-build

# Arch/Manjaro
sudo pacman -S meson ninja

Configure & Build

# 1. Configure that bih
meson setup build_meson

# 2. Build
ninja -C build_meson

The binary is output to:

build_meson/Minecraft.Client

Clean

Remove the build directory to do a full clean:

(CAREFUL SPONGEBOB CAREFUL)

rm -rf build_meson

Then re-run meson setup build_meson to reconfigure.

if u want release which u probably don't need right now

# Release build
meson setup build_release --buildtype=release
ninja -C build_release

Running

(this is temp)

./Linux/Debug/Minecraft.Client

(todo refactor) (todo refactor more)