The setblock command ignores replace parameters. For example, the command "/execute @p ~ ~-1 ~ setblock ~ ~ ~ slime 0 replace emerald_block" Will ignore the fact that it should only set slime where there are emerald blocks and place them under the player regardless
/setblock does not have replaceTileName or replaceDataValue as optional tags. It's not the same command as /fill
use: