Inicialmente vamos criar um scoreboard para servir de temporizador para o comando tellraw que vamos executar
Segue o comando de criação do scoreboard abaixo
scoreboard objectives add mob_detection dummy
Após isso, coloque 4 blocos de comandos enfileirados e também na mesma direção
Sendo o primeiro como bloco de comando Repeat e os posteriores como bloco de comando Chain
Coloque todos como Always Active (Sempre Ativo)
E coloque todos blocos de comando Chain como Conditional (Condicional)
Seguem os comandos abaixo, começando pelo bloco de comando Repeat e indo até o último bloco de comando Chain
scoreboard players add timer mob_detection 1
execute if score timer mob_detection matches 20..
execute as @a at @s at @e[type=pig,distance=0..5] run tellraw @s {"text":"Tem um porco por perto!","color":"green"}
scoreboard players set timer mob_detection 0
A ideia é criar um temporizador que adicione 1 de pontuação no scoreboard a cada tick do Minecraft
A cada 20 ticks do Minecraft, temos 1 segundo, a cada 40 ticks temos 2 segundos, 60 = 3 segundos...
Sendo assim, quando passarmos de 20 ticks no segundo comando, os 2 últimos comandos serão executados
1 para detectar se tem um porco próximo a uma distância de 5 blocos de nós e notificar pelo comando tellraw
E o último para zerar a pontuação no scoreboard e dessa forma criamos um loop