const { luaGenerator } = require('blockly/lua'); // Check if luaGenerator.forBlock is defined and initialize if necessary- if (!luaGenerator.forBlock) { luaGenerator.forBlock = {}; } // Define your custom block handler luaGenerator.forBlock['custom_math_operation'] = function(block, generator) { var operator = block.getFieldValue('OPERATOR'); var num1 = generator.valueToCode(block, 'NUM1', generator.ORDER_ATOMIC); var num2 = generator.valueToCode(block, 'NUM2', generator.ORDER_ATOMIC); var operatorSymbol = ''; switch (operator) { case 'ADD': operatorSymbol = '+'; break; case 'SUBTRACT': operatorSymbol = '-'; break; case 'MULTIPLY': operatorSymbol = '*'; break; case 'DIVIDE': operatorSymbol = '/'; break; default: operatorSymbol = '+'; break; } var code = `${num1} ${operatorSymbol} ${num2}`; return [code, generator.ORDER_ATOMIC]; };