- True to the original version (0.0.30a)
- Implemented fully in C using SDL2 and OpenGL 1.1
- Works on Windows, Linux, and MacOS (with more to come)
- Sound effects and music (v1.1)
- Saving and loading levels (v1.1)
- Support for Emscripten, iOS, and Android (v1.2)
- Server support (v1.3)
- Raytracing mode (v1.4)
- LLVM/Clang (the project uses clang-specific extensions).
- SDL2 library and headers, which are provided in the corresponding
External.zip
. - If you're using Linux, grab the library with this command instead:
sudo apt-get install libsdl2-dev
- Clone or download the repository and rename top directory to
"MinecraftC/"
if it's not already - (Windows, MacOS) Drag the
"Libraries"
and"Include"
folders fromExternal.zip
into"MinecraftC/"
- Open the terminal in
"MinecraftC/"
- Run the following command, according to your OS:
- Windows:
./BuildScripts/Windows.bat
- MacOS:
sh BuildScripts/MacOS.sh
- Linux:
sh BuildScripts/Linux.sh
- Windows:
- The binary should have been exported to
"MinecraftC/Output"
- (MacOS) Optionally, you may sign the app by running
sh ./BuildScripts/MacOS-Sign.sh <DeveloperID>
- You can find your developer id by running
security find-identity
- You can find your developer id by running
If you're creating a mod and want to change or add any .png
resouces, then follow these steps to embed the files into .h
files:
- Put all
.png
files that you're modifying or adding into"MinecraftC/Tools/Input"
(you'll see that the original resources already exist there) - Run
python3 PNGEmbedder.py
- You will need to run
pip3 install pillow
if you do not already have PIL installed
- You will need to run
- All
.png
files in all subdirectories should have been automatically converted to.h
files and placed intoMinecraftC/Resources/
- Known bugs are listed here.
- There is no survival mode, it was initially implemented in the beta stage of this project however removed for a few different reasons:
- Very buggy and slowed down development,
- Not compatible with the beta raytracing mode,
- By removing it, this project avoids issues with the EULA by making the game, in essence, a mod.
Find any bugs? Want to show off something cool? Join our discord server.