| .github/workflows | ||
| .github-assets | ||
| 4J.Input | ||
| 4J.Profile | ||
| 4J.Render | ||
| 4J.Storage | ||
| CMake | ||
| Minecraft.Client | ||
| Minecraft.World | ||
| scripts | ||
| x64 | ||
| .gitignore | ||
| CMakeLists.txt | ||
| CONTRIBUTING.md | ||
| flake.lock | ||
| flake.nix | ||
| meson.build | ||
| MinecraftConsoles.sln | ||
| 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 \
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)