diff --git a/src/js/game/systems/item_processor.js b/src/js/game/systems/item_processor.js index e9e2d298..50e3e9ba 100644 --- a/src/js/game/systems/item_processor.js +++ b/src/js/game/systems/item_processor.js @@ -57,6 +57,11 @@ export const MOD_ITEM_PROCESSOR_HANDLERS = {}; */ export const MODS_PROCESSING_REQUIREMENTS = {}; +/** + * @type {Object boolean>} + */ +export const MODS_CAN_PROCESS = {}; + export class ItemProcessorSystem extends GameSystemWithFilter { constructor(root) { super(root, [ItemProcessorComponent]); @@ -214,6 +219,12 @@ export class ItemProcessorSystem extends GameSystemWithFilter { canProcess(entity) { const processorComp = entity.components.ItemProcessor; + if (MODS_CAN_PROCESS[processorComp.processingRequirement]) { + return MODS_CAN_PROCESS[processorComp.processingRequirement].bind(this)({ + entity, + }); + } + switch (processorComp.processingRequirement) { // DEFAULT // By default, we can start processing once all inputs are there