Cardinal Components Level  

This module allows mods to attach components to WorldProperties objects. Those properties are shared by every world and thus can be used as global data. Level components can be semi-automatically synchronized by implementing AutoSyncedComponent. Note that you must call LevelComponents#sync(MinecraftServer) instead of ComponentKey#sync().

CCA Alternative: Scoreboard Components

Scoreboard components are available starting from version 2.5.0 of the API (MC 1.16.2) and offer the same functionality as level components while being easier to synchronize.

Vanilla Alternative: Overworld PersistentState

Instead of components attached to WorldProperties, one can use a PersistentState specifically attached to the Overworld.

+ No dependency required
= Comparable amount of setup
- Requires access to a MinecraftServer instance - cannot be synchronized, requires casting to use
- Depends on the assumption that the Overworld is always accessible and never reset

CCA Dev Wiki