---
# System prepended metadata

title: Spunbric Requirements for Alpha

---

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