I do believe this was misunderstood for being reported, because "Works as Intended" is far from how it actually is supposed to work. When replacing blocks using the "replace" tag, for example:
/fill ~ ~4 ~ ~ ~4 ~ minecraft:end_portal 0 replace minecraft:air
does not replace the air block with a portal, but simply says:
Data tag parsing failed: Expected '{' but got 'm' at: m<--[HERE]
However, when using:
/fill ~ ~4 ~ ~ ~4 ~ minecraft:stone 0 replace minecraft:air
the command works fine, ignoring all other blocks except air. However, the command:
/fill ~ ~4 ~ ~ ~4 ~ minecraft:end_portal 0
is not a suitable substitute because it's not going to detect and replace the air block, but any block at the ~ ~4 ~ ~ ~4 ~ coordinates. So using:
/fill ~ ~4 ~ ~ ~4 ~ minecraft:end_portal 0
is not a "Works as Intended" solution.
Linked issues
Comments


Fair enough. I swear I read through the comments but somehow managed to overlook that one. Well, regardless, I found a way around it.
/execute @p ~ ~ ~ detect ~ ~5 ~ minecraft:air 0 /fill ~ ~4 ~ ~ ~4 ~ end_portal 0 replace
Don't intentionally duplicate tickets. The reason for it being WAI