promotional bannermobile promotional banner

RAVN (RPG Attributes, Values, and Nodes)

RAVN (Roleplaying Attributes, Values, and Nodes) is an RPG modding API for defining and exposing character identity and progression.

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

  • id fields 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.

The RAVN (RPG Attributes, Values, and Nodes) Team

profile avatar
  • 1
    Followers
  • 1
    Projects
  • 70
    Downloads