Prerequisites
Before you start contributing, you need to set up your development environment:- Visual Studio 2022 - Required for building the project on Windows
- Windows operating system - Currently the only supported platform for building
- Git - For version control and submitting contributions
- DirectX 11 compatible GPU - Required for running the game
Contributors on macOS or Linux need a Windows machine or VM to build the project. While the game may run via Wine or CrossOver, the build environment itself only supports Windows.
Setting up your development environment
Install Visual Studio 2022
Download and install Visual Studio 2022 with the following workloads:
- Desktop development with C++
- Windows 10 SDK
Configure the startup project
Make sure
Minecraft.Client is set as the Startup Project:- Right-click on
Minecraft.Clientin Solution Explorer - Select “Set as Startup Project”
Select build configuration
Choose your build configuration:
- Debug (recommended for development)
- Release (has some known bugs - see Known Issues)
Building with CMake
If you prefer using CMake, you can build the project from the command line:CMake build instructions
CMake build instructions
Debug vs Release builds
Understanding the difference between Debug and Release builds is important for contributing:Debug build (recommended)
- Stability: More stable with fewer known issues
- Performance: Slower execution speed
- Debugging: Full debugging symbols and easier troubleshooting
- Use case: Development, testing, and debugging
Release build
- Stability: Has some known bugs and issues
- Performance: Faster execution with optimizations enabled
- Optimization: Compiled with
/O2 /Ot /Oi /Ob3 /GF /fp:preciseand Whole Program Optimization - Use case: Production builds and performance testing
Contribution workflow
Follow these steps when contributing to the project:Make your changes
Implement your feature or bug fix. Make sure to:
- Follow the existing code style (
.clang-formatis provided) - Test your changes in Debug mode
- Verify the game runs correctly with your modifications
Test your changes
IMPORTANT: Actually play the game with your changes! Untested PRs are not welcome.
- Build and run the project
- Test all affected functionality
- Take screenshots or record gameplay footage showing your changes in action
Pull request requirements
When submitting a pull request, include the following information:Description
Briefly describe the changes your PR introduces.Changes breakdown
- Previous Behavior: How the code behaved before your change
- Root Cause: The core reason behind the erroneous/old behavior (bug, design flaw, missing edge case)
- New Behavior: How the code behaves after your change
- Fix Implementation: Detail exactly how the issue was resolved (specific code changes, algorithms, logic flows)
Visual proof
Related issues
Reference any related issues:Code style
The project includes a.clang-format configuration file. Make sure your code follows the project’s formatting standards:
Testing your contributions
Before submitting a pull request:- Build successfully: Ensure your changes compile without errors or warnings
- Run the game: Launch the game and verify it starts correctly
- Test your feature: Thoroughly test the functionality you added or modified
- Test existing features: Make sure you didn’t break existing functionality
- Try both configurations: Test in Debug mode (and Release mode if relevant)
Getting help
If you need help with contributing:- Join the Discord server
- Check existing issues on GitHub
- Review the pull request template for guidance
Community guidelines
- Be respectful and constructive in all interactions
- Describe your changes clearly in commit messages and PRs
- Focus on quality over quantity
- Test your changes before submitting
- Be patient and responsive to feedback during code review