Discuss Scratch

Axtonyin
Scratcher
100+ posts

The Unofficial Guide To Creating Good Block Suggestions

Welcome to The Unofficial Guide To Creating Good Block Suggestions


You want to make a good block suggestion? Well then, you've come to the right place!

1. Do Not Suggest a Rejected Block
To see all rejected blocks/suggestions look here: rejected blocks/suggestions
Do not suggest a, well, rejected block. This is pretty obvious and most people should know it.
Example:
ask for [1] [$ v] :: operators
This is rejected because most users on Scratch are children. This is not the only reason why this is rejected; a more detailed reason is here.

2. Suggest a Useful Block
This is also obvious. Useful blocks should actually be able to be used for a good purpose. Blocks like
(current phase of the moon ::sensing)
Can't be used for a good purpose unless you ACTUALLY want to say the current phase of the moon, which isn't very… ideal to use unless you wanna make a “current phase of the moon” project, which is kinda weird.
Example:
<online? ::sensing>
Which is actually useful (because it can be used for various projects).

3. Look For Duplicates
Make sure there are no duplicates of your idea, if there are, make a new idea, or support that block suggestion.
Example: If you make an idea for a block that imports a copy of Scratch Jr, but someone else has too, then you should support that block suggestion instead of making a new topic about the same block suggestion.

4. Make It Simple
Scratch is made for children. If you suggest a block that is too complicated, then Scratch will not add it, and children using the website will be extremely confused about what it does.
Example:
put (video idea v) inside the (or block v) of the (second repeat v) in [this script v] ::control
This idea is overly complicated and specific and wouldn't be used and no one would know its meaning.

5. Mock Up The Block
You can mock up the blocks using scratchblocks, which is the thing that lets you create custom blocks in these suggestion forums.
Example:
Use [scratchblocks] on the top and [/scratchblocks] on the bottom. Here is how to do it:
[scratchblocks]
your block here
[/scratchblocks]

6. Show Workarounds
Workarounds are a huge pain in the back if you have a block that has an easy workaround. So either explain why those workarounds dont work, or explain why your block doesn't have any workarounds.
Example:
hide for [10] secs then show for [10] secs ::looks
This can be easily achieved with
when green flag clicked
hide
wait (10) secs
show
wait (10) secs

7. Explain Why It Should Be Added
Don't just say “This is a good idea, add it” or “Support”, actually explain why it IS a good idea.
Example: Instead of saying “add this scratch” you say “this block is very useful and good because (insert long and good reason)”

8. Make The Block Only Do One Thing (suggested by @Haycat2009)
First off, I do know that the
if on edge, bounce
exists, though the ST was pretty weird back then and added blocks that didn't need to be added. I think the if on edge, bounce block is the only now rejected block that survived. If you suggest a block that does 2 things, that block is extremely likely to be able to be made in the current editor. This should probably be in number 6, but I'm lazy, so here.
Example:
change size by [10] then change size by [-10] ::looks
This block is useful, but it is easily achievable, similar to hide for 10 seconds then show for 10 seconds.

Anyways, that's it for my guide. You can tell me to add stuff, and I'll add good suggestions.

Last edited by Axtonyin (Aug. 21, 2026 05:22:53)

Haycat2009
Scratcher
500+ posts

The Unofficial Guide To Creating Good Block Suggestions

I think you should add that blocks should be simple AS IN consistenly doing exact one thing.

For instance, a gamma function option for the math block should be accepted, as it does only one thing and the workaround is imprecise.
But if the If on edge bounce block was suggested today, it should be rejected, as it does two things (Check for edge, and bounce)
Za-Chary
Scratcher
1000+ posts

The Unofficial Guide To Creating Good Block Suggestions

I will defend the “if on edge, bounce” block 'til the end of my days.
WPONTA
Scratcher
1000+ posts

The Unofficial Guide To Creating Good Block Suggestions

Let me redesign this topic….
Haycat2009
Scratcher
500+ posts

The Unofficial Guide To Creating Good Block Suggestions

Za-Chary wrote:

I will defend the “if on edge, bounce” block 'til the end of my days.
Hmm, why? Just curious.

Last edited by Haycat2009 (Aug. 13, 2026 13:42:54)

Axtonyin
Scratcher
100+ posts

The Unofficial Guide To Creating Good Block Suggestions

Za-Chary wrote:

I will defend the “if on edge, bounce” block 'til the end of my days.
why?
Axtonyin
Scratcher
100+ posts

The Unofficial Guide To Creating Good Block Suggestions

WPONTA wrote:

Let me redesign this topic….
ok if you really are then credit me
NutOfCoco
Scratcher
500+ posts

The Unofficial Guide To Creating Good Block Suggestions

for the mock up the block, put in code:
[code][/code] [scratchblocks][/scratchblocks]
It writes the bbcode instead making it invisible.
WPONTA
Scratcher
1000+ posts

The Unofficial Guide To Creating Good Block Suggestions

Welcome to The Unofficial Guide To Creating Good Block Suggestions


You want to make a good block suggestion? So here are some tips:

1. Do Not Suggest a Rejected Block
To see all rejected blocks/suggestions look here: rejected blocks/suggestions
Do not suggest a “well” rejected block. This is pretty obvious and most people should know it.
Example:
ask for [1] [$ v] :: operators
This is rejected because most users on Scratch are children. This is not the only reason why this is rejected; a more detailed reason is here.

2. Suggest a Useful Block
This is also obvious. Useful blocks should actually be able to be used for a good purpose. Blocks like
(current phase of the moon ::sensing)
Can't be used for a good purpose unless you ACTUALLY want to say the current phase of the moon, which isn't very… ideal to use unless you wanna make a “current phase of the moon” project, which is kinda weird.
Example:
<online? ::sensing>
Which is actually useful (because it can be used for various projects).

3. Look For Duplicates
Make sure there are no duplicates of your idea, if there are, make a new idea, or support that block suggestion.
Example: If you make an idea for a block that imports a copy of Scratch Jr, but someone else has too, then you should support that block suggestion instead of making a new topic about the same block suggestion.

4. Make It Simple
Scratch is made for children. If you suggest a block that is too complicated, then Scratch will not add it, and children using the website will be extremely confused about what it does.
Example:
put (video idea v) inside the (or block v) of the (second repeat v) in [this script v] ::control
This idea is overly complicated and specific and wouldn't be used and no one would know its meaning.

5. Mock Up The Block
You can mock up the blocks using scratchblocks, which is the thing that lets you create custom blocks in these suggestion forums.
Example:
Use (scratchblocks) on the top and (/scratchblocks) on the bottom. Here is how to do it:
(scratchblocks)
your block here
(scratchblocks)
(Replace the ( with ] )

6. Show Workarounds
Workarounds are a huge pain in the back if you have a block that has an easy workaround. So either explain why those workarounds dont work, or explain why your block doesn't have any workarounds.
Example:
hide for [10] secs then show for [10] secs ::looks
This can be easily achieved with
when green flag clicked
hide
wait (10) secs
show
wait (10) secs

7. Explain Why It Should Be Added
Don't just say “This is a good idea, add it” or “Support”, actually explain why it IS a good idea.
Example: Instead of saying “add this scratch” you say “this block is very useful and good because (insert long and good reason)”

8. Make Ther Block Only Do One Thing (suggested by @Haycat2009)
First off, I do know that the
if on edge, bounce
exists, though the ST was pretty weird back then and added blocks that didn't need to be added. I think the if on edge, bounce block is the only now rejected block that survived. If you suggest a block that does 2 things, that block is extremely likely to be able to be made in the current editor. This should probably be in number 6, but I'm lazy, so here.
Example:
change size by [10] then change size by [-10] ::looks
This block is useful, but it is easily achievable, similar to hide for 10 seconds then show for 10 seconds.

Anyways, that's it for my guide. You can tell me to add stuff, and I'll add good suggestions.
Axtonyin
Scratcher
100+ posts

The Unofficial Guide To Creating Good Block Suggestions

WPONTA wrote:

Welcome to The Unofficial Guide To Creating Good Block Suggestions


You want to make a good block suggestion? So here are some tips:

1. Do Not Suggest a Rejected Block
To see all rejected blocks/suggestions look here: rejected blocks/suggestions
Do not suggest a “well” rejected block. This is pretty obvious and most people should know it.
Example:
ask for [1] [$ v] :: operators
This is rejected because most users on Scratch are children. This is not the only reason why this is rejected; a more detailed reason is here.

2. Suggest a Useful Block
This is also obvious. Useful blocks should actually be able to be used for a good purpose. Blocks like
(current phase of the moon ::sensing)
Can't be used for a good purpose unless you ACTUALLY want to say the current phase of the moon, which isn't very… ideal to use unless you wanna make a “current phase of the moon” project, which is kinda weird.
Example:
<online? ::sensing>
Which is actually useful (because it can be used for various projects).

3. Look For Duplicates
Make sure there are no duplicates of your idea, if there are, make a new idea, or support that block suggestion.
Example: If you make an idea for a block that imports a copy of Scratch Jr, but someone else has too, then you should support that block suggestion instead of making a new topic about the same block suggestion.

4. Make It Simple
Scratch is made for children. If you suggest a block that is too complicated, then Scratch will not add it, and children using the website will be extremely confused about what it does.
Example:
put (video idea v) inside the (or block v) of the (second repeat v) in [this script v] ::control
This idea is overly complicated and specific and wouldn't be used and no one would know its meaning.

5. Mock Up The Block
You can mock up the blocks using scratchblocks, which is the thing that lets you create custom blocks in these suggestion forums.
Example:
Use (scratchblocks) on the top and (/scratchblocks) on the bottom. Here is how to do it:
(scratchblocks)
your block here
(scratchblocks)
(Replace the ( with ] )

6. Show Workarounds
Workarounds are a huge pain in the back if you have a block that has an easy workaround. So either explain why those workarounds dont work, or explain why your block doesn't have any workarounds.
Example:
hide for [10] secs then show for [10] secs ::looks
This can be easily achieved with
when green flag clicked
hide
wait (10) secs
show
wait (10) secs

7. Explain Why It Should Be Added
Don't just say “This is a good idea, add it” or “Support”, actually explain why it IS a good idea.
Example: Instead of saying “add this scratch” you say “this block is very useful and good because (insert long and good reason)”

8. Make Ther Block Only Do One Thing (suggested by @Haycat2009)
First off, I do know that the
if on edge, bounce
exists, though the ST was pretty weird back then and added blocks that didn't need to be added. I think the if on edge, bounce block is the only now rejected block that survived. If you suggest a block that does 2 things, that block is extremely likely to be able to be made in the current editor. This should probably be in number 6, but I'm lazy, so here.
Example:
change size by [10] then change size by [-10] ::looks
This block is useful, but it is easily achievable, similar to hide for 10 seconds then show for 10 seconds.

Anyways, that's it for my guide. You can tell me to add stuff, and I'll add good suggestions.
Can i use it please?
Axtonyin
Scratcher
100+ posts

The Unofficial Guide To Creating Good Block Suggestions

Bump
WPONTA
Scratcher
1000+ posts

The Unofficial Guide To Creating Good Block Suggestions

Axtonyin wrote:

WPONTA wrote:

Welcome to The Unofficial Guide To Creating Good Block Suggestions


You want to make a good block suggestion? So here are some tips:

1. Do Not Suggest a Rejected Block
To see all rejected blocks/suggestions look here: rejected blocks/suggestions
Do not suggest a “well” rejected block. This is pretty obvious and most people should know it.
Example:
ask for [1] [$ v] :: operators
This is rejected because most users on Scratch are children. This is not the only reason why this is rejected; a more detailed reason is here.

2. Suggest a Useful Block
This is also obvious. Useful blocks should actually be able to be used for a good purpose. Blocks like
(current phase of the moon ::sensing)
Can't be used for a good purpose unless you ACTUALLY want to say the current phase of the moon, which isn't very… ideal to use unless you wanna make a “current phase of the moon” project, which is kinda weird.
Example:
<online? ::sensing>
Which is actually useful (because it can be used for various projects).

3. Look For Duplicates
Make sure there are no duplicates of your idea, if there are, make a new idea, or support that block suggestion.
Example: If you make an idea for a block that imports a copy of Scratch Jr, but someone else has too, then you should support that block suggestion instead of making a new topic about the same block suggestion.

4. Make It Simple
Scratch is made for children. If you suggest a block that is too complicated, then Scratch will not add it, and children using the website will be extremely confused about what it does.
Example:
put (video idea v) inside the (or block v) of the (second repeat v) in [this script v] ::control
This idea is overly complicated and specific and wouldn't be used and no one would know its meaning.

5. Mock Up The Block
You can mock up the blocks using scratchblocks, which is the thing that lets you create custom blocks in these suggestion forums.
Example:
Use (scratchblocks) on the top and (/scratchblocks) on the bottom. Here is how to do it:
(scratchblocks)
your block here
(scratchblocks)
(Replace the ( with ] )

6. Show Workarounds
Workarounds are a huge pain in the back if you have a block that has an easy workaround. So either explain why those workarounds dont work, or explain why your block doesn't have any workarounds.
Example:
hide for [10] secs then show for [10] secs ::looks
This can be easily achieved with
when green flag clicked
hide
wait (10) secs
show
wait (10) secs

7. Explain Why It Should Be Added
Don't just say “This is a good idea, add it” or “Support”, actually explain why it IS a good idea.
Example: Instead of saying “add this scratch” you say “this block is very useful and good because (insert long and good reason)”

8. Make Ther Block Only Do One Thing (suggested by @Haycat2009)
First off, I do know that the
if on edge, bounce
exists, though the ST was pretty weird back then and added blocks that didn't need to be added. I think the if on edge, bounce block is the only now rejected block that survived. If you suggest a block that does 2 things, that block is extremely likely to be able to be made in the current editor. This should probably be in number 6, but I'm lazy, so here.
Example:
change size by [10] then change size by [-10] ::looks
This block is useful, but it is easily achievable, similar to hide for 10 seconds then show for 10 seconds.

Anyways, that's it for my guide. You can tell me to add stuff, and I'll add good suggestions.
Can i use it please?
Sure!
Axtonyin
Scratcher
100+ posts

The Unofficial Guide To Creating Good Block Suggestions

WPONTA wrote:

Axtonyin wrote:

WPONTA wrote:

Welcome to The Unofficial Guide To Creating Good Block Suggestions


You want to make a good block suggestion? So here are some tips:

1. Do Not Suggest a Rejected Block
To see all rejected blocks/suggestions look here: rejected blocks/suggestions
Do not suggest a “well” rejected block. This is pretty obvious and most people should know it.
Example:
ask for [1] [$ v] :: operators
This is rejected because most users on Scratch are children. This is not the only reason why this is rejected; a more detailed reason is here.

2. Suggest a Useful Block
This is also obvious. Useful blocks should actually be able to be used for a good purpose. Blocks like
(current phase of the moon ::sensing)
Can't be used for a good purpose unless you ACTUALLY want to say the current phase of the moon, which isn't very… ideal to use unless you wanna make a “current phase of the moon” project, which is kinda weird.
Example:
<online? ::sensing>
Which is actually useful (because it can be used for various projects).

3. Look For Duplicates
Make sure there are no duplicates of your idea, if there are, make a new idea, or support that block suggestion.
Example: If you make an idea for a block that imports a copy of Scratch Jr, but someone else has too, then you should support that block suggestion instead of making a new topic about the same block suggestion.

4. Make It Simple
Scratch is made for children. If you suggest a block that is too complicated, then Scratch will not add it, and children using the website will be extremely confused about what it does.
Example:
put (video idea v) inside the (or block v) of the (second repeat v) in [this script v] ::control
This idea is overly complicated and specific and wouldn't be used and no one would know its meaning.

5. Mock Up The Block
You can mock up the blocks using scratchblocks, which is the thing that lets you create custom blocks in these suggestion forums.
Example:
Use (scratchblocks) on the top and (/scratchblocks) on the bottom. Here is how to do it:
(scratchblocks)
your block here
(scratchblocks)
(Replace the ( with ] )

6. Show Workarounds
Workarounds are a huge pain in the back if you have a block that has an easy workaround. So either explain why those workarounds dont work, or explain why your block doesn't have any workarounds.
Example:
hide for [10] secs then show for [10] secs ::looks
This can be easily achieved with
when green flag clicked
hide
wait (10) secs
show
wait (10) secs

7. Explain Why It Should Be Added
Don't just say “This is a good idea, add it” or “Support”, actually explain why it IS a good idea.
Example: Instead of saying “add this scratch” you say “this block is very useful and good because (insert long and good reason)”

8. Make Ther Block Only Do One Thing (suggested by @Haycat2009)
First off, I do know that the
if on edge, bounce
exists, though the ST was pretty weird back then and added blocks that didn't need to be added. I think the if on edge, bounce block is the only now rejected block that survived. If you suggest a block that does 2 things, that block is extremely likely to be able to be made in the current editor. This should probably be in number 6, but I'm lazy, so here.
Example:
change size by [10] then change size by [-10] ::looks
This block is useful, but it is easily achievable, similar to hide for 10 seconds then show for 10 seconds.

Anyways, that's it for my guide. You can tell me to add stuff, and I'll add good suggestions.
Can i use it please?
Sure!
Tysm!!
Personthatisnormal
Scratcher
79 posts

The Unofficial Guide To Creating Good Block Suggestions

Welcome to The Unofficial Guide To Creating Good Block Suggestions


You want to make a good block suggestion? So here are some tips:

1. Do Not Suggest a Rejected Block

To see all rejected blocks/suggestions look here: The Informal and Unofficial List of Rejected Suggestions
Do not suggest a “well” rejected block. This is pretty obvious and most people should know it.
Example:
ask for [1] [$ v] :: operators
This is rejected because most users on Scratch are children. This is not the only reason why this is rejected; a more detailed reason is here.


2. Suggest a Useful Block

This is also obvious. Useful blocks should actually be able to be used for a good purpose. Blocks like
(current phase of the moon ::sensing)
can't be used for a good purpose unless you ACTUALLY want to say the current phase of the moon, which isn't very… ideal to use unless you wanna make a “current phase of the moon” project, which is kinda weird.
Example:
<online? ::sensing>
Which is actually useful (because it can be used for various projects).


3. Look For Duplicates

Make sure there are no duplicates of your idea, if there are, make a new idea, or support that block suggestion.
Example: If you make an idea for a block that imports a copy of Scratch Jr, but someone else has too, then you should support that block suggestion instead of making a new topic about the same block suggestion.


4. Make It Simple

Scratch is made for children. If you suggest a block that is too complicated, then Scratch will not add it, and children using the website will be extremely confused about what it does.
Example:
put (video idea v) inside the (or block v) of the (second repeat v) in [this script v] ::control
This idea is overly complicated and specific and wouldn't be used and no one would know its meaning.


5. Mock Up The Block

You can mock up the blocks using scratchblocks, which is the thing that lets you create custom blocks in these suggestion forums.
Example:
Use [scratchblocks] on the top and [/scratchblocks] on the bottom. Here is how to do it:

[scratchblocks]
your block here
[/scratchblocks]


6. Show Workarounds

Workarounds are a huge pain in the back if you have a block that has an easy workaround. So either explain why those workarounds dont work, or explain why your block doesn't have any workarounds.
Example:
hide for [10] secs then show for [10] secs ::looks
This can be easily achieved with:
when green flag clicked
hide
wait (10) secs
show
wait (10) secs


7. Explain Why It Should Be Added

Don't just say “This is a good idea, add it” or “Support”, actually explain why it IS a good idea.
Example: Instead of saying “add this scratch” you say “this block is very useful and good because (insert long and good reason)”


8. Make The Block Only Do One Thing (suggested by @Haycat2009)

First off, I do know that the
if on edge, bounce
exists, though the ST was pretty weird back then and added blocks that didn't need to be added. I think the if on edge, bounce block is the only now rejected block that survived. If you suggest a block that does 2 things, that block is extremely likely to be able to be made in the current editor. This should probably be in number 6, but I'm lazy, so here.
Example:
change size by [10] then change size by [-10] ::looks
This block is useful, but it is easily achievable, similar to hide for 10 seconds then show for 10 seconds.

Anyways, that's it for my version of WPONTA's version of Axtonyin's guide. You can tell me to add stuff, and I'll add good suggestions.

(I just added some spacing and “fixed” a few things. Edit: “and don't quote the whole post. You should ‘-snip-’ the text that doesn't need to be there.”)

Last edited by Personthatisnormal (Aug. 17, 2026 12:19:28)

Axtonyin
Scratcher
100+ posts

The Unofficial Guide To Creating Good Block Suggestions

Bump
r3hehehehehhe
Scratcher
1000+ posts

The Unofficial Guide To Creating Good Block Suggestions

NutOfCoco wrote:

for the mock up the block, put in code:
[code][/code] [scratchblocks][/scratchblocks]
It writes the bbcode instead making it invisible.
[Using this weird thing is better]
purplebunny63
Scratcher
1000+ posts

The Unofficial Guide To Creating Good Block Suggestions

r3hehehehehhe wrote:

NutOfCoco wrote:

for the mock up the block, put in code:
[code][/code] [scratchblocks][/scratchblocks]
It writes the bbcode instead making it invisible.
[Using this weird thing is better]
???
Axtonyin
Scratcher
100+ posts

The Unofficial Guide To Creating Good Block Suggestions

r3hehehehehhe wrote:

NutOfCoco wrote:

for the mock up the block, put in code:
[code][/code] [scratchblocks][/scratchblocks]
It writes the bbcode instead making it invisible.
[Using this weird thing is better]
How did u do that

Last edited by Axtonyin (Aug. 16, 2026 08:15:43)

WPONTA
Scratcher
1000+ posts

The Unofficial Guide To Creating Good Block Suggestions

Since Scratch is being taught at school, keep the blocks practical so teachers can explain them easily.

Last edited by WPONTA (Aug. 16, 2026 09:12:34)

Haycat2009
Scratcher
500+ posts

The Unofficial Guide To Creating Good Block Suggestions

WPONTA wrote:

Also, Scratch is being taught at school, so make sure all the blocks are suitable enough to make sure teachers can teach students about the blocks easily
Suitable as in what?

Powered by DjangoBB