Cultiva Core
The foundational platform layer of the Cultiva ecosystem.
Cultiva Core provides shared APIs, registries, lifecycle management, service discovery, diagnostics, serialization utilities, and extension mechanisms used by all higher-level Cultiva modules.
This package serves as the central foundation upon which Runtime, Gameplay, and future Cultiva projects are built.
Overview
Cultiva Core defines the common contracts, registries, and platform services that enable independent modules to communicate and operate consistently.
The module focuses on framework-level functionality rather than gameplay content, making it suitable for both internal systems and third-party addon development.
Package Root
net.xsoras.cultiva_core
Main Module
cultiva-core
Supported Loader
NeoForge
Included Systems
Core API
Provides central entry points for interacting with the Cultiva ecosystem.
Main classes:
CultivaApi
CultivaCore
CultivaApiManifest
Features:
- Shared API access
- Platform integration
- Module discovery
- Ecosystem-wide contracts
Lifecycle Framework
Provides standardized lifecycle management.
Main classes:
CultivaLifecycle
CultivaPipeline
Features:
- Initialization phases
- Startup coordination
- Module sequencing
- Ordered execution stages
The lifecycle framework allows independent modules to initialize safely and predictably.
Service Locator
Provides centralized service registration and discovery.
Main class:
CultivaServiceLocator
Possible uses:
- Runtime service discovery
- Shared subsystem access
- Loose coupling between modules
- Dependency abstraction
Registry Framework
Provides reusable registry systems.
Main classes:
CultivaGenericRegistry
CultivaCapabilityRegistry
CultivaSerializationRegistry
Features:
- Generic registration APIs
- Capability registration
- Serialization codecs
- Extensible framework services
These registries help establish consistent patterns across the entire ecosystem.
Module System
Provides support for modular architectures.
Main classes:
CultivaModuleCatalog
CultivaApiModule
Features:
- Module discovery
- Module metadata
- Module registration
- Ecosystem organization
Designed for projects that split functionality into independent modules.
Diagnostics Framework
Provides runtime inspection and validation utilities.
Main class:
CultivaDiagnostics
Possible uses:
- Environment validation
- Compatibility diagnostics
- Debug reporting
- Runtime verification
- Development tooling
Extension Points
Provides standardized extension mechanisms.
Main class:
CultivaExtensionPoints
Features:
- Plugin-style integrations
- Third-party extensions
- Modular customization
- API expansion hooks
Mod Ledger
Provides metadata tracking for Cultiva-compatible projects.
Main class:
CultivaModLedger
Features:
- Module identification
- Metadata registration
- Ecosystem tracking
- Compatibility management
Permissions Framework
Provides reusable permission utilities.
Main class:
CultivaPermissions
Possible uses:
- Administrative controls
- Feature access restrictions
- Server-side permissions
- Modular authorization systems
Serialization Framework
Provides serialization abstractions and codec registration.
Main class:
CultivaSerializationRegistry
Features:
- Data serialization
- Codec registration
- Persistent storage support
- Cross-module compatibility
Version Utilities
Provides version management helpers.
Main classes:
CultivaVersionRange
CultivaTier
Features:
- Version compatibility checks
- Dependency validation
- Tier definitions
- Ecosystem consistency
Client Utilities
Includes optional client-facing features.
Main class:
CultivaTitleScreenOverlay
Possible uses:
- Branding
- Development notices
- Compatibility information
- Version display
Example Project Structure
cultiva-core
├── api
│ ├── lifecycle
│ ├── registry
│ ├── diagnostics
│ ├── permissions
│ └── modules
├── client
├── util
└── core
The internal structure may evolve between releases.
Intended Use Cases
Framework Development
Projects that require shared APIs, registries, and lifecycle management.
Modular Ecosystems
Large projects composed of multiple independent modules.
Shared Infrastructure
Systems that need centralized service discovery and platform-level functionality.
Addon Platforms
Frameworks intended to support third-party extensions and integrations.
Design Philosophy
Cultiva Core follows several principles:
- Foundation before features
- Modular by default
- Extensible architecture
- Consistent APIs
- Minimal assumptions
- Loose coupling
- Ecosystem-wide interoperability
The goal is to provide a stable foundation that allows higher-level modules to focus on gameplay and content rather than infrastructure.
When Should You Use It?
Use Cultiva Core if your project requires:
✅ Shared APIs
✅ Registry systems
✅ Lifecycle management
✅ Service discovery
✅ Serialization utilities
✅ Diagnostics and validation
✅ Modular architecture support
✅ Extension points
Cultiva Core is required by most modules within the Cultiva ecosystem.
Ecosystem Position
Cultiva Core
↓
Cultiva Runtime
↓
Cultiva Gameplay
↓
Addons & Expansions
Core provides the foundation, Runtime provides infrastructure, Gameplay provides mechanics, and addons build on top of those layers.
License & Customization
Cultiva Core is intended to serve as reusable infrastructure.
Developers may:
- Extend APIs
- Register custom services
- Create new module types
- Implement custom registries
- Add diagnostics providers
- Build independent frameworks on top of the platform
The framework is designed to encourage interoperability while remaining flexible enough for entirely custom implementations.


