Skip to content

Registries & API Integration

JohnSmith474 edited this page Sep 21, 2026 · 2 revisions

While Enchantment Core provides a vast library of built-in components and mathematical formulas, true mod compatibility requires the ability to extend these systems with your own custom logic.

This section covers the specialized Java registries that Enchantment Core exposes, allowing you to hook directly into the data-transformation pipeline and the modular Spell Field engine.

By properly utilizing these registries, your custom mod effects and values will seamlessly gain the exact same level of data-driven configurability as the core library features.

The central engine that manages the bidirectional transformation of enchantment JSON data. Learn how to register your custom JSON keys so that the /enchantment_core import command knows exactly which parameters need to be wrapped in dynamic Config Overhauled objects, and discover how to set up structural exclusions to prevent data collisions.

If you register a custom mathematical formula (e.g., my_mod:sine_wave), it will be static by default. These two registries allow you to map your static formula to a dynamic, configurable equivalent. Learn how to write bidirectional Codec translators that safely transition your values between static Vanilla JSON and dynamic configurations during the import/export phases.

The Spell Field API is entirely modular. If you want to create a custom geometric boundary (SpellFieldShape), a new mathematical falloff curve (DistanceScalingFunction), or a bespoke interaction payload (Entity, Block, Volume, or Visual Effects), you must register them here. This specialized registrar ensures your custom modules are safely bound to the dispatch codecs while automatically extracting their configurable keys for the Data Transformer.

Clone this wiki locally