Minecraft rd-132211, in C++.
Status: Fully ported, there's still typos/mistakes i might've made while porting.
- This project is not supported by Mojang Studios, Microsoft and Notch.
- This project is only for non-commercial use. You wouldn't want to get Mojang angry.
- This project was made for educational and recreational purposes.
- This project will not contain source codes from JE 1.0.0 (release) and JE post-1.0.0 (release).
- The author of this project is not affiliated with Mojang Studios, Microsoft and Notch.
- Minecraft is a trademark owned by Microsoft Corporation.
- The author of this project does not claim ownership of this source code.
- The author of this project has bought a Minecraft Java Edition license officially, therefore,
the author of this project has got the Minecraft rd-132211's
client.jarlegally. - This project shall never contain assets (for example, textures) from Mojang Studios' games. The author of this project takes no responsibility for players using game assets from other games, while using this project.
- a GPU with OpenGL or Vulkan (for now, through Zink) support
- Your preferred toolchain/compiler (for example, i use Clang). MinGW probably has a Clang toolchain, but i haven't tried it yet.
libwebp sdl3 freeglut glew cmake
mingw-w64-gcc mingw-w64-headers mingw-w64-cmake mingw-w64-glew mingw-w64-sdl3 mingw-w64-libwebp mingw-w64-freeglut
If you know how to use CMake, then this shouldn't be a problem. Just configure and build!
After building, cl_MC should work like a charm! However, if you installed libraries not through a package manager, then you might have to install all them onto your system.
From the root directory of this project, execute this:
cmake -B BuildWin -DCMAKE_TOOLCHAIN_FILE=toolchain-mingw64.cmake
This should configure stuff in the BuildWin directory. Then build by executing this:
cmake --build BuildWin
Then, to run cl_MC on Windows, you have to copy all DLLs required to run cl_MC (i just copied all of them from /usr/x86_64-w64-mingw32/bin), the cl_MC.exe itself and Assets folder into one folder. Now it should run without a problem!
- Custom world format that looks actually like a format (Original rd-132211 has only
bytes stored in)- Contains: Width, Height, Depth (
int)
- Contains: Width, Height, Depth (
- Using SDL3 instead of LWJGL2 (though i'd like to see you use LWJGL in C++ :〉 )
- Fullscreen mode (F11 to toggle)
- Swapped actions for left and right mouse buttons
- Now storing Textures in a dictionary, can be found with a block's name (example:
Textures::bindPRO("Grass")) - Block textures now stored separately and in Assets/Blocks/*.webp
- Now using WebP format instead of PNG (because WebP is just better).
- Using custom textures instead of original to avoid additional legal trouble.
- Rendering with Vulkan
- Native modding support
- You can sometimes mine/craft blocks through blocks (somewhat similar to seamshots?)
- Chunk loading is slower