diff --git a/src/lib/blocks.js b/src/lib/blocks.js
index f86f5e29f40..db74aa619df 100644
--- a/src/lib/blocks.js
+++ b/src/lib/blocks.js
@@ -149,6 +149,20 @@ export default function (vm) {
return sprites;
};
+ const allSpritesMenu = function () {
+ const sprites = [];
+ for (const targetId in vm.runtime.targets) {
+ if (!Object.prototype.hasOwnProperty.call(vm.runtime.targets, targetId)) continue;
+ if (vm.runtime.targets[targetId].isOriginal) {
+ if (!vm.runtime.targets[targetId].isStage) {
+ sprites.push([vm.runtime.targets[targetId].sprite.name, vm.runtime.targets[targetId].sprite.name]);
+ }
+ }
+ }
+ if (sprites.length === 0) return [['', '']];
+ return sprites;
+ };
+
const cloneMenu = function () {
if (vm.editingTarget && vm.editingTarget.isStage) {
const menu = spriteMenu();
@@ -391,6 +405,11 @@ export default function (vm) {
this.jsonInit(json);
};
+ ScratchBlocks.Blocks.sensing_sprites.init = function () {
+ const json = jsonForMenuBlock('SPRITE', allSpritesMenu, ScratchBlocks.Colours.sensing, []);
+ this.jsonInit(json);
+ };
+
ScratchBlocks.Blocks.sensing_touchingobjectmenu.init = function () {
const mouse = ScratchBlocks.ScratchMsgs.translate('SENSING_TOUCHINGOBJECT_POINTER', 'mouse-pointer');
const edge = ScratchBlocks.ScratchMsgs.translate('SENSING_TOUCHINGOBJECT_EDGE', 'edge');
diff --git a/src/lib/make-toolbox-xml.js b/src/lib/make-toolbox-xml.js
index 67e3506a482..69da9535ff4 100644
--- a/src/lib/make-toolbox-xml.js
+++ b/src/lib/make-toolbox-xml.js
@@ -279,6 +279,8 @@ const looks = function (isInitialSetup, isStage, targetId, costumeName, backdrop
+ ${blockSeparator}
+
` : `
@@ -310,6 +312,9 @@ const looks = function (isInitialSetup, isStage, targetId, costumeName, backdrop
${blockSeparator}
+
+
+ ${blockSeparator}
@@ -526,6 +531,8 @@ const sound = function (isInitialSetup, isStage, targetId, soundName, colour) {
+ ${blockSeparator}
+
${categorySeparator}
`;
@@ -575,6 +582,7 @@ const events = function (isInitialSetup, isStage, targetId, colour) {
+
${categorySeparator}
`;
@@ -924,13 +932,14 @@ const sensing = function (isInitialSetup, isStage, targetId, colour) {
+
${blockSeparator}
${blockSeparator}
-
+
${categorySeparator}
`;
@@ -1229,6 +1238,7 @@ const operators = function (isInitialSetup, isStage, targetId, colour) {
+
${blockSeparator}