If you setblock certain blocks where they would get powered (e.g. onto redstone torch or redstone block), e.g. with:
/setblock <x> <y> <z> command_block{Command:"say test"}
the command block does not say "test", unless it receives a block update.
This occurs also with e.g. dispensers, droppers, note blocks.
See also:
MC-51340, it also happens if you got a block entity with NBT data (e.g. a command block with an inserted command) and make it fall, place it or clone it next to a power source, as well as
Code analysis by @unknown in this comment on bugpost MC-18631.
Blocks that do not update when placed with setblock:
(⚠️ Some of those would be useful for mapmakers to be left not updating, see #Note below)
doors
dispensers
droppers
command blocks
note blocks
levers
fence gates
beds
crops
repeaters
comparators
mushrooms
cake
carpet
dead bush
flowers
tall grass
ferns
flower pots
pressure plates
buttons
hopper
trapdoors
ladders
piston extension
piston heads
nether portals
saplings
snow layers
banners
signs
sponges
structure blocks
tripwire
tripwire hooks
vines
lily pads
rails
redstone lamps
torches
coral blocks
Blocks that do update:
anvils
sand
cactus
dragon eggs
grass path
gravel
concrete powder
farmland
fire
observers
pistons
redstone torches (lit state)
redstone wire (power state and supporting block)
stairs
sugar cane
TNT
In short:
Everything that needs support to exist stays aside from redstone wire, cactus, sugar cane and fire.
Gravity affected blocks fall.
Powered/lit/etc state stays the same except for pistons, redstone torches, redstone wire and TNT
sponges don't soak up water
⚠️ Decorative things like flowers, dead_bush, fern, grass, portals (anything that would naturally require a supporting block) would be in my personal opinion better to be left not updating by usage of commands, so mapmakers can still use it as decorative means for their maps.
Furthermore, when using the /clone-command, the cloned blocks should probably be cloned as-is, so, if you clone blockstated blocks, they should be cloned as that very blockstated block. In order to toggle that, if desired, it could be considered to add another cloneMode for this (see opposing opinion in MC-190526, which was closed as duplicate of this bugpost). A fill-command with intentionally blockstated blocks should not lead to updated blocks as well (unless specified command-wise); the same should also go for e.g. a structure block, as well as worldgen structure.
TLDR: It seems it could be great for mapmakers to be able to toggle blockstate updates, if possible also per-block; this would open up the ability to use blocks such as for example the 159 currently unused (naturally not generated automatically) blockstates giant mushroom blocks as retextured blocks for individual resource packs easily, without the same type of mushroom blocks updating, if placed next to each other also manually and thus have to e.g. alternate the block types, which lowers and complicates the amount of usable blocks.
Linked issues
is duplicated by 27
relates to 10
Attachments
Comments 38
Reopened because MC-30949 is not an issue.
Technically, setblock does trigger block updates, so the title is a bit incorrect. It's specific to nbt tag "states" (states saved in nbt rather than block states)...
Edit:
That's not also fully true, for example levers remain, but sand falls.
Duplicate of MC-30949