Developer guide
For those who work on GrayCore itself, and for those who build a plugin on top of it.
| Page | When you need it |
|---|---|
| Project structure | Finding your way in the repository, building and testing. |
| Local development stack | Running the whole network on your machine. |
| The stable API | Knowing which classes another plugin may rely on. |
| Writing a module | Adding a feature: lifecycle, configuration, player data, events, offering an API. |
| Text style | Writing player-facing texts that look like the rest of the plugin. |
| Contributing | Branches, commits, pull requests. |
| Documentation | Keeping this site up to date. |
The rules in one place
- Code, comments, commit messages and this documentation are written in English.
- A plugin built on GrayCore, and the modules shipped with it, use only the classes marked
@StableApi. - Database and network work never runs on the game thread.
- A change that a server owner or a developer would notice comes with its documentation, in the same pull request.