Skip to main content

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

PackagePurpose
dev.rono.igniscore.apiIgnisCoreAPI, IgnisCoreFacade, version info
dev.rono.igniscore.api.strategyIgnisBlockStrategy, IgnisItemStrategy, abstracts
dev.rono.igniscore.api.modelBlockDefinition, ItemDefinition, runtime instances
dev.rono.igniscore.api.portPlatform-neutral player, world, item, block abstractions
dev.rono.igniscore.api.configYAML config parsers and behavior config types
dev.rono.igniscore.api.serviceNBT, protocol, and effect services
dev.rono.igniscore.api.extensionManifest and resource descriptors

Key entry points

ClassPurpose
IgnisCoreAPIRuntime facade for integrations
AbstractIgnisBlockStrategyBase class for block extensions
AbstractIgnisItemStrategyBase class for item extensions
IgnisStrategyContextServices injected into strategies

Rules

  • Use provided scope — never shade the API into extension JARs
  • Declare matching api-version in your manifest — see API versioning
  • Platform types (Bukkit Player, Sponge equivalents) stay inside adapters — use IgnisPlayer etc.