How to make block have a fifferent animation if another block is above it?

the way i have it


never even tries to change it to dirt, which is where im getting stuck.
edit:
here is demo
ezgif-1-a800b5e0aa

edit2:


i have these events using an extention from here, only works on first instance still ):