diff --git a/src/extensions/jwArray/index.js b/src/extensions/jwArray/index.js index 9e144264afa..adce183da17 100644 --- a/src/extensions/jwArray/index.js +++ b/src/extensions/jwArray/index.js @@ -139,6 +139,17 @@ class Extension { })) ); + //stolen from sharkpool OOps! + const regenReporters = ["jwArray_forEachI", "jwArray_forEachv"]; + if (Scratch.gui) Scratch.gui.getBlockly().then(SB => { + const ogCheck = SB.scratchBlocksUtils.isShadowArgumentReporter; + SB.scratchBlocksUtils.isShadowArgumentReporter = function (block) { + const result = ogCheck(block); + if (result) return true; + return block.isShadow() && regenReporters.includes(block.type); + }; + }); + //patch square shape if (ScratchBlocks !== undefined) { ScratchBlocks.BlockSvg.INPUT_SHAPE_SQUARE = @@ -270,7 +281,7 @@ class Extension { { opcode: 'forEach', text: 'for [I] [V] of [ARRAY]', - blockType: BlockType.COMMAND, + blockType: BlockType.LOOP, hideFromPalette: true, arguments: { ARRAY: jwArray.Argument,