UNPKG

cloud-blocks

Version:

Cloud Blocks is a library for building scratch computing interfaces with Luxrobo MODI.

104 lines (98 loc) 111 kB
// Do not edit this file; automatically generated by build.py. 'use strict'; /* Visual Blocks Editor Copyright 2016 Massachusetts Institute of Technology All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ Blockly.Colours={motion:{primary:"#4C97FF",secondary:"#4280D7",tertiary:"#3373CC"},looks:{primary:"#9966FF",secondary:"#855CD6",tertiary:"#774DCB"},sounds:{primary:"#CF63CF",secondary:"#C94FC9",tertiary:"#BD42BD"},control:{primary:"#FFAB19",secondary:"#EC9C13",tertiary:"#CF8B17"},event:{primary:"#FFBF00",secondary:"#E6AC00",tertiary:"#CC9900"},sensing:{primary:"#5CB1D6",secondary:"#47A8D1",tertiary:"#2E8EB8"},pen:{primary:"#0fBD8C",secondary:"#0DA57A",tertiary:"#0B8E69"},operators:{primary:"#59C059", secondary:"#46B946",tertiary:"#389438"},data:{primary:"#FF8C1A",secondary:"#FF8000",tertiary:"#DB6E00"},input:{primary:"#7873F0",secondary:"#5B55D9",tertiary:"#5B55D9"},output:{primary:"#FF7550",secondary:"#EC532A",tertiary:"#EC532A"},network:{primary:"#FFCA28",secondary:"#D1A00C",tertiary:"#D1A00C"},data_lists:{primary:"#FF661A",secondary:"#FF5500",tertiary:"#E64D00"},more:{primary:"#FF6680",secondary:"#FF4D6A",tertiary:"#FF3355"},text:"#575E75",workspace:"#F9F9F9",toolboxHover:"#4C97FF",toolboxSelected:"#e9eef2", toolboxText:"#575E75",toolbox:"#FFFFFF",flyout:"#F9F9F9",scrollbar:"#CECDCE",scrollbarHover:"#CECDCE",textField:"#FFFFFF",insertionMarker:"#000000",insertionMarkerOpacity:.2,dragShadowOpacity:.3,stackGlow:"#FFF200",stackGlowSize:4,stackGlowOpacity:1,replacementGlow:"#FFFFFF",replacementGlowSize:2,replacementGlowOpacity:1,colourPickerStroke:"#FFFFFF",fieldShadow:"rgba(0,0,0,0.1)",dropDownShadow:"rgba(0, 0, 0, .3)",numPadBackground:"#547AB2",numPadBorder:"#435F91",numPadActiveBackground:"#435F91",numPadText:"white", valueReportBackground:"#FFFFFF",valueReportBorder:"#AAAAAA"};Blockly.Colours.overrideColours=function(a){if(a)for(var b in a)if(a.hasOwnProperty(b)&&Blockly.Colours.hasOwnProperty(b)){var c=a[b];if(goog.isObject(c))for(var d in c)c.hasOwnProperty(d)&&Blockly.Colours[b].hasOwnProperty(d)&&(Blockly.Colours[b][d]=c[d]);else Blockly.Colours[b]=c}}; Blockly.constants={};Blockly.DRAG_RADIUS=3;Blockly.FLYOUT_DRAG_RADIUS=10;Blockly.SNAP_RADIUS=48;Blockly.CONNECTING_SNAP_RADIUS=68;Blockly.CURRENT_CONNECTION_PREFERENCE=20;Blockly.BUMP_DELAY=0;Blockly.COLLAPSE_CHARS=30;Blockly.LONGPRESS=750;Blockly.LINE_SCROLL_MULTIPLIER=15;Blockly.SOUND_LIMIT=100;Blockly.DRAG_STACK=!0;Blockly.HSV_SATURATION=.45;Blockly.HSV_VALUE=.65;Blockly.SPRITE={width:96,height:124,url:"sprites.png"};Blockly.SVG_NS="http://www.w3.org/2000/svg";Blockly.HTML_NS="http://www.w3.org/1999/xhtml"; Blockly.INPUT_VALUE=1;Blockly.OUTPUT_VALUE=2;Blockly.NEXT_STATEMENT=3;Blockly.PREVIOUS_STATEMENT=4;Blockly.DUMMY_INPUT=5;Blockly.ALIGN_LEFT=-1;Blockly.ALIGN_CENTRE=0;Blockly.ALIGN_RIGHT=1;Blockly.DRAG_NONE=0;Blockly.DRAG_STICKY=1;Blockly.DRAG_BEGIN=1;Blockly.DRAG_FREE=2;Blockly.OPPOSITE_TYPE=[];Blockly.OPPOSITE_TYPE[Blockly.INPUT_VALUE]=Blockly.OUTPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.OUTPUT_VALUE]=Blockly.INPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.NEXT_STATEMENT]=Blockly.PREVIOUS_STATEMENT; Blockly.OPPOSITE_TYPE[Blockly.PREVIOUS_STATEMENT]=Blockly.NEXT_STATEMENT;Blockly.TOOLBOX_AT_TOP=0;Blockly.TOOLBOX_AT_BOTTOM=1;Blockly.TOOLBOX_AT_LEFT=2;Blockly.TOOLBOX_AT_RIGHT=3;Blockly.OUTPUT_SHAPE_HEXAGONAL=1;Blockly.OUTPUT_SHAPE_ROUND=2;Blockly.OUTPUT_SHAPE_SQUARE=3;Blockly.Categories={motion:"motion",looks:"looks",sound:"sounds",pen:"pen",data:"data",dataLists:"data-lists",event:"events",control:"control",sensing:"sensing",operators:"operators",more:"more"};Blockly.DELETE_AREA_NONE=null; Blockly.DELETE_AREA_TRASH=1;Blockly.DELETE_AREA_TOOLBOX=2;Blockly.VARIABLE_CATEGORY_NAME="VARIABLE";Blockly.PROCEDURE_CATEGORY_NAME="PROCEDURE";Blockly.RENAME_VARIABLE_ID="RENAME_VARIABLE_ID";Blockly.DELETE_VARIABLE_ID="DELETE_VARIABLE_ID";Blockly.NEW_BROADCAST_MESSAGE_ID="NEW_BROADCAST_MESSAGE_ID";Blockly.BROADCAST_MESSAGE_VARIABLE_TYPE="broadcast_msg";Blockly.LIST_VARIABLE_TYPE="list";Blockly.SCALAR_VARIABLE_TYPE="";Blockly.PROCEDURES_DEFINITION_BLOCK_TYPE="procedures_definition"; Blockly.PROCEDURES_PROTOTYPE_BLOCK_TYPE="procedures_prototype";Blockly.PROCEDURES_CALL_BLOCK_TYPE="procedures_call";Blockly.StatusButtonState={READY:"ready",NOT_READY:"not ready"};Blockly.Blocks.action_boatstart={init:function(){this.jsonInit({message0:Blockly.Msg.ACTION_BOAT_START,category:Blockly.Categories.action,extensions:["shape_statement"],colour:Blockly.Colours.output.primary,colourSecondary:Blockly.Colours.output.secondary,colourTertiary:Blockly.Colours.output.tertiary})}}; Blockly.Blocks.action_boatstop={init:function(){this.jsonInit({message0:Blockly.Msg.ACTION_BOAT_STOP,category:Blockly.Categories.action,extensions:["shape_statement"],colour:Blockly.Colours.output.primary,colourSecondary:Blockly.Colours.output.secondary,colourTertiary:Blockly.Colours.output.tertiary})}}; Blockly.Blocks.action_turnofflights={init:function(){this.jsonInit({message0:Blockly.Msg.ACTION_TRUN_OFF_LIGHTS,category:Blockly.Categories.action,extensions:["shape_statement"],colour:Blockly.Colours.output.primary,colourSecondary:Blockly.Colours.output.secondary,colourTertiary:Blockly.Colours.output.tertiary})}}; Blockly.Blocks.action_turnonlights={init:function(){this.jsonInit({message0:Blockly.Msg.ACTION_TRUN_ON_LIGHTS,category:Blockly.Categories.action,extensions:["shape_statement"],colour:Blockly.Colours.output.primary,colourSecondary:Blockly.Colours.output.secondary,colourTertiary:Blockly.Colours.output.tertiary})}}; Blockly.Blocks.action_turnonlightsweakly={init:function(){this.jsonInit({message0:Blockly.Msg.ACTION_TRUN_ON_LIGHTS_WEAKLY,category:Blockly.Categories.action,extensions:["shape_statement"],colour:Blockly.Colours.output.primary,colourSecondary:Blockly.Colours.output.secondary,colourTertiary:Blockly.Colours.output.tertiary})}}; Blockly.ScratchBlocks={};Blockly.ScratchBlocks.VerticalExtensions={};Blockly.ScratchBlocks.VerticalExtensions.colourHelper=function(a){var b=Blockly.Colours[a];if(!(b&&b.primary&&b.secondary&&b.tertiary))throw Error('Could not find colours for category "'+a+'"');return function(){this.setColourFromRawValues_(b.primary,b.secondary,b.tertiary)}};Blockly.ScratchBlocks.VerticalExtensions.COLOUR_TEXTFIELD=function(){this.setColourFromRawValues_(Blockly.Colours.textField,Blockly.Colours.textField,Blockly.Colours.textField)}; Blockly.ScratchBlocks.VerticalExtensions.SHAPE_STATEMENT=function(){this.setInputsInline(!0);this.setPreviousStatement(!0,null);this.setNextStatement(!0,null)};Blockly.ScratchBlocks.VerticalExtensions.SHAPE_HAT=function(){this.setInputsInline(!0);this.setNextStatement(!0,null)};Blockly.ScratchBlocks.VerticalExtensions.SHAPE_END=function(){this.setInputsInline(!0);this.setPreviousStatement(!0,null)}; Blockly.ScratchBlocks.VerticalExtensions.OUTPUT_NUMBER=function(){this.setInputsInline(!0);this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);this.setOutput(!0,"Number")};Blockly.ScratchBlocks.VerticalExtensions.OUTPUT_STRING=function(){this.setInputsInline(!0);this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);this.setOutput(!0,"String")};Blockly.ScratchBlocks.VerticalExtensions.OUTPUT_BOOLEAN=function(){this.setInputsInline(!0);this.setOutputShape(Blockly.OUTPUT_SHAPE_HEXAGONAL);this.setOutput(!0,"Boolean")}; Blockly.ScratchBlocks.VerticalExtensions.PROCEDURE_DEF_CONTEXTMENU={customContextMenu:function(a){a.push(Blockly.Procedures.makeEditOption(this));for(var b=0,c;c=a[b];b++)if(c.text==Blockly.Msg.DELETE_BLOCK){var d=this.getInput("custom_block");if(d&&d.connection&&d.connection.targetBlock())var e=d.connection.targetBlock().getProcCode();else return;var f=this;c.callback=function(){Blockly.Procedures.deleteProcedureDefCallback(e,f)||alert(Blockly.Msg.PROCEDURE_USED)}}for(b=0;c=a[b];b++)if(c.text==Blockly.Msg.DUPLICATE){a.splice(b, 1);break}}};Blockly.ScratchBlocks.VerticalExtensions.PROCEDURE_CALL_CONTEXTMENU={customContextMenu:function(a){a.push(Blockly.Procedures.makeEditOption(this))}};Blockly.ScratchBlocks.VerticalExtensions.SCRATCH_EXTENSION=function(){this.isScratchExtension=!0}; Blockly.ScratchBlocks.VerticalExtensions.registerAll=function(){for(var a="control data data_lists sounds motion looks event sensing pen operators more".split(" "),b=0;b<a.length;b++){var c=a[b];Blockly.Extensions.register("colours_"+c,Blockly.ScratchBlocks.VerticalExtensions.colourHelper(c))}Blockly.Extensions.register("colours_textfield",Blockly.ScratchBlocks.VerticalExtensions.COLOUR_TEXTFIELD);Blockly.Extensions.register("shape_statement",Blockly.ScratchBlocks.VerticalExtensions.SHAPE_STATEMENT); Blockly.Extensions.register("shape_hat",Blockly.ScratchBlocks.VerticalExtensions.SHAPE_HAT);Blockly.Extensions.register("shape_end",Blockly.ScratchBlocks.VerticalExtensions.SHAPE_END);Blockly.Extensions.register("output_number",Blockly.ScratchBlocks.VerticalExtensions.OUTPUT_NUMBER);Blockly.Extensions.register("output_string",Blockly.ScratchBlocks.VerticalExtensions.OUTPUT_STRING);Blockly.Extensions.register("output_boolean",Blockly.ScratchBlocks.VerticalExtensions.OUTPUT_BOOLEAN);Blockly.Extensions.registerMixin("procedure_def_contextmenu", Blockly.ScratchBlocks.VerticalExtensions.PROCEDURE_DEF_CONTEXTMENU);Blockly.Extensions.registerMixin("procedure_call_contextmenu",Blockly.ScratchBlocks.VerticalExtensions.PROCEDURE_CALL_CONTEXTMENU);Blockly.Extensions.register("scratch_extension",Blockly.ScratchBlocks.VerticalExtensions.SCRATCH_EXTENSION)};Blockly.ScratchBlocks.VerticalExtensions.registerAll();Blockly.Blocks.control={};Blockly.Blocks.control_forever={init:function(){this.jsonInit({id:"control_forever",message0:Blockly.Msg.CONTROL_FOREVER,message1:"%1",message2:"%1",lastDummyAlign2:"RIGHT",args1:[{type:"input_statement",name:"SUBSTACK"}],args2:[{type:"field_image",src:Blockly.mainWorkspace.options.pathToMedia+"repeat.svg",width:24,height:24,alt:"*",flip_rtl:!0}],category:Blockly.Categories.control,extensions:["colours_control","shape_end"]})}}; Blockly.Blocks.control_repeat={init:function(){this.jsonInit({id:"control_repeat",message0:Blockly.Msg.CONTROL_REPEAT,message1:"%1",message2:"%1",lastDummyAlign2:"RIGHT",args0:[{type:"input_value",name:"TIMES"}],args1:[{type:"input_statement",name:"SUBSTACK"}],args2:[{type:"field_image",src:Blockly.mainWorkspace.options.pathToMedia+"repeat.svg",width:24,height:24,alt:"*",flip_rtl:!0}],category:Blockly.Categories.control,extensions:["colours_control","shape_statement"]})}}; Blockly.Blocks.control_if={init:function(){this.jsonInit({type:"control_if",message0:Blockly.Msg.CONTROL_IF,message1:"%1",args0:[{type:"input_value",name:"CONDITION",check:"Boolean"}],args1:[{type:"input_statement",name:"SUBSTACK"}],category:Blockly.Categories.control,extensions:["colours_control","shape_statement"]})}}; Blockly.Blocks.control_if_else={init:function(){this.jsonInit({type:"control_if_else",message0:Blockly.Msg.CONTROL_IF,message1:"%1",message2:Blockly.Msg.CONTROL_ELSE,message3:"%1",args0:[{type:"input_value",name:"CONDITION",check:"Boolean"}],args1:[{type:"input_statement",name:"SUBSTACK"}],args3:[{type:"input_statement",name:"SUBSTACK2"}],category:Blockly.Categories.control,extensions:["colours_control","shape_statement"]})}}; Blockly.Blocks.control_stop={init:function(){var a=new Blockly.FieldDropdown(function(){return this.sourceBlock_&&this.sourceBlock_.nextConnection&&this.sourceBlock_.nextConnection.isConnected()?[[Blockly.Msg.CONTROL_STOP_OTHER,"other scripts in sprite"]]:[[Blockly.Msg.CONTROL_STOP_ALL,"all"],[Blockly.Msg.CONTROL_STOP_THIS,"this script"],[Blockly.Msg.CONTROL_STOP_OTHER,"other scripts in sprite"]]},function(a){Blockly.Events.setGroup(!0);var b=Blockly.Xml.domToText(this.sourceBlock_.mutationToDom()); this.sourceBlock_.setNextStatement("other scripts in sprite"==a);var d=Blockly.Xml.domToText(this.sourceBlock_.mutationToDom());Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,"mutation",null,b,d));this.setValue(a);Blockly.Events.setGroup(!1);return null});this.appendDummyInput().appendField(Blockly.Msg.CONTROL_STOP).appendField(a,"STOP_OPTION");this.setCategory(Blockly.Categories.control);this.setColour(Blockly.Colours.control.primary,Blockly.Colours.control.secondary,Blockly.Colours.control.tertiary); this.setPreviousStatement(!0)},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("hasnext",null!=this.nextConnection);return a},domToMutation:function(a){a="true"==a.getAttribute("hasnext");this.setNextStatement(a)}};Blockly.Blocks.control_wait={init:function(){this.jsonInit({id:"control_wait",message0:Blockly.Msg.CONTROL_WAIT,args0:[{type:"input_value",name:"DURATION"}],category:Blockly.Categories.control,extensions:["colours_control","shape_statement"]})}}; Blockly.Blocks.control_wait_until={init:function(){this.jsonInit({message0:Blockly.Msg.CONTROL_WAITUNTIL,args0:[{type:"input_value",name:"CONDITION",check:"Boolean"}],category:Blockly.Categories.control,extensions:["colours_control","shape_statement"]})}}; Blockly.Blocks.control_repeat_until={init:function(){this.jsonInit({message0:Blockly.Msg.CONTROL_REPEATUNTIL,message1:"%1",message2:"%1",lastDummyAlign2:"RIGHT",args0:[{type:"input_value",name:"CONDITION",check:"Boolean"}],args1:[{type:"input_statement",name:"SUBSTACK"}],args2:[{type:"field_image",src:Blockly.mainWorkspace.options.pathToMedia+"repeat.svg",width:24,height:24,alt:"*",flip_rtl:!0}],category:Blockly.Categories.control,extensions:["colours_control","shape_statement"]})}}; Blockly.Blocks.control_while={init:function(){this.jsonInit({message0:Blockly.Msg.CONTROL_WHILE,message1:"%1",message2:"%1",lastDummyAlign2:"RIGHT",args0:[{type:"input_value",name:"CONDITION",check:"Boolean"}],args1:[{type:"input_statement",name:"SUBSTACK"}],args2:[{type:"field_image",src:Blockly.mainWorkspace.options.pathToMedia+"repeat.svg",width:24,height:24,alt:"*",flip_rtl:!0}],category:Blockly.Categories.control,extensions:["colours_control","shape_statement"]})}}; Blockly.Blocks.control_for_each={init:function(){this.jsonInit({type:"control_for_each",message0:Blockly.Msg.CONTROL_FOREACH,message1:"%1",args0:[{type:"field_variable",name:"VARIABLE"},{type:"input_value",name:"VALUE"}],args1:[{type:"input_statement",name:"SUBSTACK"}],category:Blockly.Categories.control,extensions:["colours_control","shape_statement"]})}}; Blockly.Blocks.control_start_as_clone={init:function(){this.jsonInit({id:"control_start_as_clone",message0:Blockly.Msg.CONTROL_STARTASCLONE,args0:[],category:Blockly.Categories.control,extensions:["colours_control","shape_hat"]})}};Blockly.Blocks.control_create_clone_of_menu={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_dropdown",name:"CLONE_OPTION",options:[[Blockly.Msg.CONTROL_CREATECLONEOF_MYSELF,"_myself_"]]}],extensions:["colours_control","output_string"]})}}; Blockly.Blocks.control_create_clone_of={init:function(){this.jsonInit({id:"control_start_as_clone",message0:Blockly.Msg.CONTROL_CREATECLONEOF,args0:[{type:"input_value",name:"CLONE_OPTION"}],category:Blockly.Categories.control,extensions:["colours_control","shape_statement"]})}};Blockly.Blocks.control_delete_this_clone={init:function(){this.jsonInit({message0:Blockly.Msg.CONTROL_DELETETHISCLONE,args0:[],category:Blockly.Categories.control,extensions:["colours_control","shape_end"]})}}; Blockly.Blocks.control_get_counter={init:function(){this.jsonInit({message0:Blockly.Msg.CONTROL_COUNTER,category:Blockly.Categories.control,extensions:["colours_control","output_number"]})}};Blockly.Blocks.control_incr_counter={init:function(){this.jsonInit({message0:Blockly.Msg.CONTROL_INCRCOUNTER,category:Blockly.Categories.control,extensions:["colours_control","shape_statement"]})}}; Blockly.Blocks.control_clear_counter={init:function(){this.jsonInit({message0:Blockly.Msg.CONTROL_CLEARCOUNTER,category:Blockly.Categories.control,extensions:["colours_control","shape_statement"]})}};Blockly.Blocks.control_all_at_once={init:function(){this.jsonInit({message0:Blockly.Msg.CONTROL_ALLATONCE,message1:"%1",args1:[{type:"input_statement",name:"SUBSTACK"}],category:Blockly.Categories.control,extensions:["colours_control","shape_statement"]})}};Blockly.Blocks.data={};Blockly.Constants={};Blockly.Constants.Data={};Blockly.Blocks.data_variable={init:function(){this.jsonInit({message0:"%1",lastDummyAlign0:"CENTRE",args0:[{type:"field_variable_getter",text:"",name:"VARIABLE",variableType:""}],category:Blockly.Categories.data,checkboxInFlyout:!0,extensions:["contextMenu_getVariableBlock","colours_data","output_string"]})}}; Blockly.Blocks.data_setvariableto={init:function(){this.jsonInit({message0:Blockly.Msg.DATA_SETVARIABLETO,args0:[{type:"field_variable",name:"VARIABLE"},{type:"input_value",name:"VALUE"}],category:Blockly.Categories.data,extensions:["colours_data","shape_statement"]})}}; Blockly.Blocks.data_changevariableby={init:function(){this.jsonInit({message0:Blockly.Msg.DATA_CHANGEVARIABLEBY,args0:[{type:"field_variable",name:"VARIABLE"},{type:"input_value",name:"VALUE"}],category:Blockly.Categories.data,extensions:["colours_data","shape_statement"]})}}; Blockly.Blocks.data_showvariable={init:function(){this.jsonInit({message0:Blockly.Msg.DATA_SHOWVARIABLE,args0:[{type:"field_variable",name:"VARIABLE"}],previousStatement:null,nextStatement:null,category:Blockly.Categories.data,colour:Blockly.Colours.data.primary,colourSecondary:Blockly.Colours.data.secondary,colourTertiary:Blockly.Colours.data.tertiary})}}; Blockly.Blocks.data_hidevariable={init:function(){this.jsonInit({message0:Blockly.Msg.DATA_HIDEVARIABLE,args0:[{type:"field_variable",name:"VARIABLE"}],previousStatement:null,nextStatement:null,category:Blockly.Categories.data,colour:Blockly.Colours.data.primary,colourSecondary:Blockly.Colours.data.secondary,colourTertiary:Blockly.Colours.data.tertiary})}}; Blockly.Blocks.data_listcontents={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_variable_getter",text:"",name:"LIST",variableType:Blockly.LIST_VARIABLE_TYPE}],category:Blockly.Categories.dataLists,extensions:["contextMenu_getListBlock","colours_data_lists","output_string"],checkboxInFlyout:!0})}}; Blockly.Blocks.data_listindexall={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_numberdropdown",name:"INDEX",value:"1",min:1,precision:1,options:[["1","1"],[Blockly.Msg.DATA_INDEX_LAST,"last"],[Blockly.Msg.DATA_INDEX_ALL,"all"]]}],category:Blockly.Categories.data,extensions:["colours_textfield","output_string"]})}}; Blockly.Blocks.data_listindexrandom={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_numberdropdown",name:"INDEX",value:"1",min:1,precision:1,options:[["1","1"],[Blockly.Msg.DATA_INDEX_LAST,"last"],[Blockly.Msg.DATA_INDEX_RANDOM,"random"]]}],category:Blockly.Categories.data,extensions:["colours_textfield","output_string"]})}}; Blockly.Blocks.data_addtolist={init:function(){this.jsonInit({message0:Blockly.Msg.DATA_ADDTOLIST,args0:[{type:"input_value",name:"ITEM"},{type:"field_variable",name:"LIST",variableTypes:[Blockly.LIST_VARIABLE_TYPE]}],category:Blockly.Categories.dataLists,extensions:["colours_data_lists","shape_statement"]})}}; Blockly.Blocks.data_deleteoflist={init:function(){this.jsonInit({message0:Blockly.Msg.DATA_DELETEOFLIST,args0:[{type:"input_value",name:"INDEX"},{type:"field_variable",name:"LIST",variableTypes:[Blockly.LIST_VARIABLE_TYPE]}],category:Blockly.Categories.dataLists,extensions:["colours_data_lists","shape_statement"]})}}; Blockly.Blocks.data_deletealloflist={init:function(){this.jsonInit({message0:Blockly.Msg.DATA_DELETEALLOFLIST,args0:[{type:"field_variable",name:"LIST",variableTypes:[Blockly.LIST_VARIABLE_TYPE]}],category:Blockly.Categories.dataLists,extensions:["colours_data_lists","shape_statement"]})}}; Blockly.Blocks.data_insertatlist={init:function(){this.jsonInit({message0:Blockly.Msg.DATA_INSERTATLIST,args0:[{type:"input_value",name:"ITEM"},{type:"input_value",name:"INDEX"},{type:"field_variable",name:"LIST",variableTypes:[Blockly.LIST_VARIABLE_TYPE]}],category:Blockly.Categories.dataLists,extensions:["colours_data_lists","shape_statement"]})}}; Blockly.Blocks.data_replaceitemoflist={init:function(){this.jsonInit({message0:Blockly.Msg.DATA_REPLACEITEMOFLIST,args0:[{type:"input_value",name:"INDEX"},{type:"field_variable",name:"LIST",variableTypes:[Blockly.LIST_VARIABLE_TYPE]},{type:"input_value",name:"ITEM"}],category:Blockly.Categories.dataLists,extensions:["colours_data_lists","shape_statement"]})}}; Blockly.Blocks.data_itemoflist={init:function(){this.jsonInit({message0:Blockly.Msg.DATA_ITEMOFLIST,args0:[{type:"input_value",name:"INDEX"},{type:"field_variable",name:"LIST",variableTypes:[Blockly.LIST_VARIABLE_TYPE]}],output:null,category:Blockly.Categories.dataLists,extensions:["colours_data_lists"],outputShape:Blockly.OUTPUT_SHAPE_ROUND})}}; Blockly.Blocks.data_itemnumoflist={init:function(){this.jsonInit({message0:Blockly.Msg.DATA_ITEMNUMOFLIST,args0:[{type:"input_value",name:"ITEM"},{type:"field_variable",name:"LIST",variableTypes:[Blockly.LIST_VARIABLE_TYPE]}],output:null,category:Blockly.Categories.dataLists,extensions:["colours_data_lists"],outputShape:Blockly.OUTPUT_SHAPE_ROUND})}}; Blockly.Blocks.data_lengthoflist={init:function(){this.jsonInit({message0:Blockly.Msg.DATA_LENGTHOFLIST,args0:[{type:"field_variable",name:"LIST",variableTypes:[Blockly.LIST_VARIABLE_TYPE]}],category:Blockly.Categories.dataLists,extensions:["colours_data_lists","output_number"]})}}; Blockly.Blocks.data_listcontainsitem={init:function(){this.jsonInit({message0:Blockly.Msg.DATA_LISTCONTAINSITEM,args0:[{type:"field_variable",name:"LIST",variableTypes:[Blockly.LIST_VARIABLE_TYPE]},{type:"input_value",name:"ITEM"}],category:Blockly.Categories.dataLists,extensions:["colours_data_lists","output_boolean"]})}}; Blockly.Blocks.data_showlist={init:function(){this.jsonInit({message0:Blockly.Msg.DATA_SHOWLIST,args0:[{type:"field_variable",name:"LIST",variableTypes:[Blockly.LIST_VARIABLE_TYPE]}],category:Blockly.Categories.dataLists,extensions:["colours_data_lists","shape_statement"]})}}; Blockly.Blocks.data_hidelist={init:function(){this.jsonInit({message0:Blockly.Msg.DATA_HIDELIST,args0:[{type:"field_variable",name:"LIST",variableTypes:[Blockly.LIST_VARIABLE_TYPE]}],category:Blockly.Categories.dataLists,extensions:["colours_data_lists","shape_statement"]})}}; Blockly.Constants.Data.CUSTOM_CONTEXT_MENU_GET_VARIABLE_MIXIN={customContextMenu:function(a){if(!this.isCollapsed()){var b=this.getField("VARIABLE").text_;if(this.isInFlyout){var c={text:Blockly.Msg.RENAME_VARIABLE,enabled:!0,callback:Blockly.Constants.Data.RENAME_OPTION_CALLBACK_FACTORY(this,"VARIABLE")};b={text:Blockly.Msg.DELETE_VARIABLE.replace("%1",b),enabled:!0,callback:Blockly.Constants.Data.DELETE_OPTION_CALLBACK_FACTORY(this,"VARIABLE")};a.push(c);a.push(b)}else{c=this.workspace.getVariablesOfType(""); c.sort(function(a,b){return Blockly.scratchBlocksUtils.compareStrings(a.name,b.name)});for(var d=0;d<c.length;d++){var e=c[d].name;if(e!=b){var f={enabled:!0};f.text=e;f.callback=Blockly.Constants.Data.VARIABLE_OPTION_CALLBACK_FACTORY(this,c[d].getId(),"VARIABLE");a.push(f)}}}}}};Blockly.Extensions.registerMixin("contextMenu_getVariableBlock",Blockly.Constants.Data.CUSTOM_CONTEXT_MENU_GET_VARIABLE_MIXIN); Blockly.Constants.Data.CUSTOM_CONTEXT_MENU_GET_LIST_MIXIN={customContextMenu:function(a){if(!this.isCollapsed()){var b=this.getField("LIST").text_;if(this.isInFlyout){var c={text:Blockly.Msg.RENAME_LIST,enabled:!0,callback:Blockly.Constants.Data.RENAME_OPTION_CALLBACK_FACTORY(this,"LIST")};b={text:Blockly.Msg.DELETE_LIST.replace("%1",b),enabled:!0,callback:Blockly.Constants.Data.DELETE_OPTION_CALLBACK_FACTORY(this,"LIST")};a.push(c);a.push(b)}else{c=this.workspace.getVariablesOfType("list");c.sort(function(a, b){return Blockly.scratchBlocksUtils.compareStrings(a.name,b.name)});for(var d=0;d<c.length;d++){var e=c[d].name;if(e!=b){var f={enabled:!0};f.text=e;f.callback=Blockly.Constants.Data.VARIABLE_OPTION_CALLBACK_FACTORY(this,c[d].getId(),"LIST");a.push(f)}}}}}};Blockly.Extensions.registerMixin("contextMenu_getListBlock",Blockly.Constants.Data.CUSTOM_CONTEXT_MENU_GET_LIST_MIXIN); Blockly.Constants.Data.VARIABLE_OPTION_CALLBACK_FACTORY=function(a,b,c){return function(){var d=a.getField(c);d||console.log("Tried to get a variable field on the wrong type of block.");d.setValue(b)}};Blockly.Constants.Data.RENAME_OPTION_CALLBACK_FACTORY=function(a,b){return function(){var c=a.workspace,d=a.getField(b).getVariable();Blockly.Variables.renameVariable(c,d)}}; Blockly.Constants.Data.DELETE_OPTION_CALLBACK_FACTORY=function(a,b){return function(){var c=a.workspace,d=a.getField(b).getVariable();c.deleteVariableById(d.getId())}};Blockly.Blocks.defaultToolbox='<xml id="toolbox-categories" style="display: none"><category name="%{BKY_CATEGORY_MOTION}" id="motion" colour="#4C97FF" secondaryColour="#3373CC"><block type="motion_movesteps" id="motion_movesteps"><value name="STEPS"><shadow type="math_number"><field name="NUM">10</field></shadow></value></block><block type="motion_turnright" id="motion_turnright"><value name="DEGREES"><shadow type="math_number"><field name="NUM">15</field></shadow></value></block><block type="motion_turnleft" id="motion_turnleft"><value name="DEGREES"><shadow type="math_number"><field name="NUM">15</field></shadow></value></block><block type="motion_pointindirection" id="motion_pointindirection"><value name="DIRECTION"><shadow type="math_angle"><field name="NUM">90</field></shadow></value></block><block type="motion_pointtowards" id="motion_pointtowards"><value name="TOWARDS"><shadow type="motion_pointtowards_menu"></shadow></value></block><block type="motion_gotoxy" id="motion_gotoxy"><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_goto" id="motion_goto"><value name="TO"><shadow type="motion_goto_menu"></shadow></value></block><block type="motion_glidesecstoxy" id="motion_glidesecstoxy"><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_glideto" id="motion_glideto"><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_changexby" id="motion_changexby"><value name="DX"><shadow type="math_number"><field name="NUM">10</field></shadow></value></block><block type="motion_setx" id="motion_setx"><value name="X"><shadow id="setx" type="math_number"><field name="NUM">0</field></shadow></value></block><block type="motion_changeyby" id="motion_changeyby"><value name="DY"><shadow type="math_number"><field name="NUM">10</field></shadow></value></block><block type="motion_sety" id="motion_sety"><value name="Y"><shadow id="sety" type="math_number"><field name="NUM">0</field></shadow></value></block><block type="motion_ifonedgebounce" id="motion_ifonedgebounce"></block><block type="motion_setrotationstyle" id="motion_setrotationstyle"></block><block type="motion_xposition" id="motion_xposition"></block><block type="motion_yposition" id="motion_yposition"></block><block type="motion_direction" id="motion_direction"></block></category><category name="%{BKY_CATEGORY_LOOKS}" id="looks" colour="#9966FF" secondaryColour="#774DCB"><block type="looks_show" id="looks_show"></block><block type="looks_hide" id="looks_hide"></block><block type="looks_switchcostumeto" id="looks_switchcostumeto"><value name="COSTUME"><shadow type="looks_costume"></shadow></value></block><block type="looks_nextcostume" id="looks_nextcostume"></block><block type="looks_nextbackdrop" id="looks_nextbackdrop"></block><block type="looks_switchbackdropto" id="looks_switchbackdropto"><value name="BACKDROP"><shadow type="looks_backdrops"></shadow></value></block><block type="looks_switchbackdroptoandwait" id="looks_switchbackdroptoandwait"><value name="BACKDROP"><shadow type="looks_backdrops"></shadow></value></block><block type="looks_changeeffectby" id="looks_changeeffectby"><value name="CHANGE"><shadow type="math_number"><field name="NUM">10</field></shadow></value></block><block type="looks_seteffectto" id="looks_seteffectto"><value name="VALUE"><shadow type="math_number"><field name="NUM">10</field></shadow></value></block><block type="looks_cleargraphiceffects" id="looks_cleargraphiceffects"></block><block type="looks_changesizeby" id="looks_changesizeby"><value name="CHANGE"><shadow type="math_number"><field name="NUM">10</field></shadow></value></block><block type="looks_setsizeto" id="looks_setsizeto"><value name="SIZE"><shadow type="math_number"><field name="NUM">100</field></shadow></value></block><block type="looks_gotofrontback" id="looks_gotofrontback"></block><block type="looks_goforwardbackwardlayers" id="looks_goforwardbackwardlayers"><value name="NUM"><shadow type="math_integer"><field name="NUM">1</field></shadow></value></block><block type="looks_costumenumbername" id="looks_costumenumbername"></block><block type="looks_backdropnumbername" id="looks_backdropnumbername"></block><block type="looks_size" id="looks_size"></block></category><category name="%{BKY_CATEGORY_SOUND}" id="sound" colour="#D65CD6" secondaryColour="#BD42BD"><block type="sound_play" id="sound_play"><value name="SOUND_MENU"><shadow type="sound_sounds_menu"></shadow></value></block><block type="sound_playuntildone" id="sound_playuntildone"><value name="SOUND_MENU"><shadow type="sound_sounds_menu"></shadow></value></block><block type="sound_stopallsounds" id="sound_stopallsounds"></block><block type="sound_changeeffectby" id="sound_changeeffectby"><value name="VALUE"><shadow type="math_number"><field name="NUM">10</field></shadow></value></block><block type="sound_seteffectto" id="sound_seteffectto"><value name="VALUE"><shadow type="math_number"><field name="NUM">100</field></shadow></value></block><block type="sound_cleareffects" id="sound_cleareffects"></block><block type="sound_changevolumeby" id="sound_changevolumeby"><value name="VOLUME"><shadow type="math_number"><field name="NUM">-10</field></shadow></value></block><block type="sound_setvolumeto" id="sound_setvolumeto"><value name="VOLUME"><shadow type="math_number"><field name="NUM">100</field></shadow></value></block><block type="sound_volume" id="sound_volume"></block></category><category name="%{BKY_CATEGORY_EVENTS}" id="events" colour="#FFD500" secondaryColour="#CC9900"><block type="event_whenflagclicked" id="event_whenflagclicked"></block><block type="event_whenkeypressed" id="event_whenkeypressed"></block><block type="event_whenthisspriteclicked" id="event_whenthisspriteclicked"></block><block type="event_whenbackdropswitchesto" id="event_whenbackdropswitchesto"></block><block type="event_whengreaterthan" id="event_whengreaterthan"><value name="VALUE"><shadow type="math_number"><field name="NUM">10</field></shadow></value></block><block type="event_whenbroadcastreceived" id="event_whenbroadcastreceived"></block><block type="event_broadcast" id="event_broadcast"><value name="BROADCAST_INPUT"><shadow type="event_broadcast_menu"></shadow></value></block><block type="event_broadcastandwait" id="event_broadcastandwait"><value name="BROADCAST_INPUT"><shadow type="event_broadcast_menu"></shadow></value></block></category><category name="%{BKY_CATEGORY_CONTROL}" id="control" colour="#FFAB19" secondaryColour="#CF8B17"><block type="control_wait" id="control_wait"><value name="DURATION"><shadow type="math_positive_number"><field name="NUM">1</field></shadow></value></block><block type="control_repeat" id="control_repeat"><value name="TIMES"><shadow type="math_whole_number"><field name="NUM">10</field></shadow></value></block><block type="control_forever" id="control_forever"></block><block type="control_if" id="control_if"></block><block type="control_if_else" id="control_if_else"></block><block type="control_wait_until" id="control_wait_until"></block><block type="control_repeat_until" id="control_repeat_until"></block><block type="control_stop" id="control_stop"></block><block type="control_start_as_clone" id="control_start_as_clone"></block><block type="control_create_clone_of" id="control_create_clone_of"><value name="CLONE_OPTION"><shadow type="control_create_clone_of_menu"></shadow></value></block><block type="control_delete_this_clone" id="control_delete_this_clone"></block></category><category name="%{BKY_CATEGORY_SENSING}" id="sensing" colour="#4CBFE6" secondaryColour="#2E8EB8"><block type="sensing_touchingobject" id="sensing_touchingobject"><value name="TOUCHINGOBJECTMENU"><shadow type="sensing_touchingobjectmenu"></shadow></value></block><block type="sensing_touchingcolor" id="sensing_touchingcolor"><value name="COLOR"><shadow type="colour_picker"></shadow></value></block><block type="sensing_coloristouchingcolor" id="sensing_coloristouchingcolor"><value name="COLOR"><shadow type="colour_picker"></shadow></value><value name="COLOR2"><shadow type="colour_picker"></shadow></value></block><block type="sensing_distanceto" id="sensing_distanceto"><value name="DISTANCETOMENU"><shadow type="sensing_distancetomenu"></shadow></value></block><block type="sensing_keypressed" id="sensing_keypressed"><value name="KEY_OPTION"><shadow type="sensing_keyoptions"></shadow></value></block><block type="sensing_mousedown" id="sensing_mousedown"></block><block type="sensing_mousex" id="sensing_mousex"></block><block type="sensing_mousey" id="sensing_mousey"></block><block type="sensing_setdragmode" id="sensing_setdragmode"></block><block type="sensing_loudness" id="sensing_loudness"></block><block type="sensing_timer" id="sensing_timer"></block><block type="sensing_resettimer" id="sensing_resettimer"></block><block type="sensing_of" id="sensing_of"><value name="OBJECT"><shadow type="sensing_of_object_menu"></shadow></value></block><block type="sensing_current" id="sensing_current"></block><block type="sensing_dayssince2000" id="sensing_dayssince2000"></block></category><category name="%{BKY_CATEGORY_OPERATORS}" id="operators" colour="#40BF4A" secondaryColour="#389438"><block type="operator_add" id="operator_add"><value name="NUM1"><shadow type="math_number"><field name="NUM"></field></shadow></value><value name="NUM2"><shadow type="math_number"><field name="NUM"></field></shadow></value></block><block type="operator_subtract" id="operator_subtract"><value name="NUM1"><shadow type="math_number"><field name="NUM"></field></shadow></value><value name="NUM2"><shadow type="math_number"><field name="NUM"></field></shadow></value></block><block type="operator_multiply" id="operator_multiply"><value name="NUM1"><shadow type="math_number"><field name="NUM"></field></shadow></value><value name="NUM2"><shadow type="math_number"><field name="NUM"></field></shadow></value></block><block type="operator_divide" id="operator_divide"><value name="NUM1"><shadow type="math_number"><field name="NUM"></field></shadow></value><value name="NUM2"><shadow type="math_number"><field name="NUM"></field></shadow></value></block><block type="operator_random" id="operator_random"><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_lt" id="operator_lt"><value name="OPERAND1"><shadow type="text"><field name="TEXT"></field></shadow></value><value name="OPERAND2"><shadow type="text"><field name="TEXT"></field></shadow></value></block><block type="operator_equals" id="operator_equals"><value name="OPERAND1"><shadow type="text"><field name="TEXT"></field></shadow></value><value name="OPERAND2"><shadow type="text"><field name="TEXT"></field></shadow></value></block><block type="operator_gt" id="operator_gt"><value name="OPERAND1"><shadow type="text"><field name="TEXT"></field></shadow></value><value name="OPERAND2"><shadow type="text"><field name="TEXT"></field></shadow></value></block><block type="operator_and" id="operator_and"></block><block type="operator_or" id="operator_or"></block><block type="operator_not" id="operator_not"></block><block type="operator_join" id="operator_join"><value name="STRING1"><shadow type="text"><field name="TEXT">hello</field></shadow></value><value name="STRING2"><shadow type="text"><field name="TEXT">world</field></shadow></value></block><block type="operator_letter_of" id="operator_letter_of"><value name="LETTER"><shadow type="math_whole_number"><field name="NUM">1</field></shadow></value><value name="STRING"><shadow type="text"><field name="TEXT">world</field></shadow></value></block><block type="operator_length" id="operator_length"><value name="STRING"><shadow type="text"><field name="TEXT">world</field></shadow></value></block><block type="operator_contains" id="operator_contains"><value name="STRING1"><shadow type="text"><field name="TEXT">hello</field></shadow></value><value name="STRING2"><shadow type="text"><field name="TEXT">world</field></shadow></value></block><block type="operator_mod" id="operator_mod"><value name="NUM1"><shadow type="math_number"><field name="NUM"></field></shadow></value><value name="NUM2"><shadow type="math_number"><field name="NUM"></field></shadow></value></block><block type="operator_round" id="operator_round"><value name="NUM"><shadow type="math_number"><field name="NUM"></field></shadow></value></block><block type="operator_mathop" id="operator_mathop"><value name="NUM"><shadow type="math_number"><field name="NUM"></field></shadow></value></block></category><category name="%{BKY_CATEGORY_VARIABLES}" id="data" colour="#FF8C1A" secondaryColour="#DB6E00" custom="VARIABLE"></category><category name="%{BKY_CATEGORY_MYBLOCKS}" id="more" colour="#FF6680" secondaryColour="#FF4D6A" custom="PROCEDURE"></category><category name="Extensions" id="extensions" colour="#FF6680" secondaryColour="#FF4D6A" iconURI="../media/extensions/wedo2-block-icon.svg" showStatusButton="true"><block type="extension_pen_down" id="extension_pen_down"></block><block type="extension_music_drum" id="extension_music_drum"><value name="NUMBER"><shadow type="math_number"><field name="NUM">1</field></shadow></value></block><block type="extension_wedo_motor" id="extension_wedo_motor"></block><block type="extension_wedo_hat" id="extension_wedo_hat"></block><block type="extension_wedo_boolean" id="extension_wedo_boolean"></block><block type="extension_wedo_tilt_reporter" id="extension_wedo_reporter"><value name="TILT"><shadow type="extension_wedo_tilt_menu"></shadow></value></block><block type="extension_music_reporter" id="extension_music_reporter"></block><block type="extension_microbit_display" id="extension_microbit_display"><value name="MATRIX"><shadow type="matrix"><field name="MATRIX">0101010101100010101000100</field></shadow></value></block><block type="extension_music_play_note" id="extension_music_play_note"><value name="NOTE"><shadow type="note"><field name="NOTE">60</field></shadow></value><value name="BEATS"><shadow type="math_number"><field name="NUM">0.25</field></shadow></value></block></category></xml>';Blockly.Blocks.event={};Blockly.Blocks.event_whentouchingobject={init:function(){this.jsonInit({message0:Blockly.Msg.EVENT_WHENTOUCHINGOBJECT,args0:[{type:"input_value",name:"TOUCHINGOBJECTMENU"}],category:Blockly.Categories.event,extensions:["colours_event","shape_hat"]})}}; Blockly.Blocks.event_touchingobjectmenu={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_dropdown",name:"TOUCHINGOBJECTMENU",options:[[Blockly.Msg.SENSING_TOUCHINGOBJECT_POINTER,"_mouse_"],[Blockly.Msg.SENSING_TOUCHINGOBJECT_EDGE,"_edge_"]]}],extensions:["colours_event","output_string"]})}}; Blockly.Blocks.event_whenflagclicked={init:function(){this.jsonInit({id:"event_whenflagclicked",message0:Blockly.Msg.EVENT_WHENFLAGCLICKED,args0:[{type:"field_image",src:Blockly.mainWorkspace.options.pathToMedia+"green-flag.svg",width:24,height:24,alt:"flag"}],category:Blockly.Categories.event,extensions:["colours_event","shape_hat"]})}}; Blockly.Blocks.event_whenthisspriteclicked={init:function(){this.jsonInit({message0:Blockly.Msg.EVENT_WHENTHISSPRITECLICKED,category:Blockly.Categories.event,extensions:["colours_event","shape_hat"]})}};Blockly.Blocks.event_whenstageclicked={init:function(){this.jsonInit({message0:Blockly.Msg.EVENT_WHENSTAGECLICKED,category:Blockly.Categories.event,extensions:["colours_event","shape_hat"]})}}; Blockly.Blocks.event_whenbroadcastreceived={init:function(){this.jsonInit({id:"event_whenbroadcastreceived",message0:Blockly.Msg.EVENT_WHENBROADCASTRECEIVED,args0:[{type:"field_variable",name:"BROADCAST_OPTION",variableTypes:[Blockly.BROADCAST_MESSAGE_VARIABLE_TYPE],variable:Blockly.Msg.DEFAULT_BROADCAST_MESSAGE_NAME}],category:Blockly.Categories.event,extensions:["colours_event","shape_hat"]})}}; Blockly.Blocks.event_whenbackdropswitchesto={init:function(){this.jsonInit({message0:Blockly.Msg.EVENT_WHENBACKDROPSWITCHESTO,args0:[{type:"field_dropdown",name:"BACKDROP",options:[["backdrop1","BACKDROP1"]]}],category:Blockly.Categories.event,extensions:["colours_event","shape_hat"]})}}; Blockly.Blocks.event_whengreaterthan={init:function(){this.jsonInit({message0:Blockly.Msg.EVENT_WHENGREATERTHAN,args0:[{type:"field_dropdown",name:"WHENGREATERTHANMENU",options:[[Blockly.Msg.EVENT_WHENGREATERTHAN_LOUDNESS,"LOUDNESS"],[Blockly.Msg.EVENT_WHENGREATERTHAN_TIMER,"TIMER"]]},{type:"input_value",name:"VALUE"}],category:Blockly.Categories.event,extensions:["colours_event","shape_hat"]})}}; Blockly.Blocks.event_broadcast_menu={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_variable",name:"BROADCAST_OPTION",variableTypes:[Blockly.BROADCAST_MESSAGE_VARIABLE_TYPE],variable:Blockly.Msg.DEFAULT_BROADCAST_MESSAGE_NAME}],colour:Blockly.Colours.event.secondary,colourSecondary:Blockly.Colours.event.secondary,colourTertiary:Blockly.Colours.event.tertiary,extensions:["output_string"]})}}; Blockly.Blocks.event_broadcast={init:function(){this.jsonInit({id:"event_broadcast",message0:Blockly.Msg.EVENT_BROADCAST,args0:[{type:"input_value",name:"BROADCAST_INPUT"}],category:Blockly.Categories.event,extensions:["colours_event","shape_statement"]})}};Blockly.Blocks.event_broadcastandwait={init:function(){this.jsonInit({message0:Blockly.Msg.EVENT_BROADCASTANDWAIT,args0:[{type:"input_value",name:"BROADCAST_INPUT"}],category:Blockly.Categories.event,extensions:["colours_event","shape_statement"]})}}; Blockly.Blocks.event_whenkeypressed={init:function(){this.jsonInit({id:"event_whenkeypressed",message0:Blockly.Msg.EVENT_WHENKEYPRESSED,args0:[{type:"field_dropdown",name:"KEY_OPTION",options:[[Blockly.Msg.EVENT_WHENKEYPRESSED_SPACE,"space"],[Blockly.Msg.EVENT_WHENKEYPRESSED_UP,"up arrow"],[Blockly.Msg.EVENT_WHENKEYPRESSED_DOWN,"down arrow"],[Blockly.Msg.EVENT_WHENKEYPRESSED_RIGHT,"right arrow"],[Blockly.Msg.EVENT_WHENKEYPRESSED_LEFT,"left arrow"],[Blockly.Msg.EVENT_WHENKEYPRESSED_ANY,"any"],["a", "a"],["b","b"],["c","c"],["d","d"],["e","e"],["f","f"],["g","g"],["h","h"],["i","i"],["j","j"],["k","k"],["l","l"],["m","m"],["n","n"],["o","o"],["p","p"],["q","q"],["r","r"],["s","s"],["t","t"],["u","u"],["v","v"],["w","w"],["x","x"],["y","y"],["z","z"],["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]]}],category:Blockly.Categories.event,extensions:["colours_event","shape_hat"]})}};Blockly.Blocks.extensions={};Blockly.Blocks.extension_pen_down={init:function(){this.jsonInit({message0:"%1 %2 pen down",args0:[{type:"field_image",src:Blockly.mainWorkspace.options.pathToMedia+"extensions/pen-block-icon.svg",width:40,height:40},{type:"field_vertical_separator"}],category:Blockly.Categories.more,extensions:["colours_more","shape_statement","scratch_extension"]})}}; Blockly.Blocks.extension_music_drum={init:function(){this.jsonInit({message0:"%1 %2 play drum %3",args0:[{type:"field_image",src:Blockly.mainWorkspace.options.pathToMedia+"extensions/music-block-icon.svg",width:40,height:40},{type:"field_vertical_separator"},{type:"input_value",name:"NUMBER"}],category:Blockly.Categories.more,extensions:["colours_more","shape_statement","scratch_extension"]})}}; Blockly.Blocks.extension_wedo_motor={init:function(){this.jsonInit({message0:"%1 %2 turn a motor %3",args0:[{type:"field_image",src:Blockly.mainWorkspace.options.pathToMedia+"extensions/wedo2-block-icon.svg",width:40,height:40},{type:"field_vertical_separator"},{type:"field_image",src:Blockly.mainWorkspace.options.pathToMedia+"rotate-right.svg",width:24,height:24}],category:Blockly.Categories.more,extensions:["colours_more","shape_statement","scratch_extension"]})}}; Blockly.Blocks.extension_wedo_hat={init:function(){this.jsonInit({message0:"%1 %2 when I am wearing a hat",args0:[{type:"field_image",src:Blockly.mainWorkspace.options.pathToMedia+"extensions/wedo2-block-icon.svg",width:40,height:40},{type:"field_vertical_separator"}],category:Blockly.Categories.more,extensions:["colours_more","shape_hat","scratch_extension"]})}}; Blockly.Blocks.extension_wedo_boolean={init:function(){this.jsonInit({message0:"%1 %2 O RLY?",args0:[{type:"field_image",src:Blockly.mainWorkspace.options.pathToMedia+"extensions/wedo2-block-icon.svg",width:40,height:40},{type:"field_vertical_separator"}],category:Blockly.Categories.more,extensions:["colours_more","output_boolean","scratch_extension"]})}}; Blockly.Blocks.extension_wedo_tilt_reporter={init:function(){this.jsonInit({message0:"%1 %2 tilt angle %3",args0:[{type:"field_image",src:Blockly.mainWorkspace.options.pathToMedia+"extensions/wedo2-block-icon.svg",width:40,height:40},{type:"field_vertical_separator"},{type:"input_value",name:"TILT"}],category:Blockly.Categories.more,extensions:["colours_more","output_number","scratch_extension"]})}}; Blockly.Blocks.extension_wedo_tilt_menu={init:function(){this.jsonInit({message0:"%1",args0:[{type:"field_dropdown",name:"TILT",options:[["Any","Any"],["Whirl","Whirl"],["South","South"],["Back in time","Back in time"]]}],extensions:["colours_more","output_string"]})}}; Blockly.Blocks.extension_music_reporter={init:function(){this.jsonInit({message0:"%1 %2 hey now, you're an all-star",args0:[{type:"field_image",src:Blockly.mainWorkspace.options.pathToMedia+"extensions/music-block-icon.svg",width:40,height:40},{type:"field_vertical_separator"}],category:Blockly.Categories.more,extensions:["colours_more","output_number","scratch_extension"]})}}; Blockly.Blocks.extension_microbit_display={init:function(){this.jsonInit({message0:"%1 %2 display %3",args0:[{type:"field_image",src:Blockly.mainWorkspace.options.pathToMedia+"extensions/microbit-block-icon.svg",width:40,height:40},{type:"field_vertical_separator"},{type:"input_value",name:"MATRIX"}],category:Blockly.Categories.pen,extensions:["colours_pen","shape_statement","scratch_extension"]})}}; Blockly.Blocks.extension_music_play_note={init:function(){this.jsonInit({message0:"%1 %2 play note %3 for %4 beats",args0:[{type:"field_image",src:Blockly.mainWorkspace.options.pathToMedia+"extensions/music-block-icon.svg",width:40,height:40},{type:"field_vertical_separator"},{type:"input_value",name:"NOTE"},{type:"input_value",name:"BEATS"}],category:Blockly.Categories.pen,extensions:["colours_pen","shape_statement","scratch_extension"]})}};Blockly.Blocks.looks={};Blockly.Blocks.looks_sayforsecs={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_SAYFORSECS,args0:[{type:"input_value",name:"MESSAGE"},{type:"input_value",name:"SECS"}],category:Blockly.Categories.looks,extensions:["colours_looks","shape_statement"]})}};Blockly.Blocks.looks_say={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_SAY,args0:[{type:"input_value",name:"MESSAGE"}],category:Blockly.Categories.looks,extensions:["colours_looks","shape_statement"]})}}; Blockly.Blocks.looks_thinkforsecs={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_THINKFORSECS,args0:[{type:"input_value",name:"MESSAGE"},{type:"input_value",name:"SECS"}],category:Blockly.Categories.looks,extensions:["colours_looks","shape_statement"]})}};Blockly.Blocks.looks_think={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_THINK,args0:[{type:"input_value",name:"MESSAGE"}],category:Blockly.Categories.looks,extensions:["colours_looks","shape_statement"]})}}; Blockly.Blocks.looks_show={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_SHOW,category:Blockly.Categories.looks,extensions:["colours_looks","shape_statement"]})}};Blockly.Blocks.looks_hide={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_HIDE,category:Blockly.Categories.looks,extensions:["colours_looks","shape_statement"]})}}; Blockly.Blocks.looks_hideallsprites={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_HIDEALLSPRITES,category:Blockly.Categories.looks,extensions:["colours_looks","shape_statement"]})}}; Blockly.Blocks.looks_changeeffectby={init:function(){this.jsonInit({message0:Blockly.Msg.LOOKS_CHANGEEFFECTBY,args0:[{type:"field_dropdown",name:"EFFECT",options:[[Blockly.Msg.LOOKS_EFFECT_COLOR,"COLOR"],[Blockly.Msg.LOOKS_EFFECT_FISHEYE,"FISHEYE"],[Blockly.Msg.LOOKS_EFFECT_WHIRL,"WHIRL"],[Blockly.Msg.LOOKS_EFFECT_PIXELATE,"PIXELATE"],[Blockly.Msg.LOOKS_EFFECT_MOSAIC,"MOSAIC"],[Blockly.Msg.LOOKS_EFFECT_BRIGHTNESS,"BRIGHTNESS"