Core API
The core API is the stable contract between IgnisCore and extension JARs.
Maven
<dependency>
<groupId>dev.rono</groupId>
<artifactId>api</artifactId>
<version>1.0.0</version>
<scope>provided</scope>
</dependency>
Package map
| Package | Purpose |
|---|---|
dev.rono.igniscore.api | IgnisCoreAPI, IgnisCoreFacade, version info |
dev.rono.igniscore.api.strategy | IgnisBlockStrategy, IgnisItemStrategy, abstracts |
dev.rono.igniscore.api.model | BlockDefinition, ItemDefinition, runtime instances |
dev.rono.igniscore.api.port | Platform-neutral player, world, item, block abstractions |
dev.rono.igniscore.api.config | YAML config parsers and behavior config types |
dev.rono.igniscore.api.service | NBT, protocol, and effect services |
dev.rono.igniscore.api.extension | Manifest and resource descriptors |
Key entry points
| Class | Purpose |
|---|---|
| IgnisCoreAPI | Runtime facade for integrations |
| AbstractIgnisBlockStrategy | Base class for block extensions |
| AbstractIgnisItemStrategy | Base class for item extensions |
| IgnisStrategyContext | Services injected into strategies |
Rules
- Use
providedscope — never shade the API into extension JARs - Declare matching
api-versionin your manifest — see API versioning - Platform types (Bukkit
Player, Sponge equivalents) stay inside adapters — useIgnisPlayeretc.
Related
- Extension Cookbook — usage recipes
- Strategies — lifecycle overview
- Javadoc hub — browse all classes