# 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?