Hey there! 👋
We’re super excited that you want to contribute to Squishy. It’s an open-source, high-performance Minecraft implementation, and we couldn’t do it without awesome community members like you. By contributing, you’re agreeing to follow our Code of Conduct—basically, just be kind, respectful, and collaborative.
There are lots of ways to pitch in:
- Report bugs – Help us squash those pesky issues.
- Submit code – Add new features, fix bugs, or improve existing functionality.
- Improve docs – Make our documentation clearer and easier for everyone.
- Share feedback – Test new stuff and tell us what works (or doesn’t).
Even small contributions make a big difference!
Here’s how to get your local setup ready:
-
Install the prerequisites Make sure you have JDK 21 or later installed.
-
Clone the repo
git clone https://github.com/mtctx/Squishy.git cd Squishy -
Open the project Open the
Squishyfolder in your favorite IDE (IntelliJ IDEA or VS Code with Kotlin plugins work great). Gradle should automatically detect the modules for you. -
Run the project
./gradlew run
This will build everything you need and start the Squishy client.
The more details you give, the faster we can fix it. When opening an issue on GitHub Issues, try to include:
- A short, clear title describing the problem
- Steps to reproduce the issue
- What you expected to happen vs. what actually happened
- Your Squishy version
- Your OS and system info
- Any logs or screenshots that help explain the problem
We love contributions! Before you start, make sure you’re familiar with our coding standards.
-
Fork the repo on GitHub.
-
Create a new branch with a descriptive name, like
feature/cool-new-thingorfix/bug-123:git checkout -b fix/issue-123-bug-name
-
Make your changes in the relevant module(s).
-
Write clear commit messages.
-
Push your branch:
git push origin your-branch-name
-
Open a Pull Request from your branch to the
mainbranch. -
Explain your changes in the PR description, and if it fixes a bug, reference it (e.g.,
Closes #123).
We follow standard Kotlin conventions. Make your code clean, readable, and consistent. You can use your IDE’s formatter
or a linter like Qodana (configured in qodana.yml).
Got questions, stuck on setup, or want to brainstorm an idea? Then just create a * *Discussion**.
Thanks for helping make Squishy even better! We really appreciate it. 💜