diff --git a/Home.md b/Home.md index 6bc2283..4e9be25 100644 --- a/Home.md +++ b/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` (abstract class) + - `AbstractDiscordSRV` (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` and `ProxyDiscordSRV` (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