Updated Home (markdown)

Henri Schubin 2024-10-20 14:49:35 +03:00
parent 4fe2119744
commit c8b4d8de97

12
Home.md

@ -160,24 +160,20 @@ The main class structure, from top to bottom
+ The primary type that is passed to (almost) everything via [dependency injection](https://en.wikipedia.org/wiki/Dependency_injection)
- Avoids the nasty generics of `AbstractDiscordSRV`
- `AbstractDiscordSRV<C, CC>` (abstract class)
- `AbstractDiscordSRV<B, C, CC, MC>` (abstract class)
+ In the `:common` module
+ C and CC are the configuration types which will be specified by the **Platform**DiscordSRV class
+ B is the bootstrap type
+ C, CC and MC are the configuration types which will be specified by the **Platform**DiscordSRV class
+ Implements `DiscordSRV` and `DiscordSRVApi` methods which don't rely on platform code
+ The 'true' main class of DiscordSRV
- `ServerDiscordSRV<C, CC>` and `ProxyDiscordSRV<C, CC>` (abstract classes)
+ In the `:common` module
+ Contains server or proxy specific code
- for example: server switch messages are only required on the proxy so registering them happens in ProxyDiscordSRV
- **Platform**DiscordSRV (`BukkitDiscordSRV`, `BungeeDiscordSRV` etc.) (regular classes)
+ In the platform's module (`:bukkit`, `:bungee` etc.)
+ The platform implementation
+ Dependency injected into plugin hooks and platform specific implementations
Illustration of the above:
![](https://i.imgur.com/MvZYoHv.png#)
![](https://i.imgur.com/O2O0cQs.png#)
## JarInJar loading