AstralCollections Overview
AstralCollections is a Paper plugin that adds item collection challenges to the AstralRealms network. Server operators define collections of items in YAML; players discover those items through normal gameplay and earn rewards when a collection is completed.
What it does
Blueprints describe a collection: a display item, the set of entries (items to find), and the actions to fire when the collection is fully discovered.
Discovery is automatic. Whenever a player receives, picks up, or moves a matching item, the entry is marked as discovered.
Progress is persisted per player via AstralSync and survives server restarts.
A built-in menu (opened via
/collections) lists every blueprint and its progress.
Requirements
Dependency | Required | Notes |
|---|---|---|
Paper 1.21.11+ | Yes |
|
AstralCore | Yes | Provides menus, configuration, placeholders, action framework |
AstralSync | Yes | Player-data persistence |
CraftEngine | Optional | Reload events trigger blueprint refresh; CraftEngine items can be used as entries |
AstralItems | Optional | Provides additional item suppliers for entry matching |
Architecture at a glance
Service | Responsibility |
|---|---|
| Loads blueprints from disk and indexes them for O(1) item lookup. |
| Marks entries as discovered, tracks progress, fires completion actions. |
| Loads and opens the |
Listener | Trigger |
|---|---|
| Hooks |
| Reloads blueprints when CraftEngine reloads. |
Player data is stored as a CollectionPlayerData record persisted by the CollectionSnapshotAdapter registered with AstralSync.