The issue
The new command block state syntax is now mandatory. Aside from the syntax already not matching Java (MCPE-112938), there is an additional issue. The block state part is its own argument, instead of being part of the block argument. As a result, this simple command produces a syntax error:
/setblock ~ ~ ~ air destroy
Instead, you are forced to type
/setblock ~ ~ ~ air[] destroy
This does not match Java Edition, in which the first command works fine. Requiring an empty state argument is redundant and confusing. The block and state should be two halves of a single argument to be compatible with Java Edition syntax, which is well-known since 1.13.
Linked issues
is duplicated by 3
Comments 4
In 1.19.80 this was addressed by just adding additional overloads to every command. I'm not sure I'd really consider this a proper fix, it bloats the command tree and the block argument is still split for no reason.
Can confirm, Same issue in Android