Вообще было бы не плохо нам знать версию, но я могу лишь предположить что Вам это нужно на версиях 1.16+ ну или ниже, но не 1.12
Команды будут работать с версии 1.13 и до 1.16.5 - это точно.
1. /execute positioned 50 71 9 if block ~ ~-0.35 ~ minecraft:dirt run particle minecraft:happy_villager ~ ~1 ~ (Если Вам нужно, чтобы под Вашим блоком был именно блок земли, то Вам подойдёт эта команда. Вместо координат "50 71 9" Вы должны вставить свои координаты блока, ну и настроить команду /particle уже под Вам, но это можно и на ютубе посмотреть. Так же Вы можете вместо "minecraft:dirt" написать любой другой блок)
2. /execute positioned 50 71 7 unless block ~ ~-0.35 ~ air run particle minecraft:happy_villager ~ ~1 ~ (Если Вам нужно, чтобы под Вашим блоком был любой блок, кроме воздуха, то Вам подоёдт эта команда. Снова же, вместо координат "50 71 7" Вы должны вставить свои координаты блока.)