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-атрибуты-ценности-узлы
RAVN (Roleplaying Attributes, Values, and Nodes) - это API для моддинга RPG, предназначенный для определения, хранения и раскрытия идентичности и значений прогрессии персонажей. RAVN моделирует персонажей как сеть композитных узлов, представляющих атрибуты, навыки, опыт, уровни, родословную, класс и повествовательную идентичность, такую как имя и фон.
RAVN Core 0.1.1 - API и спецификация данных
Публичный API Surface
Равнапи
пакет com.ravnquest.ravncore.api;
публичный интерфейс Равнапи {
реестры (регистраторы);
События RavnEvents();
Версия ApiVersion();
?
API получают через провайдера:
RavnApi api = RavnApiProvider.get();
Реестры
пакет com.ravnquest.ravncore.api;
публичный интерфейс Реестры {
Registry<Ancestry> родословная();
Registry<Background> backgrounds();
Классы <RavnClass> ();
Реестр навыков <Skill> ();
Атрибуты <Attribute> атрибуты();
Registry<ProgressionPath> progressionPaths();
?
Каждый реестр читается только во время выполнения.
Реестр <T>
Публичный интерфейс Реестр <T> {
T get (String id);
Коллекция <T> все();
?
Прогрессивный API
пакет com.ravnquest.ravncore.api;
публичный интерфейс Прогрессия Апи {
Услуга ProgressionService();
?
Доступ через:
ProgressionApi = ProgressionApi.Holder.get();
События
пакет com.ravnquest.ravncore.api.event;
Публичный интерфейс RavnEvents
Event<PlayerJoinEvent> playerJoin();
?
Мероприятия основаны на подписке и авторизованы сервером.
Связанный JSON Данные (авторитетные)
Все отправленные данные живы Внутри Джар под:
/дефолты/
Эти файлы определяют канонические схемы.
Включенные файлы
| Файл | Цель |
|---|---|
родословная.json |
Игровые предки |
Родословная_traits.json |
Определения черт характера |
атрибуты.json |
Основные атрибуты |
background.json |
Справочная информация |
Class.json |
Классы |
Навыки.json |
Навыки |
Progression_paths.json |
Пути выравнивания |
Правила контракта JSON
idполя являются глобально уникальный- Перекрестные ссылки должны разрешаться во время загрузки
Правила продления
Ты не может отменять Дефолты. Ты может добавлять Новые записи с использованием идентичных схем.
Пользовательские данные должны точно соответствовать отгруженной структуре.
Показать оригинальное описание (English)
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.