Snap Blocks +

Snap Blocks+ (version 1.10.0 release)

It adds Sprite Creator, Restore Point, some list tools, sounds and text tools, some Scratch blocks, dev blocks, etc! (Sounds like SciSnap, right?)

Anyone can suggest blocks in the comments. If it's possible for me to add them, I might even add them! (and give credit, of course)

Exportable Versions listed here:

to get more information about the blocks listed below, click the "eye" icon on this project below and see more documentations/functions of these blocks:

Summary of Changes (recorded since 1.13.0):

added Getters and setters blocks
added if blocks
added costume utilities
added tell and ask blocks for clones

Released as 1.7

Blocks i added (1.7)

  • tell every (sprite^) to (action)
  • ask every (sprite^) for (input)
  • wait (secs) then report (input)
  • wait until (condition) then report (input)
  • run/launch (multiple scripts) every (sec) secs

Blocks i added (1.8)

  • turn (turbo mode etc) (statement) (action) then turn (statement)
  • set rotation style (rotation style)
  • glide (sec) secs to (sprite)
  • change costume by (num)

Blocks i added (1.8.9)

  • set (var) as empty list
  • if (condition) then run (script1) else (script2)
  • say nothing
  • <clicked on?>
  • -/+ (number)

Blocks i added (1.9.2)

  • stage size (x, y, or full)
  • rename variable
  • (SB+E) (input) of (sprite)

Blocks i added (1.9.5)

  • (SB+E) url
  • empty list
  • currently touching sprite/s

Blocks i added (1.10.0)

  • (fixes only)

Blocks i added (1.11.0 Get 'n Export Update)

  • <Project turned on?>
  • {Minimally load SciSnap!}
  • {change x and y}
  • {Delete Sprite}
  • {Add sound ? to my sounds}
  • (sound named ?)
  • (costume named ?) block freshly imported from joecooldoo's custom blocks
  • {broadcast message}
  • {replace variable with ?}
  • (report error ?)
  • {clean stop}
  • {forever if} thanks to ten_6044 for reviving this block

Blocks i added (1.12.0 Fresh 'n New Update)

  • set stage size
  • key pressed advanced (inspired by joecooldoo
  • (boolean) and (boolean2 and more... )
  • (boolean) or (boolean2 and more... )
  • sprite contains
  • do action and try reporting
  • {null} and (nothing)
  • wait until true/false then do (action)
  • play sound with HZ until done
  • for each clone in sprite

Blocks i added (1.12.5 Variablization)

  • sprite named
  • url as costume
  • import costume
  • costume name
  • for each letter in variable
  • add input to text
  • delete part of variable
  • insert input at part of variable
  • replace letter (part) of variable with input
  • "<="
  • ">="

Blocks i added (1.13.0 The Technical Update)

clone count
delete all clones
tell a clone to ?
ask clone for ?
if ? ?.. else ?..
<position is ? ? >
forever if ? ? else ?
index of letter ? in variable
block named ?
(costume) = (costume)
set restore state
remove restore state
apply restore state
while ?
warp report
getters and setters

Silently added blocks

(report ?)

Community suggested blocks I added:

by odysseus_ssb

  • answer to (reporter)
  • log base (reporter)
  • (input1) ± (input2)
  • ± (input2)

Tweaks on the Project

  • Added version indicators
  • Added scrapped/experimental blocks
  • Added SB+E (Snap Blocks+ Enhanced) blocks
  • Snap+ Exclusive Blocks (Not included from the Snap Blocks+ Package)

Fixed blocks

  • (list) without (items) - by ego-lay_atman-bay
  • (input) contains (input2) (now reports like in Scratch)

Scrapped blocks

  • forever if (reason: boolean failed to update)
  • get away from edge (reason: too complicated to set up)


  • generate jumbled costume
  • fall down until touching (obj) with gravity (grav)

A much better way to create the list without items block is this

This is pretty cool, especially the new sprite blocks. Here's some blocks I made (which you can now drag into the editor to import)
I think they could be good editions, although they're quite simple.
custom blocks script pic
custom blocks script pic (1)
custom blocks script pic (2)
custom blocks script pic (3)

I added these blocks (looks new to me!)


Whoops! i encountered an error from my new reporter :confused:

I'll get on fixing

edit: i found it, and it appears to be a block order error... silly me! it now looks like this

already exists

I think they mean the tell and ask every sprite to action blocks. Those are original.

oh, ok

For some reason, I can't get this to function.
Snap Blocks+ script pic

When I run it, it never updates the condition, and yes. I'm adding some Obsolete blocks made from Scratch.
Can anyone help?

No, it never updates it. I have tried making this type of things a lot, and even in 8.0, it still does not update.

the boolean slot is ran and the result is passed to the block once. when it's repeated it's going to keep giving the same value because that's what was put in.

you want to use an unevaluated boolean, read about it in the snap manual

does anyone know how to delete all scripts in a sprite?
i've been stuck with this dummy block all day long...
image (inside the "create sprite" block)

(my [scripts]) just makes a list of what all the scripts are, it's not actually the list of the scripts directly.
delete (all) of (numbers from (1) to (10)) doesn't eradicate those numbers from the project.

I think he's just using it as a placeholder or a

, and he wants to know what the actual code to delete all scripts in a sprite is so he can replace that.

Exactly. :skull:

I figured it out. Kinda difficult because I had to test if blocks were custom and didn't know how to do it yet.

Don't do that, that'll also delete global custom blocks.

oh yeah true.

Here are some corrections to some blocks you have in your project:

Snap Blocks+ script pic

Snap Blocks+ script pic

Detects an actual click, not just holding down.

This block does what it's supposed to. Your block only displays variables from nearby sprites.

All Origins has a limit on how many requests you can make.
instead of using [scratchblocks]<(statement) = <<true (::grey)::operators>::operators>>[/scratchblocks] just use


the developer blocks were probably hidden for a reason. you can risk freezing or crashing Snap! or include blocks in your project that do not work anymore.

You can import any of these blocks by downloading the images to your computer and drag + drop them into the coding space.

Also, I have already made some of these blocks before.


Custom Blocks 2: By Joecooldoo

Cool blocks !

Does this block is working for you?

Snap Blocks+ script pic

  1. Create a new sprite with a name (working)
  2. All the scripts are copied (You would like the scripts to be erased)
  3. Extra scripts (not executed)

I think this code has no effect:
(take the set color block for example: you tell the new sprite to set it's color to it's own color...)