RPG-Attributes-Values-and-Nodes
RAVN (Roleplaying Attributes, Values, and Nodes) is an RPG modding API designed to define, store, and expose character identity and progression values. RAVN models characters as a network of composable nodes representing attributes, skills, experience, levels, ancestry, class, and narrative identity such as name and background.
RAVN Core 0.1.1 – API & Data Specification
Public API Surface
RavnApi
package com.ravnquest.ravncore.api;
public interface RavnApi {
Registries registries();
RavnEvents events();
ApiVersion version();
}
The API is obtained through the provider:
RavnApi api = RavnApiProvider.get();
Registries
package com.ravnquest.ravncore.api;
public interface Registries {
Registry<Ancestry> ancestries();
Registry<Background> backgrounds();
Registry<RavnClass> classes();
Registry<Skill> skills();
Registry<Attribute> attributes();
Registry<ProgressionPath> progressionPaths();
}
Each registry is read-only at runtime.
Registry<T>
public interface Registry<T> {
T get(String id);
Collection<T> all();
}
Progression API
package com.ravnquest.ravncore.api;
public interface ProgressionApi {
ProgressionService service();
}
Accessed through:
ProgressionApi api = ProgressionApi.Holder.get();
Events
package com.ravnquest.ravncore.api.event;
public interface RavnEvents {
Event<PlayerJoinEvent> playerJoin();
}
Events are subscription-based and server-authoritative.
Bundled JSON Data (Authoritative)
All shipped data lives inside the JAR under:
/defaults/
These files define the canonical schemas.
Included Files
| File | Purpose |
|---|---|
ancestries.json |
Playable ancestries |
ancestry_traits.json |
Trait definitions |
attributes.json |
Core attributes |
background.json |
Backgrounds |
classes.json |
Classes |
skills.json |
Skills |
progression_paths.json |
Leveling paths |
JSON Contract Rules
idfields are globally unique- Cross-references must resolve at load time
Extension Rules
You may not override defaults. You may add new entries using identical schemas.
Custom data must match the shipped structure exactly.

