Registries and Player location sourcing api:
Registries allow external and internal code to register implementations of classes, one of which is chosen via the config.
In Paper, registries will probably be exposed at the bootstrap phase and frozen onEnable? This allows plugins to hook in onLoad or at bootstrap phase to register their implementations.
Player Location Source:
Allow registration of custom location sources, and provide two-three by default
- Bukkit api (equivalent to current system found in EventListener)
- Packet-based (will require blindly trusting server bound packets)
- Potentially: GrimAC-based
- Either a custom lightweight fork of Grim which registers a location source, or exposing the relevant api in GrimAPI and implementing it in Bridge
- Benefit: Not tied to packet api and doesn't blindly trust client. Also may be able to use their lag compensation.
Registries and Player location sourcing api:
Registries allow external and internal code to register implementations of classes, one of which is chosen via the config.
In Paper, registries will probably be exposed at the bootstrap phase and frozen onEnable? This allows plugins to hook in onLoad or at bootstrap phase to register their implementations.
Player Location Source:
Allow registration of custom location sources, and provide two-three by default