Overview
IgnisCore extensions are platform-agnostic JARs loaded at runtime. This section covers building, testing, and deploying them.
Quick start
- Copy an existing extension under
extensions/blocks/orextensions/items/ - Add Maven dependency on
api(providedscope) - Implement a strategy class extending
AbstractIgnisBlockStrategyorAbstractIgnisItemStrategy - Ship
block-extension.yml/item-extension.yml,config.yml, and textures - Build with
mvn packageand deploy to the plugin data folder
<dependency>
<groupId>dev.rono</groupId>
<artifactId>api</artifactId>
<version>1.0.0</version>
<scope>provided</scope>
</dependency>
Documentation layers
| Layer | What it covers |
|---|---|
| Extension Cookbook | Practical recipes — explosions, throwables, GUI blocks |
| API Reference | Core API and extension-shared helpers |
| Architecture | Module stack, boot flow, dependency rules |
| Javadoc | Full class and method reference |
| Sample extensions | Working JARs in the repo |
The website is intentionally thin — detailed API signatures live in Javadoc. The cookbook shows you how to do common tasks with links to the relevant classes.
Two libraries
| Library | Maven artifact | When |
|---|---|---|
| Core API | dev.rono:api | Always — strategies, ports, models |
| Extension shared | dev.rono.extensions:shared | Optional — typed config helpers (ExplosionConfig, ThrowableItemConfig) |
Both use provided scope — the bootstrap plugin supplies them at runtime.
Next steps
- Extension Cookbook — copy-paste recipes
- API Reference — surface overview
- Architecture — module layout
- Javadoc — browse all classes
- Contributing — build from source