Almanac Core

View mod page →

Überblick

Almanac Core ist die Content-as-Data-Bibliothek des Majestic Mod-Ökosystems für Minecraft NeoForge. Sie ermöglicht es, magischen Inhalt als Datapack-Daten statt als Code zu definieren. Sie enthält keinen konkreten Inhalt — dieser wird von Majestic oder Drittanbieter-Datapacks bereitgestellt.

Was es bietet

  • Codecs — SpellDefinition, RitualDefinition, ResearchNodeDefinition, RelicDefinition: vollständige Mojang-Codecs für datapack-definierten Inhalt.
  • Loader & Registry — ein Reload-Listener pro Art parst JSON aus data/<namespace>/almanac/{spell,ritual,research_node,relic} in eine gemeinsame In-Memory-Registry, die partielle Reloads übersteht.
  • Client-Sync — der geladene Inhalt wird bei Login und bei jedem Datapack-Reload an die Clients gesendet.
  • Debug-Befehl — /almanaccore status (Counts und IDs pro Art).
  • Vellumli Guide-Bridge (guide/) — ein daten-only Utility-Set für andere Mods (z. B. Majestic): EntryGenerator wandelt geladene Definitionen in Patchouli/Vellumli-Format-Entry-JSON um, GuideStructure mappt Content-Arten auf Guide-Kategorien, EntryGate leitet Advancement-IDs fürs Entry-Gating ab, TomeRegistry verfolgt Advancement-Tome-Unlocks, und VellumliBridge umhüllt Vellumlis öffentliche VellumliAPI zum Geben/Öffnen von Büchern. Es wird kein Vellumli-Code kopiert oder abgeleitet — nur die veröffentlichte API aufgerufen, und es bleibt eine soft (optionale) Abhängigkeit.

Astral Core ist als erforderliche Abhängigkeit deklariert; das Registrieren der geladenen Definitionen gegen seine *Types steht noch aus.

Geplant (noch nicht implementiert)

  • Ritual-RecipeType und JEI-Plugin-Kategorien (soft JEI-Integration).
  • Das hybride effect/-Paket und eine config/ mit strenger Validierung.

Anforderungen

AnforderungVersion
Minecraft1.21.1
NeoForge21.1.249
Java21

Abhängigkeiten

AbhängigkeitTypHinweise
Astral Core (MIT)ErforderlichEchte Abhängigkeit — externes JAR, nie gebündelt
JEI (mezz.jei:jei-1.21.1-neoforge)Optional (soft)Rezept-Viewer-Integration
Vellumli (CC BY-NC-SA 3.0)Optional (soft)Daten-only Guide Bridge; nie gebündelt, nie abgeleitet

Alle Abhängigkeiten sind extern — werden als separate JARs installiert, nie jar-in-jar.

Mod-Struktur

Almanac Core ist als Bibliotheks-API organisiert:

BereichZweck
codec/Vollständige Mojang Codecs für Spell, Ritual, ResearchNode, Relic Definitionen
data/Reload-Listener (SimpleJsonResourceReloadListener) parsen JSON aus data/<ns>/almanac/{spell,ritual,research_node,relic} in die gemeinsame AlmanacContentRegistry
net/AlmanacSyncPayload für Server→Client Sync bei Datapack-Reload/Login
command/Debug-Befehl /almanaccore status
guide/Daten-only Vellumli Guide-Bridge (Entry Generator, Guide Structure, Entry Gating, Tome Registry, API-Bridge)
jei/Nur Stub — noch keine JEI-Abhängigkeit verdrahtet (geplant)

Geplante Pakete, noch nicht vorhanden: registry/ (die Registry liegt derzeit in data/), recipe/, effect/, config/.

Befehle

  • /almanaccore status — Debug-Befehl zeigt Counts + IDs pro Inhaltstyp

Kompatibilität

  • Loader: NeoForge (erforderlich)
  • Seite: Client & Server (beide erforderlich für Sync)
  • API-Stabilität: Pre-Release (0.0.0-beta.x) — die API kann sich vor 1.0.0 noch ändern
  • Keine bekannten harten Inkompatibilitäten — designed to work alongside other magic/datapack mods

Versionierung

StatusFormatAktuell
Beta / Entwicklung0.0.0-beta.X0.0.0-beta.2
Stable ReleaseX.Y.Z (SemVer)—

JAR-Namensgebung: almanac_core-1.21.1-neoforge-21.1.249-<version>.jar

Credits & Lizenz

Almanac Core ist Teil des Majestic Ökosystems von Stalking Dragons.

Lizenz: MIT — siehe LICENSE.

Entwickelt und gewartet von Stalking Dragons.

Repository: https://gitlab.com/stalking-dragons/minecraft/almanac-core

Overview

Almanac Core is the content-as-data library of the Majestic mod ecosystem for Minecraft NeoForge. It lets magic content be defined as datapack data instead of code. It ships no concrete content of its own — content is provided by Majestic or third-party datapacks.

What it Provides

  • Codecs — SpellDefinition, RitualDefinition, ResearchNodeDefinition, RelicDefinition: full Mojang Codecs for datapack-driven content.
  • Loaders & registry — one reload listener per kind parses JSON from data/<namespace>/almanac/{spell,ritual,research_node,relic} into a shared in-memory registry that survives partial reloads.
  • Client sync — the loaded content set is pushed to clients on login and on every datapack reload.
  • Debug command — /almanaccore status (counts and ids per kind).
  • Vellumli guide bridge (guide/) — a data-only utility set for other mods (e.g. Majestic): EntryGenerator turns loaded definitions into Patchouli/Vellumli-format entry JSON, GuideStructure maps content kinds to guide categories, EntryGate derives advancement ids for entry gating, TomeRegistry tracks advancement-tome unlocks, and VellumliBridge wraps Vellumli’s public VellumliAPI to give/open books. No Vellumli code is copied or derived — only its published API is called, and it stays a soft (optional) dependency.

Astral Core is declared as a required dependency; wiring the loaded definitions against its *Types is still pending.

Planned (not implemented yet)

  • Ritual RecipeType and JEI plugin categories (soft JEI integration).
  • The hybrid effect/ package and a strict-validation config/.

Requirements

RequirementVersion
Minecraft1.21.1
NeoForge21.1.249
Java21

Dependencies

DependencyTypeNotes
Astral Core (MIT)RequiredReal dependency — external JAR, never bundled
JEI (mezz.jei:jei-1.21.1-neoforge)Optional (soft)Recipe viewer integration
Vellumli (CC BY-NC-SA 3.0)Optional (soft)Data-only guide bridge; never bundled, never derived

All dependencies are external — installed as separate JARs, never jar-in-jar.

Mod Structure

Almanac Core is organized as a library API:

AreaPurpose
codec/Full Mojang Codecs for Spell, Ritual, ResearchNode, Relic definitions
data/Reload listeners (SimpleJsonResourceReloadListener) parsing JSON from data/<ns>/almanac/{spell,ritual,research_node,relic} into the shared AlmanacContentRegistry
net/AlmanacSyncPayload for server→client sync on datapack reload/login
command//almanaccore status debug command
guide/Data-only Vellumli guide bridge (entry generator, guide structure, entry gating, tome registry, API bridge)
jei/Stub only — no JEI dependency wired yet (planned)

Planned packages, not present yet: registry/ (the registry currently lives in data/), recipe/, effect/, config/.

Commands

  • /almanaccore status — debug command showing counts + IDs per content kind

Compatibility

  • Loader: NeoForge (required)
  • Side: Both client and server (required on both for sync)
  • API Stability: Pre-release (0.0.0-beta.x) — the API may still change before 1.0.0
  • No known hard incompatibilities — designed to work alongside other magic/datapack mods

Versioning

StateFormatCurrent
Beta / Development0.0.0-beta.X0.0.0-beta.2
Stable ReleaseX.Y.Z (SemVer)—

JAR naming: almanac_core-1.21.1-neoforge-21.1.249-<version>.jar

Credits & License

Almanac Core is part of the Majestic ecosystem by Stalking Dragons.

License: MIT — see LICENSE.

Developed and maintained by Stalking Dragons.

Repository: https://gitlab.com/stalking-dragons/minecraft/almanac-core

Resumen

Almanac Core es la librería de contenido-como-datos del ecosistema Majestic para Minecraft NeoForge. Permite definir el contenido mágico como datos de datapack en lugar de código. No incluye contenido concreto — este lo provee Majestic o datapacks de terceros.

Qué Proporciona

  • Códecs — SpellDefinition, RitualDefinition, ResearchNodeDefinition, RelicDefinition: Codecs Mojang completos para contenido definido por datapack.
  • Loaders y registro — un listener de recarga por tipo parsea el JSON desde data/<namespace>/almanac/{spell,ritual,research_node,relic} hacia un registro en memoria compartido que sobrevive a recargas parciales.
  • Sincronización con el cliente — el contenido cargado se envía a los clientes al iniciar sesión y en cada recarga de datapack.
  • Comando de depuración — /almanaccore status (conteos e ids por tipo).
  • Puente de guía Vellumli (guide/) — un conjunto de utilidades solo-datos para otros mods (p. ej. Majestic): EntryGenerator convierte definiciones cargadas en JSON de entradas formato Patchouli/Vellumli, GuideStructure mapea tipos de contenido a categorías de guía, EntryGate deriva ids de advancement para el gating de entradas, TomeRegistry registra los tomos de avance, y VellumliBridge envuelve la VellumliAPI pública de Vellumli para dar/abrir libros. No se copia ni deriva código de Vellumli — solo se llama su API publicada, y sigue siendo una dependencia soft (opcional).

Astral Core está declarado como dependencia requerida; registrar las definiciones cargadas contra sus *Type aún está pendiente.

Planificado (sin implementar todavía)

  • RecipeType de ritual y categorías del plugin JEI (integración JEI soft).
  • El paquete híbrido effect/ y un config/ con validación estricta.

Requisitos

RequisitoVersión
Minecraft1.21.1
NeoForge21.1.249
Java21

Dependencias

DependenciaTipoNotas
Astral Core (MIT)RequeridaDependencia real — JAR externo, nunca empaquetado
JEI (mezz.jei:jei-1.21.1-neoforge)Opcional (soft)Integración con visor de recetas
Vellumli (CC BY-NC-SA 3.0)Opcional (soft)Puente de guía solo-datos; nunca empaquetado, nunca derivado

Todas las dependencias son externas — se instalan como JARs separados, nunca jar-in-jar.

Estructura del Mod

Almanac Core está organizada como una API de librería:

ÁreaPropósito
codec/Códecs Mojang completos para definiciones de Hechizo, Ritual, NodoInvestigación, Reliquia
data/Listeners de recarga (SimpleJsonResourceReloadListener) que parsean JSON desde data/<ns>/almanac/{spell,ritual,research_node,relic} al AlmanacContentRegistry compartido
net/AlmanacSyncPayload para sincronización servidor→cliente en recarga de datapack/login
command/Comando de depuración /almanaccore status
guide/Puente de guía Vellumli solo-datos (generador de entradas, estructura de guía, gating de entradas, registro de tomos, bridge de API)
jei/Solo stub — sin dependencia de JEI cableada todavía (planificado)

Paquetes planificados, aún no presentes: registry/ (el registro vive hoy en data/), recipe/, effect/, config/.

Comandos

  • /almanaccore status — comando de depuración que muestra conteos + IDs por tipo de contenido

Compatibilidad

  • Cargador: NeoForge (requerido)
  • Lado: Cliente y servidor (requerido en ambos para sincronización)
  • Estabilidad API: Pre-release (0.0.0-beta.x) — la API puede cambiar antes de 1.0.0
  • Sin incompatibilidades duras conocidas — diseñado para funcionar junto a otros mods de magia/datapacks

Versionado

EstadoFormatoActual
Beta / Desarrollo0.0.0-beta.X0.0.0-beta.2
Release EstableX.Y.Z (SemVer)—

Nombre del JAR: almanac_core-1.21.1-neoforge-21.1.249-<version>.jar

Créditos y Licencia

Almanac Core es parte del ecosistema Majestic de Stalking Dragons.

Licencia: MIT — ver LICENSE.

Desarrollado y mantenido por Stalking Dragons.

Repositorio: https://gitlab.com/stalking-dragons/minecraft/almanac-core

Aperçu

Almanac Core est la bibliothèque content-as-data de l’écosystème Majestic pour Minecraft NeoForge. Elle permet de définir le contenu magique comme des données de datapack au lieu de code. Elle ne fournit aucun contenu concret — le contenu est fourni par Majestic ou des datapacks tiers.

Ce qu’il fournit

  • Codecs — SpellDefinition, RitualDefinition, ResearchNodeDefinition, RelicDefinition : Codecs Mojang complets pour du contenu défini par datapack.
  • Loaders & registre — un reload listener par type parse le JSON depuis data/<namespace>/almanac/{spell,ritual,research_node,relic} vers un registre en mémoire partagé qui survit aux rechargements partiels.
  • Sync client — le contenu chargé est poussé aux clients à la connexion et à chaque rechargement de datapack.
  • Commande de debug — /almanaccore status (comptes et ids par type).
  • Pont de guide Vellumli (guide/) — un ensemble d’utilitaires data-only pour d’autres mods (ex. Majestic) : EntryGenerator transforme les définitions chargées en JSON d’entrées format Patchouli/Vellumli, GuideStructure mappe les types de contenu vers des catégories de guide, EntryGate dérive des ids d’advancement pour le gating des entrées, TomeRegistry suit les déblocages de tomes d’avancement, et VellumliBridge enveloppe la VellumliAPI publique de Vellumli pour donner/ouvrir des livres. Aucun code Vellumli n’est copié ou dérivé — seule son API publiée est appelée, et elle reste une dépendance soft (optionnelle).

Astral Core est déclaré comme dépendance requise ; l’enregistrement des définitions chargées contre ses *Type reste à faire.

Prévu (pas encore implémenté)

  • RecipeType de rituel et catégories du plugin JEI (intégration JEI soft).
  • Le paquet hybride effect/ et un config/ à validation stricte.

Prérequis

PrérequisVersion
Minecraft1.21.1
NeoForge21.1.249
Java21

Dépendances

DépendanceTypeNotes
Astral Core (MIT)RequisDépendance réelle — JAR externe, jamais bundle
JEI (mezz.jei:jei-1.21.1-neoforge)Optionnel (soft)Intégration visionneuse de recettes
Vellumli (CC BY-NC-SA 3.0)Optionnel (soft)Pont de guide data-only ; jamais bundle, jamais dérivé

Toutes les dépendances sont externes — installées comme JARs séparés, jamais jar-in-jar.

Structure du Mod

Almanac Core est organisé comme une API de bibliothèque :

ZoneBut
codec/Codecs Mojang complets pour définitions Spell, Ritual, ResearchNode, Relic
data/Reload listeners (SimpleJsonResourceReloadListener) parsant le JSON depuis data/<ns>/almanac/{spell,ritual,research_node,relic} vers le AlmanacContentRegistry partagé
net/AlmanacSyncPayload pour sync serveur→client au rechargement datapack/connexion
command/Commande de debug /almanaccore status
guide/Pont de guide Vellumli data-only (générateur d’entrées, structure de guide, gating d’entrées, registre de tomes, bridge API)
jei/Stub uniquement — aucune dépendance JEI câblée pour l’instant (prévu)

Paquets prévus, pas encore présents : registry/ (le registre vit actuellement dans data/), recipe/, effect/, config/.

Commandes

  • /almanaccore status — commande debug affichant comptes + IDs par type de contenu

Compatibilité

  • Chargeur: NeoForge (requis)
  • Côté: Client et Serveur (requis sur les deux pour le sync)
  • Stabilité API: Pré-release (0.0.0-beta.x) — l’API peut encore changer avant 1.0.0
  • Aucune incompatibilité dure connue — conçu pour fonctionner aux côtés d’autres mods magie/datapack

Versioning

ÉtatFormatActuel
Beta / Développement0.0.0-beta.X0.0.0-beta.2
Release StableX.Y.Z (SemVer)—

Nommage JAR : almanac_core-1.21.1-neoforge-21.1.249-<version>.jar

Crédits & Licence

Almanac Core fait partie de l’écosystème Majestic de Stalking Dragons.

Licence: MIT — voir LICENSE.

Développé et maintenu par Stalking Dragons.

Dépôt: https://gitlab.com/stalking-dragons/minecraft/almanac-core

Visão Geral

Almanac Core é a biblioteca content-as-data do ecossistema Majestic para Minecraft NeoForge. Permite definir conteúdo mágico como dados de datapack em vez de código. Não inclui conteúdo concreto — este é fornecido pelo Majestic ou datapacks de terceiros.

O que Fornece

  • Codecs — SpellDefinition, RitualDefinition, ResearchNodeDefinition, RelicDefinition: Codecs Mojang completos para conteúdo definido por datapack.
  • Loaders e registro — um reload listener por tipo parseia o JSON de data/<namespace>/almanac/{spell,ritual,research_node,relic} para um registro em memória compartilhado que sobrevive a reloads parciais.
  • Sync com o cliente — o conteúdo carregado é enviado aos clientes no login e em cada reload de datapack.
  • Comando de debug — /almanaccore status (contagens e ids por tipo).
  • Ponte de guia Vellumli (guide/) — um conjunto de utilitários data-only para outros mods (ex. Majestic): EntryGenerator transforma definições carregadas em JSON de entradas formato Patchouli/Vellumli, GuideStructure mapeia tipos de conteúdo para categorias de guia, EntryGate deriva ids de advancement para o gating de entradas, TomeRegistry rastreia desbloqueios de tomos de avanço, e VellumliBridge envolve a VellumliAPI pública do Vellumli para dar/abrir livros. Nenhum código do Vellumli é copiado ou derivado — apenas sua API publicada é chamada, e continua sendo uma dependência soft (opcional).

O Astral Core é declarado como dependência obrigatória; o registro das definições carregadas contra os seus *Type ainda está pendente.

Planejado (ainda não implementado)

  • RecipeType de ritual e categorias do plugin JEI (integração JEI soft).
  • O pacote híbrido effect/ e um config/ com validação estrita.

Requisitos

RequisitoVersão
Minecraft1.21.1
NeoForge21.1.249
Java21

Dependências

DependênciaTipoNotas
Astral Core (MIT)ObrigatórioDependência real — JAR externo, nunca empacotado
JEI (mezz.jei:jei-1.21.1-neoforge)Opcional (soft)Integração com visualizador de receitas
Vellumli (CC BY-NC-SA 3.0)Opcional (soft)Ponte de guia data-only; nunca empacotado, nunca derivado

Todas as dependências são externas — instaladas como JARs separados, nunca jar-in-jar.

Estrutura do Mod

Almanac Core é organizado como uma API de biblioteca:

ÁreaPropósito
codec/Codecs Mojang completos para definições Spell, Ritual, ResearchNode, Relic
data/Reload listeners (SimpleJsonResourceReloadListener) parseando JSON de data/<ns>/almanac/{spell,ritual,research_node,relic} para o AlmanacContentRegistry compartilhado
net/AlmanacSyncPayload para sync servidor→cliente no reload de datapack/login
command/Comando de debug /almanaccore status
guide/Ponte de guia Vellumli data-only (gerador de entradas, estrutura de guia, gating de entradas, registro de tomos, bridge de API)
jei/Apenas stub — nenhuma dependência JEI conectada ainda (planejado)

Pacotes planejados, ainda ausentes: registry/ (o registro hoje fica em data/), recipe/, effect/, config/.

Comandos

  • /almanaccore status — comando debug mostrando contagens + IDs por tipo de conteúdo

Compatibilidade

  • Loader: NeoForge (obrigatório)
  • Lado: Cliente e Servidor (obrigatório em ambos para sync)
  • Estabilidade API: Pré-release (0.0.0-beta.x) — a API ainda pode mudar antes de 1.0.0
  • Nenhuma incompatibilidade dura conhecida — projetado para funcionar junto a outros mods de magia/datapack

Versionamento

EstadoFormatoAtual
Beta / Desenvolvimento0.0.0-beta.X0.0.0-beta.2
Release EstávelX.Y.Z (SemVer)—

Nome do JAR: almanac_core-1.21.1-neoforge-21.1.249-<version>.jar

Créditos e Licença

Almanac Core faz parte do ecossistema Majestic de Stalking Dragons.

Licença: MIT — ver LICENSE.

Desenvolvido e mantido por Stalking Dragons.

Repositório: https://gitlab.com/stalking-dragons/minecraft/almanac-core