Eng:If () Then (block)

The If Then block is a Control block and a C block. The block will check its boolean condition. If the condition is true, the blocks held inside it will run, and then the script involved will continue. If the condition is false, the code inside the block will be ignored and the script will move on (unlike in the If Then, Else block). The condition is only checked once; if the condition turns to false while the script inside the block is running, it will keep running until it has finished.

Before Scratch 2.0, this block was named If.

Example Uses
In programming, one of the most important parts is "checking conditions". This block is the simplest way to do that. Therefore, the block is used practically everywhere. Some common uses:
 * Comparing values

if <(answer) = [5]> then say [Correct!] end


 * Checking if input is given

if < and <(amount) = [1]>> then stamp end


 * Controlling objects

if  then broadcast [Jump v] end

Workaround
This block can be replicated with the following code:

if then . . . else //Leave empty. end

Another workaround is this:

. . . broadcast [if statement v] and wait . ..

when I receive [if statement v] repeat until stop [this script v] end . ..

Common Issue
Some users are confused as to why a script does not work when using the block. One of the most common misconceptions about it is that it repeatedly checks for a condition, so some users do not understand why a script isn't working with only the if block. To make it repeatedly check a condition, it simply needs to be put in a forever loop.

The forever if block in Scratch 1.4 did exactly what users with this misconception think the if block does.