We welcome contributions to Steel! By contributing, you help us make Steel the best Minecraft server it can be. Please take a moment to review this document to understand how to contribute effectively.
Before implementing any major changes or new features, please create a post in the #feature-discussion channel on our Discord server. This allows for discussion of potential problems, alternative solutions, and overall alignment with the project's direction.
Don't PR changes that have no impact on code foundation/structure, unless paired with a partial or full implementation. This ensures that stale code will be minimized.
When optimizing code or removing "unnecessary" vanilla Minecraft elements, always consider their potential use cases in future implementations. This also applies when choosing which crate to place new functionality into; think about modularity and future extensibility.
Please stick to Parchment mapping names most of the time for consistency and easier collaboration.
We allow the use of generative AI models such as LLM's for the generation of code in our project. However, we will not tolerate "vibe coding", meaning:
- Do not overuse AI - You should understand the code that has been generated.
- Re-read, check and correct the generated code to fit our coding guidelines and reduce sub-optimal implementation, as well as poorly readable doc-comments.
Thank you for contributing to Steel!