File tree Expand file tree Collapse file tree
addons/addons/ai-integration Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ {
2+ "default":"<toolbox><block type=\"motion_movesteps\" blockType=\"Stack\"><value name=\"STEPS\"><shadow type=\"math_number\"><field name=\"NUM\">10</field></shadow></value></block><block type=\"motion_turnright\" blockType=\"Stack\"><value name=\"DEGREES\"><shadow type=\"math_number\"><field name=\"NUM\">15</field></shadow></value></block><block type=\"motion_turnleft\" blockType=\"Stack\"><value name=\"DEGREES\"><shadow type=\"math_number\"><field name=\"NUM\">15</field></shadow></value></block><block type=\"motion_goto\" blockType=\"Stack\"><value name=\"TO\"><shadow type=\"motion_goto_menu\"></shadow></value></block><block type=\"motion_gotoxy\" blockType=\"Stack\"><value name=\"X\"><shadow id=\"movex\" type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"Y\"><shadow id=\"movey\" type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block><block type=\"motion_glideto\" blockType=\"Stack\"><value name=\"SECS\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value><value name=\"TO\"><shadow type=\"motion_glideto_menu\"></shadow></value></block><block type=\"motion_glidesecstoxy\" blockType=\"Stack\"><value name=\"SECS\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value><value name=\"X\"><shadow id=\"glidex\" type=\"math_number\"><field name=\"NUM\">0</field></shadow></value><value name=\"Y\"><shadow id=\"glidey\" type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block><block type=\"motion_pointindirection\" blockType=\"Stack\"><value name=\"DIRECTION\"><shadow type=\"math_angle\"><field name=\"NUM\">90</field></shadow></value></block><block type=\"motion_pointtowards\" blockType=\"Stack\"><value name=\"TOWARDS\"><shadow type=\"motion_pointtowards_menu\"></shadow></value></block><block type=\"motion_changexby\" blockType=\"Stack\"><value name=\"DX\"><shadow type=\"math_number\"><field name=\"NUM\">10</field></shadow></value></block><block type=\"motion_setx\" blockType=\"Stack\"><value name=\"X\"><shadow id=\"setx\" type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block><block type=\"motion_changeyby\" blockType=\"Stack\"><value name=\"DY\"><shadow type=\"math_number\"><field name=\"NUM\">10</field></shadow></value></block><block type=\"motion_sety\" blockType=\"Stack\"><value name=\"Y\"><shadow id=\"sety\" type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block><block type=\"motion_ifonedgebounce\" blockType=\"Stack\"/><block type=\"motion_setrotationstyle\" blockType=\"Stack\"/><block type=\"motion_xposition\" blockType=\"Boolean\"/><block type=\"motion_yposition\" blockType=\"Boolean\"/><block type=\"motion_direction\" blockType=\"Boolean\"/><block type=\"looks_sayforsecs\" blockType=\"Stack\"><value name=\"MESSAGE\"><shadow type=\"text\"><field name=\"TEXT\">Hello!</field></shadow></value><value name=\"SECS\"><shadow type=\"math_number\"><field name=\"NUM\">2</field></shadow></value></block><block type=\"looks_say\" blockType=\"Stack\"><value name=\"MESSAGE\"><shadow type=\"text\"><field name=\"TEXT\">Hello!</field></shadow></value></block><block type=\"looks_thinkforsecs\" blockType=\"Stack\"><value name=\"MESSAGE\"><shadow type=\"text\"><field name=\"TEXT\">Hmm...</field></shadow></value><value name=\"SECS\"><shadow type=\"math_number\"><field name=\"NUM\">2</field></shadow></value></block><block type=\"looks_think\" blockType=\"Stack\"><value name=\"MESSAGE\"><shadow type=\"text\"><field name=\"TEXT\">Hmm...</field></shadow></value></block><block type=\"looks_switchcostumeto\" blockType=\"Stack\"><value name=\"COSTUME\"><shadow type=\"looks_costume\"><field name=\"COSTUME\">costume1</field></shadow></value></block><block type=\"looks_nextcostume\" blockType=\"Stack\"/><block type=\"looks_switchbackdropto\" blockType=\"Stack\"><value name=\"BACKDROP\"><shadow type=\"looks_backdrops\"><field name=\"BACKDROP\">backdrop1</field></shadow></value></block><block type=\"looks_nextbackdrop\" blockType=\"Stack\"/><block type=\"looks_changesizeby\" blockType=\"Stack\"><value name=\"CHANGE\"><shadow type=\"math_number\"><field name=\"NUM\">10</field></shadow></value></block><block type=\"looks_setsizeto\" blockType=\"Stack\"><value name=\"SIZE\"><shadow type=\"math_number\"><field name=\"NUM\">100</field></shadow></value></block><block type=\"looks_changeeffectby\" blockType=\"Stack\"><value name=\"CHANGE\"><shadow type=\"math_number\"><field name=\"NUM\">25</field></shadow></value></block><block type=\"looks_seteffectto\" blockType=\"Stack\"><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">0</field></shadow></value></block><block type=\"looks_cleargraphiceffects\" blockType=\"Stack\"/><block type=\"looks_show\" blockType=\"Stack\"/><block type=\"looks_hide\" blockType=\"Stack\"/><block type=\"looks_gotofrontback\" blockType=\"Stack\"/><block type=\"looks_goforwardbackwardlayers\" blockType=\"Stack\"><value name=\"NUM\"><shadow type=\"math_integer\"><field name=\"NUM\">1</field></shadow></value></block><block type=\"looks_costumenumbername\" blockType=\"Boolean\"/><block type=\"looks_backdropnumbername\" blockType=\"Boolean\"/><block type=\"looks_size\" blockType=\"Boolean\"/><block type=\"sound_playuntildone\" blockType=\"Stack\"><value name=\"SOUND_MENU\"><shadow type=\"sound_sounds_menu\"><field name=\"SOUND_MENU\"/></shadow></value></block><block type=\"sound_play\" blockType=\"Stack\"><value name=\"SOUND_MENU\"><shadow type=\"sound_sounds_menu\"><field name=\"SOUND_MENU\"/></shadow></value></block><block type=\"sound_stopallsounds\" blockType=\"Stack\"/><block type=\"sound_changeeffectby\" blockType=\"Stack\"><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">10</field></shadow></value></block><block type=\"sound_seteffectto\" blockType=\"Stack\"><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">100</field></shadow></value></block><block type=\"sound_cleareffects\" blockType=\"Stack\"/><block type=\"sound_changevolumeby\" blockType=\"Stack\"><value name=\"VOLUME\"><shadow type=\"math_number\"><field name=\"NUM\">-10</field></shadow></value></block><block type=\"sound_setvolumeto\" blockType=\"Stack\"><value name=\"VOLUME\"><shadow type=\"math_number\"><field name=\"NUM\">100</field></shadow></value></block><block type=\"sound_volume\" blockType=\"Boolean\"/><block type=\"event_whenflagclicked\" blockType=\"Hat\"/><block type=\"event_whenkeypressed\" blockType=\"Hat\"></block><block type=\"event_whenthisspriteclicked\" blockType=\"Hat\"/><block type=\"event_whenbackdropswitchesto\" blockType=\"Hat\"></block><block type=\"event_whengreaterthan\" blockType=\"Hat\"><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">10</field></shadow></value></block><block type=\"event_whenbroadcastreceived\" blockType=\"Hat\"><field name=\"BROADCAST_OPTION\" variabletype=\"broadcast_msg\">message1</field></block><block type=\"event_broadcast\" blockType=\"Stack\"><value name=\"BROADCAST_INPUT\"><shadow type=\"event_broadcast_menu\"><field name=\"BROADCAST_OPTION\" variabletype=\"broadcast_msg\">message1</field></shadow></value></block><block type=\"event_broadcastandwait\" blockType=\"Stack\"><value name=\"BROADCAST_INPUT\"><shadow type=\"event_broadcast_menu\"><field name=\"BROADCAST_OPTION\" variabletype=\"broadcast_msg\">message1</field></shadow></value></block><block type=\"control_wait\" blockType=\"Stack\"><value name=\"DURATION\"><shadow type=\"math_positive_number\"><field name=\"NUM\">1</field></shadow></value></block><block type=\"control_repeat\" blockType=\"Stack\"><value name=\"TIMES\"><shadow type=\"math_whole_number\"><field name=\"NUM\">10</field></shadow></value></block><block type=\"control_forever\" blockType=\"Stack\"><statement name=\"SUBSTACK\"/></block><block type=\"control_if\" blockType=\"Stack\"><value name=\"CONDITION\"/><statement name=\"SUBSTACK\"/></block><block type=\"control_if_else\" blockType=\"Stack\"><value name=\"CONDITION\"/><statement name=\"SUBSTACK\"/><statement name=\"SUBSTACK2\"/></block><block type=\"control_wait_until\" blockType=\"Stack\"><value name=\"CONDITION\"/></block><block type=\"control_repeat_until\" blockType=\"Stack\"><value name=\"CONDITION\"/><statement name=\"SUBSTACK\"/></block><block type=\"control_while\" blockType=\"Stack\"><value name=\"CONDITION\"/><statement name=\"SUBSTACK\"/></block><block type=\"control_stop\" blockType=\"Stack\"/><block type=\"control_start_as_clone\" blockType=\"Hat\"/><block type=\"control_create_clone_of\" blockType=\"Stack\"><value name=\"CLONE_OPTION\"><shadow type=\"control_create_clone_of_menu\"/></value></block><block type=\"control_delete_this_clone\" blockType=\"Stack\"/><block type=\"sensing_touchingobject\" blockType=\"Reporter\"><value name=\"TOUCHINGOBJECTMENU\"><shadow type=\"sensing_touchingobjectmenu\"/></value></block><block type=\"sensing_touchingcolor\" blockType=\"Reporter\"><value name=\"COLOR\"><shadow type=\"colour_picker\"/></value></block><block type=\"sensing_coloristouchingcolor\" blockType=\"Reporter\"><value name=\"COLOR\"><shadow type=\"colour_picker\"/></value><value name=\"COLOR2\"><shadow type=\"colour_picker\"/></value></block><block type=\"sensing_distanceto\" blockType=\"Boolean\"><value name=\"DISTANCETOMENU\"><shadow type=\"sensing_distancetomenu\"/></value></block><block type=\"sensing_askandwait\" blockType=\"Stack\"><value name=\"QUESTION\"><shadow type=\"text\"><field name=\"TEXT\">What's your name?</field></shadow></value></block><block type=\"sensing_answer\" blockType=\"Boolean\"/><block type=\"sensing_keypressed\" blockType=\"Reporter\"><value name=\"KEY_OPTION\"><shadow type=\"sensing_keyoptions\"/></value></block><block type=\"sensing_mousedown\" blockType=\"Reporter\"/><block type=\"sensing_mousex\" blockType=\"Boolean\"/><block type=\"sensing_mousey\" blockType=\"Boolean\"/><block type=\"sensing_setdragmode\" blockType=\"Stack\"/><block type=\"sensing_loudness\" blockType=\"Boolean\"/><block type=\"sensing_timer\" blockType=\"Boolean\"/><block type=\"sensing_resettimer\" blockType=\"Stack\"/><block type=\"sensing_of\" blockType=\"Boolean\"><value name=\"OBJECT\"><shadow id=\"sensing_of_object_menu\" type=\"sensing_of_object_menu\"/></value></block><block type=\"sensing_current\" blockType=\"Boolean\"/><block type=\"sensing_dayssince2000\" blockType=\"Boolean\"/><block type=\"sensing_username\" blockType=\"Boolean\"/><block type=\"operator_add\" blockType=\"Boolean\"><value name=\"NUM1\"><shadow type=\"math_number\"><field name=\"NUM\"/></shadow></value><value name=\"NUM2\"><shadow type=\"math_number\"><field name=\"NUM\"/></shadow></value></block><block type=\"operator_subtract\" blockType=\"Boolean\"><value name=\"NUM1\"><shadow type=\"math_number\"><field name=\"NUM\"/></shadow></value><value name=\"NUM2\"><shadow type=\"math_number\"><field name=\"NUM\"/></shadow></value></block><block type=\"operator_multiply\" blockType=\"Boolean\"><value name=\"NUM1\"><shadow type=\"math_number\"><field name=\"NUM\"/></shadow></value><value name=\"NUM2\"><shadow type=\"math_number\"><field name=\"NUM\"/></shadow></value></block><block type=\"operator_divide\" blockType=\"Boolean\"><value name=\"NUM1\"><shadow type=\"math_number\"><field name=\"NUM\"/></shadow></value><value name=\"NUM2\"><shadow type=\"math_number\"><field name=\"NUM\"/></shadow></value></block><block type=\"operator_random\" blockType=\"Boolean\"><value name=\"FROM\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value><value name=\"TO\"><shadow type=\"math_number\"><field name=\"NUM\">10</field></shadow></value></block><block type=\"operator_gt\" blockType=\"Reporter\"><value name=\"OPERAND1\"><shadow type=\"text\"><field name=\"TEXT\"/></shadow></value><value name=\"OPERAND2\"><shadow type=\"text\"><field name=\"TEXT\">50</field></shadow></value></block><block type=\"operator_lt\" blockType=\"Reporter\"><value name=\"OPERAND1\"><shadow type=\"text\"><field name=\"TEXT\"/></shadow></value><value name=\"OPERAND2\"><shadow type=\"text\"><field name=\"TEXT\">50</field></shadow></value></block><block type=\"operator_equals\" blockType=\"Reporter\"><value name=\"OPERAND1\"><shadow type=\"text\"><field name=\"TEXT\"/></shadow></value><value name=\"OPERAND2\"><shadow type=\"text\"><field name=\"TEXT\">50</field></shadow></value></block><block type=\"operator_and\" blockType=\"Reporter\"><value name=\"OPERAND1\"/><value name=\"OPERAND2\"/></block><block type=\"operator_or\" blockType=\"Reporter\"><value name=\"OPERAND1\"/><value name=\"OPERAND2\"/></block><block type=\"operator_not\" blockType=\"Reporter\"><value name=\"OPERAND\"/></block><block type=\"operator_join\" blockType=\"Boolean\"><value name=\"STRING1\"><shadow type=\"text\"><field name=\"TEXT\">apple </field></shadow></value><value name=\"STRING2\"><shadow type=\"text\"><field name=\"TEXT\">banana</field></shadow></value></block><block type=\"operator_letter_of\" blockType=\"Boolean\"><value name=\"LETTER\"><shadow type=\"math_whole_number\"><field name=\"NUM\">1</field></shadow></value><value name=\"STRING\"><shadow type=\"text\"><field name=\"TEXT\">apple</field></shadow></value></block><block type=\"operator_length\" blockType=\"Boolean\"><value name=\"STRING\"><shadow type=\"text\"><field name=\"TEXT\">apple</field></shadow></value></block><block type=\"operator_contains\" blockType=\"Reporter\"><value name=\"STRING1\"><shadow type=\"text\"><field name=\"TEXT\">apple</field></shadow></value><value name=\"STRING2\"><shadow type=\"text\"><field name=\"TEXT\">a</field></shadow></value></block><block type=\"operator_mod\" blockType=\"Boolean\"><value name=\"NUM1\"><shadow type=\"math_number\"><field name=\"NUM\"/></shadow></value><value name=\"NUM2\"><shadow type=\"math_number\"><field name=\"NUM\"/></shadow></value></block><block type=\"operator_round\" blockType=\"Boolean\"><value name=\"NUM\"><shadow type=\"math_number\"><field name=\"NUM\"/></shadow></value></block><block type=\"operator_mathop\" blockType=\"Boolean\"><value name=\"NUM\"><shadow type=\"math_number\"><field name=\"NUM\"/></shadow></value></block><block blockType=\"Stack\" type=\"data_variable\"><field name=\"VARIABLE\" variabletype=\"\">my variable</field></block><block blockType=\"Stack\" type=\"data_setvariableto\"><field name=\"VARIABLE\" variabletype=\"\">my variable</field><value name=\"VALUE\"><shadow type=\"text\"><field name=\"TEXT\">0</field></shadow></value></block><block blockType=\"Stack\" type=\"data_changevariableby\"><field name=\"VARIABLE\" variabletype=\"\">my variable</field><value name=\"VALUE\"><shadow type=\"math_number\"><field name=\"NUM\">1</field></shadow></value></block><block blockType=\"Stack\" type=\"data_showvariable\"><field name=\"VARIABLE\" variabletype=\"\">my variable</field></block><block blockType=\"Stack\" type=\"data_hidevariable\"><field name=\"VARIABLE\" variabletype=\"\">my variable</field></block><block blockType=\"Reporter\" type=\"data_listcontents\"><field name=\"LIST\" variabletype=\"list\">my list</field></block><block blockType=\"Stack\" type=\"data_addtolist\"><field name=\"LIST\" variabletype=\"list\">my list</field><value name=\"ITEM\"><shadow type=\"text\"><field name=\"TEXT\">thing</field></shadow></value></block><block blockType=\"Stack\" type=\"data_deleteoflist\"><field name=\"LIST\" variabletype=\"list\">my list</field><value name=\"INDEX\"><shadow type=\"math_integer\"><field name=\"NUM\">1</field></shadow></value></block><block blockType=\"Stack\" type=\"data_deletealloflist\"><field name=\"LIST\" variabletype=\"list\">my list</field></block><block blockType=\"Stack\" type=\"data_insertatlist\"><field name=\"LIST\" variabletype=\"list\">my list</field><value name=\"ITEM\"><shadow type=\"text\"><field name=\"TEXT\">thing</field></shadow></value><value name=\"INDEX\"><shadow type=\"math_integer\"><field name=\"NUM\">1</field></shadow></value></block><block blockType=\"Stack\" type=\"data_replaceitemoflist\"><field name=\"LIST\" variabletype=\"list\">my list</field><value name=\"INDEX\"><shadow type=\"math_integer\"><field name=\"NUM\">1</field></shadow></value><value name=\"ITEM\"><shadow type=\"text\"><field name=\"TEXT\">thing</field></shadow></value></block><block blockType=\"Reporter\" type=\"data_itemoflist\"><field name=\"LIST\" variabletype=\"list\">my list</field><value name=\"INDEX\"><shadow type=\"math_integer\"><field name=\"NUM\">1</field></shadow></value></block><block blockType=\"Reporter\" type=\"data_itemnumoflist\"><field name=\"LIST\" variabletype=\"list\">my list</field><value name=\"ITEM\"><shadow type=\"text\"><field name=\"TEXT\">thing</field></shadow></value></block><block blockType=\"Stack\" type=\"data_showlist\"><field name=\"LIST\" variabletype=\"list\">my list</field></block><block blockType=\"Reporter\" type=\"data_lengthoflist\"><field name=\"LIST\" variabletype=\"list\">my list</field></block><block blockType=\"Boolean\" type=\"data_listcontainsitem\"><field name=\"LIST\" variabletype=\"list\">my list</field><value name=\"ITEM\"><shadow type=\"text\"><field name=\"TEXT\">thing</field></shadow></value></block><block blockType=\"Stack\" type=\"data_hidelist\"><field name=\"LIST\" variabletype=\"list\">my list</field></block><block type=\"procedures_definition\" blockType=\"Hat\"><statement name=\"custom_block\"><shadow type=\"procedures_prototype\"><mutation proccode=\"...\" argumentids=\"...\" argumentnames=\"...\" argumentdefaults=\"\" warp=\"...\"/></shadow></statement><next></next></block><block type=\"procedures_call\" blockType=\"Stack\"><mutation proccode=\"...\" argumentids=\"...\" warp=\"...\"/></block><block type=\"argument_reporter_boolean\" blockType=\"Boolean\"><field name=\"VALUE\"/></block><block type=\"argument_reporter_string_number\" blockType=\"Reporter\"><field name=\"VALUE\"/></block></toolbox>"
3+ }
Original file line number Diff line number Diff line change 11const toolboxOverrides = require ( './assets/toolboxOverrides.json' ) ;
2+ const defaultToolbox = require ( './assets/defaultToolbox.json' ) ;
23
34export default class helpers {
45 constructor ( ) {
@@ -192,8 +193,11 @@ export default class helpers {
192193 document . AI_INTEGRATION . popupOpen = false ;
193194 } ) ;
194195 }
195- static returnSterilizedToolbox ( Gaddon ) {
196+ static returnSterilizedToolbox ( Gaddon , allowExtensions = false ) {
196197 if ( Gaddon == null ) return ;
198+ if ( allowExtensions ) {
199+ return defaultToolbox . default ;
200+ }
197201 function extractBlockReturnType ( block ) {
198202 if ( ! block ) return null ;
199203 var returnType = "Stack" ;
@@ -248,7 +252,8 @@ export default class helpers {
248252 workspace . dispose ( ) ;
249253 var serializer = new XMLSerializer ( ) ;
250254 var xmlString = serializer . serializeToString ( sterializedToolbox ) ;
251- console . log ( "[DEBUG] toolbox has # of blocks: " + sterializedToolbox . getElementsByTagName ( "block" ) . length ) ;
255+ console . log ( "[DEBUG] toolbox has #" , sterializedToolbox . getElementsByTagName ( "block" ) . length , " of blocks" ) ;
256+
252257 return xmlString . replace ( / > \s + < / g, '><' ) . trim ( ) ;
253258 }
254259}
You can’t perform that action at this time.
0 commit comments