When an Encased Fan pushes an air stream through a catalyst block, items caught in the stream are transformed. Create ships four built-in processing types: blasting (lava or Blaze Burner), haunting (soul fire or Soul Blaze Burner), smoking (campfire or Blaze Burner atDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Creators-of-Create/Create/llms.txt
Use this file to discover all available pages before exploring further.
SMOULDERING heat), and splashing (water). Addon mods can register entirely new catalyst behaviours by implementing the FanProcessingType interface and registering it with Create’s built-in registry.
The FanProcessingType Interface
Every fan processing type must implementcom.simibubi.create.content.kinetics.fan.processing.FanProcessingType. All methods are called server-side unless otherwise noted.
process() returning null signals that the item could not be processed at all — the engine will not consume the item. Returning an empty list consumes the item and produces nothing (useful for “destroy on contact” behaviour).Registering a Type
Fan processing types live in thecreate:fan_processing_type registry, accessed via CreateRegistries.FAN_PROCESSING_TYPE. Use NeoForge’s DeferredRegister in your mod initialiser:
@Mod constructor:
Implement FanProcessingType
Create a class (or record) that implements all seven interface methods. Use
isValidAt to detect your catalyst block or fluid tag, and set a unique getPriority value to control conflict resolution when multiple catalysts are present.Register with DeferredRegister
Declare a
DeferredRegister<FanProcessingType> in a static initialiser class and call .register(modEventBus) during mod construction.Add recipes (optional)
If your type processes items using data-driven recipes, extend
StandardProcessingRecipeGen and register it in your GatherDataEvent. See the Custom Recipes page for details.Adding Recipes
Fan processing recipes are fully data-driven JSON files. Create already ships recipe types forsplashing and haunting that your datagen classes can target. For a new processing type you define yourself, add corresponding recipe JSON files under:
StandardProcessingRecipeGen<YourRecipe> in your datagen module and override getRecipeType() to return your AllRecipeTypes entry.
FanProcessingTypeRegistry
FanProcessingTypeRegistry maintains a priority-sorted view of all registered types:
FanProcessingType.getAt(level, pos) iterates SORTED_TYPES_VIEW and returns the first type whose isValidAt returns true. Because higher-priority types win, set your type’s priority carefully — avoid colliding with Create’s built-in priorities (100–400).
JEI and REI pick up fan processing recipe categories automatically through Create’s recipe integration layer. Each recipe type appears in its own category named after its registry key.
Processing only applies to items that are fully inside the air stream and positioned within the catalyst zone. Items at the edge of the stream’s range will not be processed.