Almanac Core
Ü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):EntryGeneratorwandelt geladene Definitionen in Patchouli/Vellumli-Format-Entry-JSON um,GuideStructuremappt Content-Arten auf Guide-Kategorien,EntryGateleitet Advancement-IDs fürs Entry-Gating ab,TomeRegistryverfolgt Advancement-Tome-Unlocks, undVellumliBridgeumhüllt Vellumlis öffentlicheVellumliAPIzum 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-
RecipeTypeund JEI-Plugin-Kategorien (soft JEI-Integration). - Das hybride
effect/-Paket und eineconfig/mit strenger Validierung.
Anforderungen
| Anforderung | Version |
|---|---|
| Minecraft | 1.21.1 |
| NeoForge | 21.1.249 |
| Java | 21 |
Abhängigkeiten
| Abhängigkeit | Typ | Hinweise |
|---|---|---|
| Astral Core (MIT) | Erforderlich | Echte 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:
| Bereich | Zweck |
|---|---|
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
| Status | Format | Aktuell |
|---|---|---|
| Beta / Entwicklung | 0.0.0-beta.X | 0.0.0-beta.2 |
| Stable Release | X.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 MojangCodecs 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):EntryGeneratorturns loaded definitions into Patchouli/Vellumli-format entry JSON,GuideStructuremaps content kinds to guide categories,EntryGatederives advancement ids for entry gating,TomeRegistrytracks advancement-tome unlocks, andVellumliBridgewraps Vellumli’s publicVellumliAPIto 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
RecipeTypeand JEI plugin categories (soft JEI integration). - The hybrid
effect/package and a strict-validationconfig/.
Requirements
| Requirement | Version |
|---|---|
| Minecraft | 1.21.1 |
| NeoForge | 21.1.249 |
| Java | 21 |
Dependencies
| Dependency | Type | Notes |
|---|---|---|
| Astral Core (MIT) | Required | Real 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:
| Area | Purpose |
|---|---|
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
| State | Format | Current |
|---|---|---|
| Beta / Development | 0.0.0-beta.X | 0.0.0-beta.2 |
| Stable Release | X.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):EntryGeneratorconvierte definiciones cargadas en JSON de entradas formato Patchouli/Vellumli,GuideStructuremapea tipos de contenido a categorías de guía,EntryGatederiva ids de advancement para el gating de entradas,TomeRegistryregistra los tomos de avance, yVellumliBridgeenvuelve laVellumliAPIpú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)
RecipeTypede ritual y categorías del plugin JEI (integración JEI soft).- El paquete híbrido
effect/y unconfig/con validación estricta.
Requisitos
| Requisito | Versión |
|---|---|
| Minecraft | 1.21.1 |
| NeoForge | 21.1.249 |
| Java | 21 |
Dependencias
| Dependencia | Tipo | Notas |
|---|---|---|
| Astral Core (MIT) | Requerida | Dependencia 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:
| Área | Propó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
| Estado | Formato | Actual |
|---|---|---|
| Beta / Desarrollo | 0.0.0-beta.X | 0.0.0-beta.2 |
| Release Estable | X.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) :EntryGeneratortransforme les définitions chargées en JSON d’entrées format Patchouli/Vellumli,GuideStructuremappe les types de contenu vers des catégories de guide,EntryGatedérive des ids d’advancement pour le gating des entrées,TomeRegistrysuit les déblocages de tomes d’avancement, etVellumliBridgeenveloppe laVellumliAPIpublique 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é)
RecipeTypede rituel et catégories du plugin JEI (intégration JEI soft).- Le paquet hybride
effect/et unconfig/à validation stricte.
Prérequis
| Prérequis | Version |
|---|---|
| Minecraft | 1.21.1 |
| NeoForge | 21.1.249 |
| Java | 21 |
Dépendances
| Dépendance | Type | Notes |
|---|---|---|
| Astral Core (MIT) | Requis | Dé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 :
| Zone | But |
|---|---|
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
| État | Format | Actuel |
|---|---|---|
| Beta / Développement | 0.0.0-beta.X | 0.0.0-beta.2 |
| Release Stable | X.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):EntryGeneratortransforma definições carregadas em JSON de entradas formato Patchouli/Vellumli,GuideStructuremapeia tipos de conteúdo para categorias de guia,EntryGatederiva ids de advancement para o gating de entradas,TomeRegistryrastreia desbloqueios de tomos de avanço, eVellumliBridgeenvolve aVellumliAPIpú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)
RecipeTypede ritual e categorias do plugin JEI (integração JEI soft).- O pacote híbrido
effect/e umconfig/com validação estrita.
Requisitos
| Requisito | Versão |
|---|---|
| Minecraft | 1.21.1 |
| NeoForge | 21.1.249 |
| Java | 21 |
Dependências
| Dependência | Tipo | Notas |
|---|---|---|
| Astral Core (MIT) | Obrigatório | Dependê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:
| Área | Propó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
| Estado | Formato | Atual |
|---|---|---|
| Beta / Desenvolvimento | 0.0.0-beta.X | 0.0.0-beta.2 |
| Release Estável | X.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