blocks = {
    "motion": {"motion_movesteps": "Move Steps", "motion_turnright": "Turn Right", "motion_turnleft": "Turn Left", "motion_goto": "Go to", "motion_goto_menu": "Go to Menu", "motion_gotoxy": "Go to XY", "motion_glideto": "Glide To", "motion_glidesecstoxy": "Glide Secs to XY", "motion_pointindirection": "Point in Direction", "motion_pointtowards_menu": "Point Towards Menu", "motion_pointtowards": "Point Towards", "motion_changexby": "Change X By", "motion_setx": "Set X", "motion_changeyby": "Change Y By", "motion_sety": "Set Y", "motion_ifonedgebounce": "If on Edge, Bounce", "motion_setrotationstyle": "Set Rotation Style", "motion_xposition": "X Position", "motion_yposition": "Y Position", "motion_direction": "Direction"},
    "control": {"control_wait": "Wait Seconds", "control_repeat": "Repeat", "control_if": "If", "control_forever": "Forever", "control_repeat_until": "Repeat Until", "control_stop": "Stop", "control_start_as_clone": "Start as Clone", "control_create_clone_of": "Create Clone of", "control_create_clone_of_menu": "Create Clone of", "control_delete_this_clone": "Delete this Clone", "control_if_else": "If Else", "control_wait_until": "Wait Until"},
    "event": {"event_whenflagclicked": "When Flag Clicked", "event_whenkeypressed": "When Key Pressed", "event_whenthisspriteclicked": "When Sprite Clicked", "event_whenbackdropswitchesto": "When Backdrop Switches To", "event_whengreaterthan": "When Greater Than", "event_whenbroadcastreceived": "When Broadcast Received", "event_broadcast": "Broadcast", "event_broadcastandwait": "Broadcast Event and Wait"},
    "looks": {"looks_sayforsecs": "Say for Secs", "looks_say": "Say", "looks_switchcostumeto": "Switch Costume", "looks_costume": "Costume", "looks_nextcostume": "Next Costume", "looks_switchbackdropto": "Switch Backdrop To", "looks_backdrops": "Backdrops", "looks_nextbackdrop": "Next Backdrop", "looks_changesizeby": "Change Size By", "looks_setsizeto": "Set Size To", "looks_changeeffectby": "Change Effect By", "looks_seteffectto": "Set Effect To", "looks_cleargraphiceffects": "Clear Graphic Effects", "looks_show": "Show", "looks_hide": "Hide", "looks_gotofrontback": "Go to Front/Back Layer", "looks_goforwardbackwardlayers": "Go Forward/Backwards Layers", "looks_costumenumbername": "Costume Number Name", "looks_backdropnumbername": "Backdrop Number Name", "looks_size": "Size", "looks_thinkforsecs": "Think for Secs", "looks_think": "Think"},
    "operators": {"operator_add": "Add", "operator_subtract": "Subtract", "operator_random": "Random", "operator_gt": "Greater Than", "operator_lt": "Less Than", "operator_equals": "Equals", "operator_and": "And", "operator_round": "Round", "operator_mathop": "Other Math Operation", "operator_or": "Or", "operator_not": "Not", "operator_join": "Join", "operator_letter_of": "Letter of", "operator_length": "Length of", "operator_contains": "Parameter Contains", "operator_mod": "Modulo", "operator_multiply": "Multiply", "operator_divide": "Divide"},
    "sensing": {"sensing_touchingobject": "Touching Object", "sensing_touchingobjectmenu": "Touching Specific Object", "sensing_touchingcolor": "Touch Color", "sensing_coloristouchingcolor": "Color is Touching Color", "sensing_distanceto": "Distance To Object", "sensing_distancetomenu": "Distance to Specific Object", "sensing_keypressed": "Key Pressed", "sensing_keyoptions": "Key Options", "sensing_mousedown": "Mouse Down", "sensing_mousex": "Mouse X", "sensing_mousey": "Mouse Y", "sensing_setdragmode": "Set Drag Mode", "sensing_loudness": "Loudness", "sensing_timer": "Timer", "sensing_resettimer": "Reset Timer", "sensing_of": "Sensing Of", "sensing_of_object_menu": "Sensing of Object", "sensing_current": "Current Time Variable", "sensing_dayssince2000": "Days Since 2000", "sensing_username": "Username", "sensing_askandwait": "Ask and Wait", "sensing_answer": "Answer"},
    "sound": {"sound_playuntildone": "Play Until Done", "sound_stopallsounds": "Stop All Sounds", "sound_changeeffectby": "Change Effect By", "sound_seteffectto": "Set Effect To", "sound_cleareffects": "Clear Effects", "sound_changevolumeby": "Change Volume By", "sound_setvolumeto": "Set Volume To", "sound_volume": "Volume", "sound_play": "Play"},
    "procedures": {"procedures_definition": "Block Definition", "procedures_call": "Block Call"},
    "data": {"data_variable": "Variable", "data_setvariableto": "Set Variable To", "data_changevariableby": "Change Variable By", "data_hidevariable": "Hide Variable", "data_showvariable": "Show Variable", "data_listcontents": "List Contents", "data_addtolist": "Add To List", "data_deleteoflist": "Delete Of List", "data_deletealloflist": "Delete All Of List", "data_insertatlist": "Insert At List", "data_replaceitemoflist": "Replace Item Of List", "data_itemoflist": "Item Of List", "data_itemnumoflist": "Item Number Of List", "data_lengthoflist": "Length Of List", "data_listcontainsitem": "List Contains", "data_hidelist": "Hide List", "data_showlist": "Show List"}
}

# Often duplicates
ignore = {
    "sound_sounds_menu": "Sounds Menu",
    "procedures_prototype": "Block Prototype"
}

# Event listeners
event_listeners = {
    "event_whenflagclicked": "When Flag Clicked",
    "event_whenkeypressed": "When Key Pressed",
    "event_whenthisspriteclicked": "When Sprite Clicked",
    "event_whenbackdropswitchesto": "When Backdrop Switches To",
    "event_whengreaterthan": "When Greater Than",
    "event_whenbroadcastreceived": "When Broadcast Received"
}