Command Block chains gain and lose power in two ticks, not one
It takes a tick longer for a command block chain to stop being powered once the power is removed. This is the case both when a redstone block is removed, and when NBT auto: 0b is used. (I cannot verify that this extra tick also occurs when the block is powered as well or not.)
The problem with this is that it can throw off things when, for example, a button is meant to stop another command block chain from incrementing a score, and then assign the value of the score to another score when the first score stops changing.
To Recreate the Problem
1. Create and display to the screen an objective named "tempObjective"
2. Place a repeating command block that needs redstone power containing the command:
/scoreboard players add X tempObjective 1
3. Place an impulse block separately that needs redstone power, has a button on it, and will replace a (future) redstone block next to the repeating command block with air.
4. Add a chain command block to the impulse block which holds the command:
/scoreboard players operation Z tempObjective = X tempObjective
5. Place the redstone block next to the repeating command block, wait a second, and then press the button on the impulse command block.
Result
X will be greater than Z.
Linked Issues
Created Issue:
Command Blocks Gain and Lose Power Slowly
It takes a tick longer for a command block chain to stop being powered once the power is removed. This is the case both when a redstone block is or removed, and when NBT auto: 0b is used. (I cannot verify that this extra tick also occurs when the block is powered as well or not.)
The problem with this is that it can throw off things when, for example, a button is meant to stop another command block chain from incrementing a score, and then assign the value of the score to another score when the first score stops changing.
To Recreate the Problem
1. Create and display to the screen an objective named "tempObjective"
2. Place a repeating command block that needs redstone power with the command:
/scoreboard players add X tempObjective 13. Place an impulse block separately that needs redstone power, has a button on it, and will replace a (future) redstone block next to the repeating command block with air.
4. Add a chain command block to the impulse block with the command:
/scoreboard players operation Z tempObjective = X tempObjective5. Place the redstone block next to the repeating command block, wait a second, and then press the button on the impulse command block.
Result
X will be greater than Z.
Environment
Linux Java Edition
It takes a tick longer for a command block chain to stop being powered once the power is removed. This is the case both when a redstone block is
orremoved, and when NBT auto: 0b is used. (I cannot verify that this extra tick also occurs when the block is powered as well or not.)The problem with this is that it can throw off things when, for example, a button is meant to stop another command block chain from incrementing a score, and then assign the value of the score to another score when the first score stops changing.
To Recreate the Problem
1. Create and display to the screen an objective named "tempObjective"
2. Place a repeating command block that needs redstone power with the command:
/scoreboard players add X tempObjective 13. Place an impulse block separately that needs redstone power, has a button on it, and will replace a (future) redstone block next to the repeating command block with air.
4. Add a chain command block to the impulse block with the command:
/scoreboard players operation Z tempObjective = X tempObjective5. Place the redstone block next to the repeating command block, wait a second, and then press the button on the impulse command block.
Result
X will be greater than Z.
It takes a tick longer for a command block chain to stop being powered once the power is removed. This is the case both when a redstone block is removed, and when NBT auto: 0b is used. (I cannot verify that this extra tick also occurs when the block is powered as well or not.)
The problem with this is that it can throw off things when, for example, a button is meant to stop another command block chain from incrementing a score, and then assign the value of the score to another score when the first score stops changing.
To Recreate the Problem
1. Create and display to the screen an objective named "tempObjective"
2. Place a repeating command block that needs redstone power
withthe command:/scoreboard players add X tempObjective 13. Place an impulse block separately that needs redstone power, has a button on it, and will replace a (future) redstone block next to the repeating command block with air.
4. Add a chain command block to the impulse block w
iththe command:/scoreboard players operation Z tempObjective = X tempObjective5. Place the redstone block next to the repeating command block, wait a second, and then press the button on the impulse command block.
Result
X will be greater than Z.
It takes a tick longer for a command block chain to stop being powered once the power is removed. This is the case both when a redstone block is removed, and when NBT auto: 0b is used. (I cannot verify that this extra tick also occurs when the block is powered as well or not.)
The problem with this is that it can throw off things when, for example, a button is meant to stop another command block chain from incrementing a score, and then assign the value of the score to another score when the first score stops changing.
To Recreate the Problem
1. Create and display to the screen an objective named "tempObjective"
2. Place a repeating command block that needs redstone power containing the command:
/scoreboard players add X tempObjective 13. Place an impulse block separately that needs redstone power, has a button on it, and will replace a (future) redstone block next to the repeating command block with air.
4. Add a chain command block to the impulse block which holds the command:
/scoreboard players operation Z tempObjective = X tempObjective5. Place the redstone block next to the repeating command block, wait a second, and then press the button on the impulse command block.
Result
X will be greater than Z.
Command Blocks Gain and Lose PowerSlowlyCommand Blocks Gain and Lose Power in Two Ticks, Not One
Command Block Chains Gain and Lose Power in Two Ticks, Not One
relates to
Linux Java Edition
Command BlockChainsGain andLosePower inTwoTicks,NotOneCommand Block chains gain and lose power in two ticks, not one

I've tested and verified that this issue doesn't occur when a command block chain removes its own power. The issue has to do with one command block chain influencing another (where a command block chain is defined as any number of connected chain command blocks, and the impulse or repeating command block that "chain" powers them, for lack of a better word).
This is probably related to MC-99343
A repeating command block schedules a TileTick after it executed its command, if it is still activated. When executing the TileTick, it does not check if the conditions still apply.
A command block also has a tick of delay before activating, but that is how TileTicks work. The TileTick is scheduled after the redstone block was placed and will be executed in the next tick.