mirror of
https://github.com/TeamMidnightDust/MidnightControls.git
synced 2025-12-13 23:25:10 +01:00
99 lines
3.5 KiB
Markdown
99 lines
3.5 KiB
Markdown
# Contributing to midnightcontrols
|
|
|
|
:tada: First of all, thanks for taking time to contribute! :tada:
|
|
|
|
The following is a set of guidelines for contributing to MidnightControls.
|
|
Feel free to propose changes to this document in a pull request.
|
|
|
|
**Table of Contents**
|
|
|
|
[Code of Conduct](#code-of-conduct)
|
|
|
|
[What should I know before I get started?](#what-should-i-know-before-i-get-started)
|
|
|
|
[How can I contribute?](#how-can-i-contribute)
|
|
|
|
[Styleguides](#styleguides)
|
|
|
|
## Code of Conduct
|
|
|
|
This project and everyone participating in it is governed by the [Code of Conduct](https://github.com/LambdAurora/midnightcontrols/blob/master/CODE_OF_CONDUCT.md).
|
|
By participating, you are expected to uphold this code. Please report unacceptable behavior at [motschen@midnightdust.eu](mailto:motschen@midnightdust.eu).
|
|
|
|
## What should I know before I get started?
|
|
|
|
### Fabric
|
|
|
|
[Fabric](https://fabricmc.net/) is the mod loader and the software which allows Gradle to setup the workspace.
|
|
|
|
### Java 17
|
|
|
|
Java is the main language used to make MidnightControls alive.
|
|
Knowing how to code in Java is necessary if you contribute to the code.
|
|
|
|
### Minecraft
|
|
|
|
As it is a Minecraft mod you should know a bit how Minecraft works and how modding works.
|
|
|
|
### Mixins
|
|
|
|
[Mixins](https://github.com/SpongePowered/Mixin/wiki) are a main part in this mod, they allow the necessary modifications to the Minecraft Client.
|
|
|
|
### Gradle
|
|
|
|
[Gradle](https://gradle.org/) is the build tool used for this project.
|
|
|
|
### Git
|
|
|
|
Git is the control version software we use for midnightcontrols, please know how to use it if you consider contributing to the code.
|
|
|
|
Git commits should be signed.
|
|
|
|
## How can I contribute?
|
|
|
|
### Reporting Bugs
|
|
|
|
#### Before submitting a bug report
|
|
|
|
- Check if you can reproduce it on other platforms.
|
|
- Perform a search to see if the problem has already been reported. If it has **and the issue is still open**, add a comment to the existing issue instead of opening a new one.
|
|
|
|
#### How do I submit a bug report?
|
|
|
|
Go in the issues tab in GitHub and read the [bug report guide](https://github.com/TeamMidnightDust/MidnightControls/blob/1.18/.github/ISSUE_TEMPLATE/bug_report.md)
|
|
|
|
### Suggesting enhancements
|
|
|
|
Enhancement suggestions are tracked as [GitHub issues](https://github.com/TeamMidnightDust/MidnightControls/issues).
|
|
Check out the [feature request](https://github.com/TeamMidnightDust/MidnightControls/blob/1.17/.github/ISSUE_TEMPLATE/feature_request.md) guide.
|
|
|
|
### Do pull requests
|
|
|
|
You can help midnightcontrols by writing code and submit it with pull requests.
|
|
|
|
Pull requests will be accepted if they follow the [styleguide](#styleguides), if they are useful, etc...
|
|
We can refuse a pull request if the commits are not signed, so don't forget to [sign them](https://help.github.com/en/articles/signing-commits)!
|
|
|
|
Feel free to pull request!
|
|
|
|
## Styleguides
|
|
|
|
### Git commit messages
|
|
|
|
* Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
|
|
* (Not for the message) Don't forget to sign the commit.
|
|
|
|
### Naming convention
|
|
|
|
Names in the code should be explicit and always in `camelCase`, `snake_case` will not be allowed.
|
|
`PascalCase` can be used for class name.
|
|
|
|
### Brace placement
|
|
|
|
Every braces should be at the end of the line of function declaration, etc.
|
|
|
|
### Quick note for users of the Intellij IDEA IDE
|
|
|
|
As a user of the Intellij IDEA IDE you have the format code shortcut which use a codestyle described by a file.
|
|
You can import the codestyle file here: [LambdAurora's dotfiles](https://github.com/LambdAurora/dotfiles/blob/master/jetbrains/lambdacodestyle2.xml).
|