Discuss Scratch

jloffen
Scratcher
100+ posts

Hidden, Removed, and Redeveloped Blocks

Hello, jloffen here. I created this topic to talk about hidden, removed, and redeveloped blocks from previous Scratch versions. We can also talk about possible alternatives for those blocks here! Here are three examples, a hidden block, a removed block, and a redeveloped block.

Hidden Block:
all at once {

}:: control

Removed Block:
when <> is true:: events hat

Redeveloped Block:
create clone:: control
I also decided to create a project recreating some of these blocks. You can visit it by clicking here.
By the way, all the information I collect is from this page on the scratch wiki.
Thank you for reading
~jloffen

Last edited by jloffen (Feb. 20, 2024 00:22:50)

ZZC12345
Scratcher
500+ posts

Hidden, Removed, and Redeveloped Blocks

jloffen wrote:

all at once {

} ::control
// Since the "all at once" block is implemented for compatiblity with
// Scratch 2.0 projects, it behaves the same way it did in 2.0, which
// is to simply run the contained script (like "if 1 = 1").
// (In early versions of Scratch 2.0, it would work the same way as
// "run without screen refresh" custom blocks do now, but this was
// removed before the release of 2.0.)
(source in scratch-vm)
Also, repeatWhile (works, just not in toolbox):
while <...> {
...
}::control
and forEach (same):
for each [i v] in (10) {
...
}::control
jloffen
Scratcher
100+ posts

Hidden, Removed, and Redeveloped Blocks

There was a block in the scratch 2.0 development that never made it to the full release. The block was:
stamp transparent ():: pen stack
There is a way to recreate it, being:
define stamp transparent (transparency)
change [ghost v] effect by (transparency)
stamp
change [ghost v] effect by ((0) - (transparency))
That's all I have to say about the block
~jloffen

Last edited by jloffen (Feb. 26, 2024 21:40:49)

jloffen
Scratcher
100+ posts

Hidden, Removed, and Redeveloped Blocks

Another removed block is:
change costume by ():: looks stack
It was removed before the first ever full release of Scratch. There's a way to recreate it, by copying this code:
define change costume by (costumechange)
switch costume to ((costume [number v]:: looks) + (costumechange))
Another variant of that removed block is:
change background by ():: looks stack
Yes, it said background instead of backdrop. Anyways, here's the code to recreate that block as well:
define change backdrop by (backdropchange)
switch backdrop to ((backdrop [number v]:: looks) + (backdropchange))
You're welcome
~jloffen

Last edited by jloffen (Feb. 15, 2024 23:30:17)

jloffen
Scratcher
100+ posts

Hidden, Removed, and Redeveloped Blocks

On August 3, jloffen wrote:

all at once {

} ::control

On the same day, ZZC12345 wrote:

Since the “all at once” block is implemented for compatiblity with Scratch 2.0 projects, it behaves the same way it did in 2.0, which is to simply run the contained script (like “if 1 = 1”).
(In early versions of Scratch 2.0, it would work the same way as “run without screen refresh” custom blocks do now, but this was removed before the release of 2.0.)

Finally, on August 24, jloffen wrote:

Nice explanation, now I will talk about the other script in the post you replied to, the “when <> is true” block.
The “when <> is true” block was a “hat” block in the Control category. When the condition placed in the block was set to true, the following script placed underneath it would activate.
Since there was no way to stop it at the time, it was removed, and can be recreated with the following script:

when green flag clicked
forever
if <[] = [true]> then
...
end
end
Hope you leaned something new

Last edited by jloffen (Feb. 22, 2024 00:58:46)

jloffen
Scratcher
100+ posts

Hidden, Removed, and Redeveloped Blocks

You know the comments we have today? Well they actually used to be blocks:

This block was originally meant to be placed in-between other blocks, which is why it has the block shape. This has since been replaced with the comments we all know now, as the original comment blocks were apparently confusing to new users. The new replacement is seen here:
... // I'm a comment seen today!
You can try to recreate it as accurate as possible, using the following code, although it technically isn't code as it does nothing :
define comment [Comment Text]
This way, the block can function mostly as originally intended, for example:
set [character v] to [Piglet]
comment [^ Changes current sprite character to Piglet.]:: custom stack
First line has been replaced as of 20th February 2024 10:47 AM GMT+11
~jloffen

Last edited by jloffen (Feb. 19, 2024 23:48:15)

DifferentDance8
Scratcher
1000+ posts

Hidden, Removed, and Redeveloped Blocks

jloffen wrote:

~snip~
You can try to recreate it as accurate as possible, using the following code, although it technically isn't code as it does nothing :
define comment [Comment Text]
This way, the block can function mostly as originally intended, for example:
set [character v] to [Piglet]
comment [^ Changes current sprite character to Piglet.]:: custom stack
lol idk what to put here
~jloffen
I use that technique for some of my projects!
ZZC12345
Scratcher
500+ posts

Hidden, Removed, and Redeveloped Blocks

DifferentDance8 wrote:

jloffen wrote:

~snip~
You can try to recreate it as accurate as possible, using the following code, although it technically isn't code as it does nothing :
define comment [Comment Text]
This way, the block can function mostly as originally intended, for example:
set [character v] to [Piglet]
comment [^ Changes current sprite character to Piglet.]:: custom stack
lol idk what to put here
~jloffen
I use that technique for some of my projects!
Same!
define // (comment)

When @greenFlag clicked
move (10) steps
\/\/ [Moves 10 steps in the direction the sprite is pointing.]
_nix
Scratcher
1000+ posts

Hidden, Removed, and Redeveloped Blocks

jloffen wrote:

There was a block originally in the Scratch 1.2 Beta, the old comment block:

This block was originally meant to be placed in-between other blocks, which is why it has the block shape. This has since been replaced with the comments we all know now, as the original comment blocks were apparently confusing to new users.
Oh man, it's been forever since I saw this!! Some old Scratch 1.4 mods brought it back, I remember messing around with it a bunch. I love that it was word-wrapping (instead of just going on super wide) and collapsible while still being visible as “part” of the code. (Today's comments, which just float off the side, are cool too, and I think I prefer them to the old comments in the end… but there's just something neat about the old style )
jloffen
Scratcher
100+ posts

Hidden, Removed, and Redeveloped Blocks

On August 24, jloffen wrote:

You can try to recreate it as accurate as possible, using the following code:
define comment [Comment Text]
This way, the block can function mostly as originally intended, for example:
set [character v] to [Piglet]
comment [^ Changes current sprite character to Piglet.]:: custom stack

Shortly after, DifferentDance8 wrote:

I use that technique for some of my projects!

On the same day (but not shortly after), ZZC12345 wrote:

Same!
define // (comment)
When @greenFlag clicked
move (10) steps
\/\/ [Moves 10 steps in the direction the sprite is pointing.]

Finally, on August 25, jloffen wrote:

Nice!

Last edited by jloffen (Feb. 22, 2024 00:53:40)

jloffen
Scratcher
100+ posts

Hidden, Removed, and Redeveloped Blocks

On August 24, jloffen wrote:

You can try to recreate it as accurate as possible, using the following code, although it technically isn't code as it does nothing :
define comment [Comment Text]
This way, the block can function mostly as originally intended, for example:
set [character v] to [Piglet]
comment [^ Changes current sprite character to Piglet.]:: custom stack

One day later, on August 25, jloffen finally wrote:

Oops! I forgot to mention something. The only part of the comment block impossible to recreate is the collapsing feature.

Last edited by jloffen (Feb. 22, 2024 01:04:37)

jloffen
Scratcher
100+ posts

Hidden, Removed, and Redeveloped Blocks

This block was removed before the first public release of Scratch 1.0, which means most of you have never even heard of it. It was the “beep” block:
beep:: sound
This block was introduced on the 12th of July 2004, but then removed on the 6th of October 2006. It would play a default system sound when activated. You can make a very accurate recreation by using the following code:
define beep
play sound [pop v]
One more thing: I'm not exactly sure, but if I were to guess, I would say that it was removed for being completely useless.
~jloffen

Last edited by jloffen (Feb. 16, 2024 03:49:39)

jloffen
Scratcher
100+ posts

Hidden, Removed, and Redeveloped Blocks

There were two blocks which only appeared in the Scratch 2.0 alpha:
show monitor [variable v]:: variables
hide monitor [variable v]:: variables
These blocks were originally meant to replace the show/hide variable blocks, as they could also work with lists.
For some unknown reason, the Scratch team changed their mind and decided to split the monitor blocks apart into the four blocks we all know (but don't use) today:
show variable [variable v]
hide variable [variable v]

show list [list v]
hide list [list v]
lorem ipsum dolor sit amet
~jloffen

Last edited by jloffen (Feb. 15, 2024 02:56:39)

jloffen
Scratcher
100+ posts

Hidden, Removed, and Redeveloped Blocks

These two blocks could be classified as redeveloped blocks, as they still exist despite being renamed and eventually split:
* when [go v] shouted:: #9c00c3 hat

shout [go v]:: #63b5ce
These were the original broadcast blocks introduced in 0.2, with the “when go shouted” block also being the predecessor to the “when green flag clicked” block. At this time, the dropdown box only had two options; “go” and “setup”.
In 0.3, those two blocks were renamed, with the “shout” block being split in two:
when I receive message [go v]:: #9c00c3 hat

broadcast [go v]:: #63b5ce
broadcast [go v] and wait:: #63b5ce
In 0.4, the “when I receive message” block was split in two (possibly to avoid confusion?):
when (START:: operators) clicked:: control hat // when green flag clicked (original design)
when I receive message [message1 v]:: control hat // when I receive message [message v] (same name)
PS. This post is most likely the one I edited the most.
~jloffen

Last edited by jloffen (July 2, 2026 13:51:37)

jloffen
Scratcher
100+ posts

Hidden, Removed, and Redeveloped Blocks

Here's something unexpected, These two blocks were removed at some point:
(costume #)
(backdrop #)
Now, you might be saying “Hey wait a minute, I SWEAR I used these blocks recently! Why are you saying they were removed?”. If you said something like that, then you would be wrong. These blocks are different, with costume # being added in 1.2, and backdrop # being added in 2.0.
Now here's the (slightly) confusing part. During the development of 3.0, those blocks were removed and replaced with these blocks:
(costume [number v]:: looks)
(backdrop [number v]:: looks)
One more thing. The current version of the backdrop number block WAS in the scratch 2.0 alpha, but was removed shortly after for an unknown reason.
~jloffen

Last edited by jloffen (Feb. 15, 2024 23:33:11)

jloffen
Scratcher
100+ posts

Hidden, Removed, and Redeveloped Blocks

Fun fact. The “Scratch days” block was the original version of the “days since 2000” block:
(Scratch days::sensing)
Similarly to “days since 2000”, “Scratch days” would've counted the days since 1.0's release on May 15th, 2007.
This block was first added in 2.0 v172, and then removed in v230. If this block still existed, it would be the only one to contain a capital letter.
You can recreate it using the following code:
when green flag clicked
forever
set [Scratch days v] to ((days since 2000) - (2691))
end
(Scratch days)
You need to place the “set variable to input” within a “forever” block so that it continuously updates, just like how the “days since 2000” block updates itself automatically.
~jloffen

Last edited by jloffen (Feb. 16, 2024 03:24:49)

medians
Scratcher
1000+ posts

Hidden, Removed, and Redeveloped Blocks

jloffen wrote:

Here's something unexpected, These two blocks were removed at some point:
(costume #)
(backdrop #)
Now, you might be saying “Hey wait a minute, I SWEAR I used these blocks recently! Why are you saying they were removed?”. If you said something like that, then you would be wrong. These blocks are different, with costume # being added in 1.2, and backdrop # being added in 2.0.
Well, I've used those blocks recently because I use 2.0
Anyways, backdrop # was available before 2.0 (as background #), it was backdrop name that was added in 2.0.
_nix
Scratcher
1000+ posts

Hidden, Removed, and Redeveloped Blocks

jloffen wrote:

Similarly to “days since 2000”, “Scratch days” would've counted the days since 1.0's release on May 15th, 2007.
This block was first added in 2.0 v172, and then removed in v230. If this block still existed, it would be the only one to contain a capital letter.
Hey, “when I start as a clone” and “when I receive” include capital letters!

We've really enjoyed following this thread, by the way. Awesome work putting all this together!
medians
Scratcher
1000+ posts

Hidden, Removed, and Redeveloped Blocks

_nix wrote:

jloffen wrote:

Similarly to “days since 2000”, “Scratch days” would've counted the days since 1.0's release on May 15th, 2007.
This block was first added in 2.0 v172, and then removed in v230. If this block still existed, it would be the only one to contain a capital letter.
Hey, “when I start as a clone” and “when I receive” include capital letters!

We've really enjoyed following this thread, by the way. Awesome work putting all this together!
At the start then :P
Anyways, when Stage clicked also used to have a capital letter.

Last edited by medians (Feb. 16, 2024 22:30:15)

jloffen
Scratcher
100+ posts

Hidden, Removed, and Redeveloped Blocks

Nobody knows what this block was meant to do. Not even the Scratch wiki! This is because it did nothing when clicked:
color fx test (10):: looks
This block was accidentally added to the block palette in the v349 prerelease of Scratch 2.0, and then immediately removed in the next version. Nothing else about it was known before its removal.
Yeah I know this was a short post, but it's because almost NOTHING is known about this block.
~jloffen

Last edited by jloffen (Feb. 20, 2024 00:35:22)

Powered by DjangoBB