<snapdata remixID="12492901"><project name="Replace Custom Blocks w/ Primitives" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><notes>A block that replaces instances of custom blocks with their definitions in a given script.&#xD;&#xD;By @joecooldoo&#xD;&#xD;Bugs:&#xD;- Doesn&apos;t support c-block types for some reason.&#xD;- Rings can be janky sometimes.&#xD;- Custom blocks that call itself will freeze the block.</notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAAidJREFUeF7t0kEJADAQA8GekfPvsoWa2M/EQGCZ2d17TIGowAAYlXf7CwAIQloAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOH8ojojEcaEeEAAAAAElFTkSuQmCC</thumbnail><scenes select="1"><scene name="Replace Custom Blocks w/ Primitives"><notes>A block that replaces instances of custom blocks with their definitions in a given script.&#xD;&#xD;By @joecooldoo&#xD;&#xD;Bugs:&#xD;- Doesn&apos;t support c-block types for some reason.&#xD;- Rings can be janky sometimes.&#xD;- Custom blocks that call itself will freeze the block.</notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="convert to primitives %&apos;SCRIPT&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%cmdRing"></input></inputs><script><block s="doDeclareVariables"><list><l>script</l><l>result</l><l>i</l></list></block><block s="doSetVar"><l>script</l><block s="reportTextSplit"><block var="SCRIPT"/><l><option>blocks</option></l></block></block><block s="doUntil"><block s="reportNot"><block s="reportListContainsItem"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportBlockAttribute"><l><option>custom?</option></l><block s="reifyReporter"><script></script><list></list></block></block></autolambda><list></list></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><block s="reportIsA"><l></l><l><option>command</option></l></block><block s="reportIsA"><l></l><l><option>reporter</option></l></block><block s="reportIsA"><l></l><l><option>predicate</option></l></block></list></block></autolambda><list></list></block><block s="reportListAttribute"><l><option>flatten</option></l><block var="script"/></block></block></block><block s="reportBoolean"><l><bool>true</bool></l></block></block></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="script"/></block><l><option>list</option></l></block></block><script><block s="doSetVar"><l>script</l><block s="reportNewList"><list><block var="script"/></list></block></block></script></block><block s="doForEach"><l>block</l><block var="script"/><script><block s="doIfElse"><block s="reportBlockAttribute"><l><option>custom?</option></l><block s="reportListItem"><l>1</l><block var="block"/></block></block><script><block s="doDeclareVariables"><list><l>dependencies</l><l>current dependency</l></list></block><block s="doSetVar"><l>dependencies</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>thing</l><block s="reportCDR"><block var="block"/></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="thing"/><l><option>text</option></l></block><block s="reportIsA"><block var="thing"/><l><option>number</option></l></block></list></block><script><block s="doAddToList"><block var="thing"/><block var="dependencies"/></block></script><script><block s="doSetVar"><l>current dependency</l><custom-block s="convert to primitives %cmdRing"><block s="reportJoinWords"><block var="thing"/></block></custom-block></block><block s="doIfElse"><block s="reportIsA"><block var="current dependency"/><l><option>text</option></l></block><script><block s="doAddToList"><block var="current dependency"/><block var="dependencies"/></block></script><script><block s="doAddToList"><block s="reportTextSplit"><block var="current dependency"/><l><option>blocks</option></l></block><block var="dependencies"/></block></script></block></script></block></script></block><block s="doAddToList"><block s="reportTextSplit"><block s="reportJoinWords"><list><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="block"/></block><l><option>command</option></l></block><block s="reifyReporter"><script><block s="doRun"><block s="reifyScript"><script></script><list></list></block><list></list></block></script><list></list></block><block s="reifyReporter"><autolambda><block s="evaluate"><block s="reifyReporter"><script></script><list></list></block><list></list></block></autolambda><list></list></block></block><block s="reportJoinWords"><block s="reportNewList"><list><block s="reifyReporter"><autolambda><block s="reifyReporter"><script></script><list></list></block></autolambda><list></list></block><block s="reportBlockAttribute"><l><option>definition</option></l><block s="reportListItem"><l>1</l><block var="block"/></block></block><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportBlockAttribute"><l><option>slots</option></l><block s="reportListItem"><l>1</l><block var="block"/></block></block></block></list></block><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportListItem"><block s="reportNumbers"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportBlockAttribute"><l><option>slots</option></l><block s="reportListItem"><l>1</l><block var="block"/></block></block></block></block><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block s="reportBlockAttribute"><l><option>definition</option></l><block s="reportListItem"><l>1</l><block var="block"/></block></block><l><option>blocks</option></l></block></block><l><option>list</option></l></block><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block s="reportBlockAttribute"><l><option>definition</option></l><block s="reportListItem"><l>1</l><block var="block"/></block></block><l><option>blocks</option></l></block></block><block s="reportTextSplit"><block s="reportBlockAttribute"><l><option>definition</option></l><block s="reportListItem"><l>1</l><block var="block"/></block></block><l><option>blocks</option></l></block></block></block></block></block></list></block></list></block></block><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportBlockAttribute"><l><option>slots</option></l><block s="reportListItem"><l>1</l><block var="block"/></block></block></block></list></block><block var="dependencies"/></list></block></list></block><l><option>blocks</option></l></block><block var="result"/></block></script><script><block s="doDeclareVariables"><list><l>dependencies</l><l>current dependency</l></list></block><block s="doSetVar"><l>dependencies</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>thing</l><block s="reportCDR"><block var="block"/></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="thing"/><l><option>text</option></l></block><block s="reportIsA"><block var="thing"/><l><option>number</option></l></block></list></block><script><block s="doAddToList"><block var="thing"/><block var="dependencies"/></block></script><script><block s="doSetVar"><l>current dependency</l><custom-block s="convert to primitives %cmdRing"><block s="reportJoinWords"><block var="thing"/></block></custom-block></block><block s="doIfElse"><block s="reportIsA"><block var="current dependency"/><l><option>text</option></l></block><script><block s="doAddToList"><block var="current dependency"/><block var="dependencies"/></block></script><script><block s="doAddToList"><block s="reportTextSplit"><block var="current dependency"/><l><option>blocks</option></l></block><block var="dependencies"/></block></script></block></script></block></script></block><block s="doAddToList"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="block"/></block></list></block><block var="dependencies"/></list></block><block var="result"/></block></script></block></script></block><block s="doSetVar"><l>script</l><block s="reportTextSplit"><block s="reportJoinWords"><block var="result"/></block><l><option>blocks</option></l></block></block></script></block><block s="doReport"><block s="reportJoinWords"><block var="result"/></block></block></script></block-definition></blocks><stage name="Stage" width="240" height="180" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="439"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAAC0CAYAAACqnKHoAAAAAXNSR0IArs4c6QAABGRJREFUeF7t0wEJADAMA8HVSP273GAuHq4KwqWZ3b3HESCQFBgDTvYmNIEvYMAegUBYwIDD5YlOwID9AIGwgAGHyxOdgAH7AQJhAQMOlyc6AQP2AwTCAgYcLk90AgbsBwiEBQw4XJ7oBAzYDxAICxhwuDzRCRiwHyAQFjDgcHmiEzBgP0AgLGDA4fJEJ2DAfoBAWMCAw+WJTsCA/QCBsIABh8sTnYAB+wECYQEDDpcnOgED9gMEwgIGHC5PdAIG7AcIhAUMOFye6AQM2A8QCAsYcLg80QkYsB8gEBYw4HB5ohMwYD9AICxgwOHyRCdgwH6AQFjAgMPliU7AgP0AgbCAAYfLE52AAfsBAmEBAw6XJzoBA/YDBMICBhwuT3QCBuwHCIQFDDhcnugEDNgPEAgLGHC4PNEJGLAfIBAWMOBweaITMGA/QCAsYMDh8kQnYMB+gEBYwIDD5YlOwID9AIGwgAGHyxOdgAH7AQJhAQMOlyc6AQP2AwTCAgYcLk90AgbsBwiEBQw4XJ7oBAzYDxAICxhwuDzRCRiwHyAQFjDgcHmiEzBgP0AgLGDA4fJEJ2DAfoBAWMCAw+WJTsCA/QCBsIABh8sTnYAB+wECYQEDDpcnOgED9gMEwgIGHC5PdAIG7AcIhAUMOFye6AQM2A8QCAsYcLg80QkYsB8gEBYw4HB5ohMwYD9AICxgwOHyRCdgwH6AQFjAgMPliU7AgP0AgbCAAYfLE52AAfsBAmEBAw6XJzoBA/YDBMICBhwuT3QCBuwHCIQFDDhcnugEDNgPEAgLGHC4PNEJGLAfIBAWMOBweaITMGA/QCAsYMDh8kQnYMB+gEBYwIDD5YlOwID9AIGwgAGHyxOdgAH7AQJhAQMOlyc6AQP2AwTCAgYcLk90AgbsBwiEBQw4XJ7oBAzYDxAICxhwuDzRCRiwHyAQFjDgcHmiEzBgP0AgLGDA4fJEJ2DAfoBAWMCAw+WJTsCA/QCBsIABh8sTnYAB+wECYQEDDpcnOgED9gMEwgIGHC5PdAIG7AcIhAUMOFye6AQM2A8QCAsYcLg80QkYsB8gEBYw4HB5ohMwYD9AICxgwOHyRCdgwH6AQFjAgMPliU7AgP0AgbCAAYfLE52AAfsBAmEBAw6XJzoBA/YDBMICBhwuT3QCBuwHCIQFDDhcnugEDNgPEAgLGHC4PNEJGLAfIBAWMOBweaITMGA/QCAsYMDh8kQnYMB+gEBYwIDD5YlOwID9AIGwgAGHyxOdgAH7AQJhAQMOlyc6AQP2AwTCAgYcLk90AgbsBwiEBQw4XJ7oBAzYDxAICxhwuDzRCRiwHyAQFjDgcHmiEzBgP0AgLGDA4fJEJ2DAfoBAWMCAw+WJTsCA/QCBsIABh8sTnYAB+wECYQEDDpcnOgED9gMEwgIGHC5PdAIG7AcIhAUMOFye6AQM2A8QCAsYcLg80QkYsB8gEBYw4HB5ohMwYD9AICxgwOHyRCdgwH6AQFjAgMPliU7gAdet80nr98e0AAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="440"></list></costumes><sounds><list struct="atomic" id="441"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Block" idx="1" x="0" y="-5.684341886080802e-14" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" hidden="true" costume="0" color="30,30,30,1" pen="tip" id="446"><costumes><list struct="atomic" id="447"></list></costumes><sounds><list struct="atomic" id="448"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="20"><custom-block s="convert to primitives %cmdRing"><block s="reifyScript"><script></script><list></list></block></custom-block></script></scripts></sprite></sprites></stage><variables></variables></scene></scenes></project><media name="Replace Custom Blocks w/ Primitives" app="Snap! 8.2, https://snap.berkeley.edu" version="2"></media></snapdata>