# Spunbric Requirements for Alpha ## Loader Implement a solution for loading plugins as fabric mods. (WIP atm - needs to be designed and implemented). ## Implementation Fabric platform needs to be responsible for: Call methods in SpongeLifecycle for engine init and lifecycle - easily implemented with `fabric-lifecycle-events-v1` Implement: `EventHooks#callChangeEntityWorldEventPost` (fabric-entity-events-v1) `ModEventHooks#firePlayerChangedDimensionEvent` - (fabric-entity-events-v1) (No common impl yet) Implement Networking hooks for Sponge API. Involves the following: - Hook up change reg/unreg to consider channels registered by `fabric-networking-api-v1`. [Sponge's channel reg method [MCP/Mojmap warning]](https://github.com/SpongePowered/Sponge/blob/api-8/src/main/java/org/spongepowered/common/network/channel/SpongeChannelRegistry.java#L104) - Implement handling for Sponge's login queries and play channel handlers. - This is implemented per platform and is dispatched on server thread - so we just `retain()` and `server.execute(Runnable)`. Plugin registrations would be registeried into networking api via `registerReceiver` on the side specific classes. __TODO__ Find parts of fabric api that need reimplementation. FabricWorldManager - Pretty much a copy paste of SV atm. - Should also fire ServerWorldEvents.(UN)LOAD ## Other questions? Do we modify the client and server brand?