Using @cameron8299's Primitive Editor, I changed the "when flag clicked" block into a command, and put it in a ring. Then I exported it and loaded it in a new snap session.
The result:
![image](https://cdn.forum.snap.berkeley.edu/original/3X/b/6/b62e4477334b17ac1d626e9c8986b89478f0b70c.png)
I honestly think this could be used in many ways.
The XML is shown below
<script app="Snap! 7, https://snap.berkeley.edu" version="2"><script><block s="reifyScript"><script><block s="receiveGo"></block></script><list></list></block></script></script>
Funny thing is; is think its BYOB 2 lol
Wow! I’ve always wanted these, thanks.
Yeah, I saw it in the "your post is similar to" thing when making it.
Honestly, everything I make someone has already made
You should honestly be thanking @cameron8299 because he made it all possible
Oops didn’t notice it was two years old so so so so so so so sorry guys.
I replied on the topic you got the quote from. I didn’t notice it was 2+ years old.
You should use this for your block codification!
no need, thank the devs. i just make stuff ;)
i mean, but you made the blocks to change what the devs made
when you say you're fine but you're not really fine
![image](https://cdn.forum.snap.berkeley.edu/original/3X/2/7/2720a3a8f598096425eb6612592a93a038b668a7.png)
the link doesnt work.
Also, yes I can use the offline version, send me the xml pls
hang on
![Screen Shot 2022-05-14 at 10.48.43 PM](https://cdn.forum.snap.berkeley.edu/original/3X/9/a/9a8a3cd0e4251371a64917f1f584a9d07433bbdb.png)
this is gonna have to be a 2-parter
1
<project name="collection" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAFaElEQVR4Xu3dcUjcBRTA8Xe6O8/bzgta5JqBMVyBGBHhtjahiArnHzIJLRoyGlGL/igwJkmU0PojYWg1qm0Z/WUQjEDGqsGowawgKCIYFTLXXG1JXSl2582dnYq2YK53B+9e+vve/hvv3vP3ue/c8J+FZnIv4YWAk0CIAJ3kOTsnQICE4CpAgK78HCdAGnAVIEBXfo4TIA24ChCgKz/HCZAGXAUI0JWf4wRIA64CBOjKz3ECpAFXAQJ05ec4AdKAqwABuvJznABpwFWAAF35OU6ANOAqQICu/BwnQBpwFSBAV36OEyANuAoQoCs/xwmQBlwFCNCVn+MESAOuAgToys9xAqQBVwECdOXnOAHSgKsAAbryc5wAacBVgABd+TlOgDTgKkCArvwcJ0AacBUgQFd+jhMgDbgKEKArP8cJkAZcBQjQlZ/jBEgDrgIEuAR/NpuVkpIS1w8nCMcJcIlP+e3eQ5J8cY1MtJ+W51/ZK6vjq4PQQ9GfkQCvQf5Q5W6552Lr4sR3sSG5/9Adsn1Ho5SXR4v+Ya3EgwT4H5/q/sQRiYxf/bvf0fi7cmz8/ZXYRdGeiQCvQX3mxxE5uvH7xYnLMi2pdUmRPeel84W9RfuQ/s+H1lf8LOfHbyr4SyTAJeim0lNysPyEZGPT8u3Wj+SdTw4UjLyS37g2kpLew0Oys/2+gh6TAJdgGx0dlaqqqoJQg/SmGyLTucddJRfThf3UgADzrKWlpUXGxsakp6dHamtrJR6P57lh+Y/X1QzIT2cSEovWy3Rm7dwD3bntLfn4xJN5PxwB5k0m0tzcvPgzwlAoJOFwWLq7u6WmpkZKS0sL2Lj83lK34Uu5cG7Tv77wc+MZiUYjeT0MAebFNT88ODgo/f39V31nKpWSrq4uaWhoKGDz8nrLyZND0rp9nVzO3DL3hV+aOSZ/XGrM6yEIMC+u+eGmpiaJRP75kz77XbCiokL6+vokkUgUsHF5v6XzuQ+k/7UdMjOzSj79ejj3T5MN6gciQDXV/GBbW5tMTk5KLBaTjo4Oqa+vz3PDyh1va/5KPjt+u1z4S//XMAGu3B5cniydTsvw8Nncd8FbVfcJUMXEkJUAAVrJslclQIAqJoasBAjQSpa9KgECVDExZCVAgFay7FUJEKCKiSErAQK0kmWvSoAAVUwMWQkQoJUse1UCBKhiYshKgACtZNmrEiBAFRNDVgIEaCXLXpUAAaqYGLISIEArWfaqBAhQxcSQlQABWsmyVyVAgComhqwECNBKlr0qAQJUMTFkJUCAVrLsVQkQoIqJISsBArSSZa9KgABVTAxZCRCglSx7VQIEqGJiyEqAAK1k2asSIEAVE0NWAgRoJctelQABqpgYshIgQCtZ9qoECFDFxJCVAAFaybJXJUCAKiaGrAQI0EqWvSoBAlQxMWQlQIBWsuxVCRCgiokhKwECtJJlr0qAAFVMDFkJEKCVLHtVAgSoYmLISoAArWTZqxIgQBUTQ1YCgQ3wi1Ofy+atW6xc2asUCGyAj93dLk/se0o23btZScWYhUBgA9x9/aOy7fe7ZFf2GZn9H895+QgEMsBkMinv3faGJH5dI2cf/k1eGnjZR5+rEqgA33xgv5QdFwnlfl352jn1tIQjYXJwEAhUgLO+ExMT0nvzPqn688ZF7m+uOy19yYMO/JwMXIALH/mHA0fkl10/SDRTNvdbjaOPSOX6SoooskBgA1xwPvB4r5QfzspUWUb2pDuLzM+5wAe4kMDrW16Vjc/WyYOtjVRRRAECvAJ7ZGREqquri8jPKQKkAVcBAnTl5zgB0oCrAAG68nOcAGnAVYAAXfk5ToA04CpAgK78HCdAGnAV+BvgPpG3dmEODwAAAABJRU5ErkJggg==</thumbnail><scenes select="1"><scene name="collection"><notes></notes><palette><category name="" color="255,255,255,1"/><category name="" color="0,0,0,1"/><category name="Inputs" color="0,0,0,0"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="%'comment' $nl" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%code"></input></inputs></block-definition><block-definition s="call %'js'" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%code"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><block var="js"/></block><list></list></block></block></script></block-definition><block-definition s="run %'js'" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%code"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list></list><block var="js"/></block><list></list></block></script></block-definition><block-definition s="%'comment'" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%code"></input></inputs></block-definition><block-definition s="call %'args' %'parms' $nl %'js'" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%mult%code"></input><input type="%mult%code"></input><input type="%code"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><block var="parms"/><block var="js"/></block><block var="args"/></block></block></script><scripts><script x="497.7166681289673" y="78.66666666666663"><block var="parms"/></script></scripts></block-definition><block-definition s="%'unev'" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%anyUE"></input></inputs><script><block s="doReport"><block var="unev"/></block></script></block-definition><block-definition s="block %'selector' %'spec' $nl %'type' %'category' %'isStatic' $nl %'defaults'" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%code"><options>function () {
return Object.keys(SpriteMorph.prototype.blocks).reduce((a, v) => ({ ...a, [v]: v}), {});
}</options></input><input type="%code"><options>function () {

var spec = SpriteMorph.prototype.blocks[this.parent.inputs()[0].evaluate()].spec,
 menu = {};

if (spec) menu[spec] = spec;

return menu;

}</options></input><input type="%code"><options>command
reporter
predicate
hat
ring</options></input><input type="%code"><options>function () {
return SpriteMorph.prototype.allCategories().reduce((a, v) => ({ ...a, [v]: v}), {});
}</options></input><input type="%b">false</input><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><custom-block s="call %mult%code %mult%code %br %code"><list><block var="selector"/><block var="type"/><block var="category"/><block var="spec"/><block var="defaults"/><block var="isStatic"/></list><list><l>selector</l><l>type</l><l>category</l><l>spec</l><l>defaults</l><l>isStatic</l></list><l>var migration, block, defaults, inputs, i,
 info = this.blocks[selector];

type = type || info.type;
category = category || info.category;
spec = spec || info.spec;
defaults = (defaults.asArray) ? defaults.asArray() : null;
isStatic = isStatic || false;

block = type === 'command' ? new CommandBlockMorph()
 : type === 'hat' ? new HatBlockMorph()
 : type === 'ring' ? new RingMorph()
 : new ReporterBlockMorph(type === 'predicate');

block.color = this.blockColorFor(category);
block.category = category;
block.selector = selector;
block.isStatic = isStatic;
block.setSpec(spec);
block.defaults = defaults;
inputs = block.inputs();
if (false) {
if (inputs[0] instanceof MultiArgMorph) {
 inputs[0].setContents(defaults);
 inputs[0].defaults = defaults;
} else {
 inputs.forEach((inp, i) => {
 if (defaults[i] !== null && inp.setContents) {
 inp.setContents(defaults[i]);
 if (inp instanceof MultiArgMorph) {
 inp.defaults = defaults[i];
 }
 }
 })
}
}
block.isDraggable = true;
return block;</l></custom-block></list></block></block></script></block-definition><block-definition s="%'str'" type="reporter" category="Inputs"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="str"/></block></script></block-definition><block-definition s="%'lst'" type="reporter" category="Inputs"><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doReport"><block var="lst"/></block></script></block-definition><block-definition s="%'rr'" type="reporter" category="Inputs"><header></header><code></code><translations></translations><inputs><input type="%rr"></input></inputs><script><block s="doReport"><block var="rr"/></block></script></block-definition><block-definition s="%'rc'" type="reporter" category="Inputs"><header></header><code></code><translations></translations><inputs><input type="%rc"></input></inputs><script><block s="doReport"><block var="rc"/></block></script></block-definition><block-definition s="%'rp'" type="reporter" category="Inputs"><header></header><code></code><translations></translations><inputs><input type="%rp"></input></inputs><script><block s="doReport"><block var="rp"/></block></script></block-definition><block-definition s="" type="reporter" category="Inputs"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="list %'cmd'" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%mult%cmdRing"></input></inputs><script><block s="doReport"><block var="cmd"/></block></script></block-definition><block-definition s="get inputs $nl %'specs'" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><custom-block s="block %code %code %br %code %code %b %br %mult%s"><l>reportNewList</l><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="spec"/></block><l> </l><block s="reportListItem"><l>2</l><block var="spec"/></block></list></block><l></l><l>control</l><l/><list></list></custom-block></block></autolambda><list><l>spec</l></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><block s="reportIfElse"><block s="reportEquals"><block s="reportLetter"><l>1</l><l></l></block><l>%</l></block><l></l><block s="reportJoinWords"><list><l>%</l><l></l></list></block></block></list></block></autolambda><list></list></block><block var="specs"/></block></block></block></script></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="163"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="164"></list></costumes><sounds><list struct="atomic" id="165"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="2"><sprite name="Sprite" idx="1" x="16.261258779782565" y="22.201332289512834" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="170"><costumes><list struct="atomic" id="171"></list></costumes><sounds><list struct="atomic" id="172"></list></sounds><blocks></blocks><variables></variables><scripts><script x="14" y="10"><custom-block s="%code %br"><l>useful handles to grab</l></custom-block></script><script x="14" y="49.00000000000006"><block s="evaluate"><block s="reportJSFunction"><list></list><l>ide = world.childThatIsA(IDE_Morph);
hand = world.hand;
stage = ide.stage;
sprite = ide.currentSprite;
scripts = sprite.scripts;</l></block><list></list></block></script><script x="14" y="133.99999999999997"><block s="evaluate"><block s="reportJSFunction"><list></list><l>Object.defineProperties(window, {
 hand : {get() { return world.hand }},
 ide : {get() { return world.childThatIsA(IDE_Morph) }},
 stage : {get() { return ide.stage }},
 sprite : {get() { return ide.currentSprite }},
 scripts : {get() { return sprite.scripts }},
}); </l></block><list></list></block></script><script x="14" y="253.83333333333326"><custom-block s="%code %br"><l>making blocks</l></custom-block></script><script x="14" y="292.8333333333333"><custom-block s="call %code"><l>block = new CommandBlockMorph;
block.isDraggable = true;
return block;</l></custom-block></script><script x="14" y="349.8333333333334"><custom-block s="call %code"><l>block = new HatBlockMorph;
block.isDraggable = true;
return block;</l></custom-block></script><script x="14" y="406.8333333333332"><custom-block s="call %code"><l>block = new ReporterBlockMorph;
block.isDraggable = true;
return block;</l></custom-block></script><script x="14" y="463.83333333333326"><custom-block s="call %code"><l>block = new ReporterBlockMorph(true);
block.isDraggable = true;
return block;</l></custom-block></script><script x="14" y="520.8333333333333"><custom-block s="call %code"><l>block = new RingMorph();
block.color = SpriteMorph.prototype.blockColor.other;
block.setSpec('%rc %ringparms');
block.isDraggable = true;
return block;</l></custom-block></script><script x="14" y="589.8333333333333"><custom-block s="call %code"><l>block = new RingMorph();
block.color = SpriteMorph.prototype.blockColor.other;
block.setSpec('%rr %ringparms');
block.isDraggable = true;
return block;</l></custom-block></script><script x="14" y="658.833333333333"><custom-block s="call %code"><l>block = new RingMorph();
block.color = SpriteMorph.prototype.blockColor.other;
block.setSpec('%rp %ringparms');
block.isDraggable = true;
return block;</l></custom-block></script><script x="14" y="898.833333333333"><custom-block s="call %code"><l>arg = new ArgMorph('object');
arg.fixLayout();
arg.isDraggable = true;
return arg;</l></custom-block></script><script x="14.316667556762695" y="842.1666666666665"><custom-block s="call %code"><l>arg = new ArgMorph('list');
arg.fixLayout();
arg.isDraggable = true;
return arg;</l></custom-block></script><script x="18.316667556762695" y="1018.5000000000002"><custom-block s="call %code"><l>slot = new CommandSlotMorph;
block = new CommandBlockMorph;
block.add(slot);
block.fixLayout();
block.isDraggable = true;
slot.fixLayout();
return block;</l></custom-block></script><script x="18" y="1128.5000000000002"><custom-block s="call %code"><l>slot = new RingCommandSlotMorph;
block = new CommandBlockMorph;
block.add(slot);
block.fixLayout();
block.isDraggable = true;
slot.fixLayout();
return block;</l></custom-block></script><script x="22" y="1245.5000000000002"><custom-block s="call %code"><l>slot = new CSlotMorph;
block = new CommandBlockMorph;
block.add(slot);
block.fixLayout();
block.isDraggable = true;
slot.fixLayout();
return block;</l></custom-block></script><script x="10" y="768.833333333333"><custom-block s="call %code"><l>scripts = new ScriptsMorph;

return scripts;</l></custom-block></script><script x="426" y="829.4999999999998"><custom-block s="call %code"><l>slot = new FunctionSlotMorph;
slot.isDraggable = true;
return slot;</l></custom-block></script><script x="681" y="829.1666666666666"><custom-block s="call %code"><l>slot = new ReporterSlotMorph;
slot.isDraggable = true;
return slot;</l></custom-block></script><script x="426" y="881.1666666666667"><custom-block s="call %code"><l>slot = new FunctionSlotMorph(true);
slot.isDraggable = true;
return slot;</l></custom-block></script><script x="682" y="878.1666666666667"><custom-block s="call %code"><l>slot = new ReporterSlotMorph(true);
slot.isDraggable = true;
return slot;</l></custom-block></script><script x="400" y="1046.4999999999998"><custom-block s="call %code"><l>return new List([
CommandSlotMorph, 
RingCommandSlotMorph,
CSlotMorph,
InputSlotMorph,
InputSlotStringMorph,
InputSlotTextMorph,
TemplateSlotMorph,
BooleanSlotMorph,
TextSlotMorph,
ColorSlotMorph,
FunctionSlotMorph
].map(slot => {
slot = new slot;
let block = new CommandBlockMorph;
block.setSpec(':');
block.setCategory('control');
block.add(slot);
block.isDraggable = true;
slot.fixLayout();
block.fixLayout();
return block;
}));</l></custom-block></script><script x="734.533332824707" y="1024.0999999999992"><block s="errorObsolete"></block><block s="errorObsolete"></block><block s="errorObsolete"></block><block s="errorObsolete"></block><block s="errorObsolete"></block><block s="errorObsolete"></block><block s="errorObsolete"></block><block s="errorObsolete"></block><block s="errorObsolete"></block><block s="errorObsolete"></block></script></scripts></sprite>
i got them on the last two now just copy past them back to back, lmk if you have any trouble