Cardinal Components World
This module allows mods to attach components to World
objects. World components can be automatically synchronized by implementing SyncedComponent
, most commonly through the WorldSyncedComponent
helper interface.
Usage
Registration
World components are registered by a WorldComponentInitializer
, exposed as cardinal-components-world
in the mod json (more information on the component registration page). Once a component factory is registered, its associated component will be available on every World
instance, on both clients and servers.
Synchronization
World components can be automatically synchronized from the server to the client by implementing AutoSyncedComponent
- more information is available on the component synchronization page.
Ticking
World components support both server and client ticking. Components get ticked right after everything else in World#tick
.
Vanilla Alternative: PersistentState
+ No dependency required
+ Slightly easier to setup (no registration)
- Only exists on ServerWorld - cannot be synchronized, requires casting to use
- Must extend the PersistentState abstract class