diff --git a/src/js/game/systems/item_processor.js b/src/js/game/systems/item_processor.js index e9e2d298..a6cbe8c4 100644 --- a/src/js/game/systems/item_processor.js +++ b/src/js/game/systems/item_processor.js @@ -56,6 +56,10 @@ export const MOD_ITEM_PROCESSOR_HANDLERS = {}; * @type {Object boolean>} */ export const MODS_PROCESSING_REQUIREMENTS = {}; +/** + * @type {Object boolean>} + */ +export const MODS_CAN_PROCESS = {}; export class ItemProcessorSystem extends GameSystemWithFilter { constructor(root) { @@ -214,6 +218,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