Row 1
1. [impulse] /summon minecraft:mannequin ~ ~ ~ {Tags:["NPC"],data:{text:"none"}}
Row 2
2. [repeat] /execute as @e[tag=NPC] at @s unless entity @e[type=minecraft:interaction,distance=..1,sort=nearest] run summon minecraft:interaction ~ ~ ~ {height:2f,Tags:["NPCInteraction"]}
3. [chain] /execute as @e[tag=NPCInteraction] at @s if entity @e[tag=NPC,sort=nearest,limit=1,distance=1..1.1] run kill @s
4. [chain] /execute as @e[tag=NPC] at @s facing entity @p[distance=..10] feet run tp @s ~ ~ ~ ~ ~
Row 3
5. [repeat] /execute as @e[tag=NPC,nbt={data:{text:"none"}}] at @s unless entity @e[type=minecraft:text_display,distance=..2,sort=nearest] run summon minecraft:text_display ~ ~2 ~ {Tags:["NPCText"],text:[{"atlas":"minecraft:gui","sprite":"social_interactions/mute_button"},"\n[",{"atlas":"minecraft:gui","sprite":"toast/mouse"},"YES] [",{"atlas":"minecraft:gui","sprite":"toast/right_click"},"NO]"]}
6. [chain] /execute as @e[tag=del] at @s run scoreboard players add @s timer 1
7. [chain] /execute as @e[tag=del] at @s if score @s timer matches 100.. run data modify entity @e[tag=NPC,distance=..3,limit=1] data.text set value "none"
8. [chain] /execute as @e[tag=del] at @s if score @s timer matches 100.. run kill @s
9. [chain] /execute as @e[tag=NPCText] at @s facing entity @p[distance=..10] eyes run tp @s ~ ~ ~ ~ ~
10. [chain] /execute as @e[tag=NPCText] at @s if entity @e[tag=NPC,distance=3..3.1] run kill @s
Row 4
11. [repeat] /execute as @e[type=interaction,tag=NPCInteraction] at @s if entity @e[tag=NPC,nbt={data:{text:"none"}},distance=..1] on attacker run data modify entity @e[tag=NPCText,distance=..3,limit=1] text set value ["Do you like Minecraft?\n[",{"atlas":"minecraft:gui","sprite":"toast/mouse"},"YES] [",{"atlas":"minecraft:gui","sprite":"toast/right_click"},"NO]"]
12. [chain] /execute as @e[type=interaction,tag=NPCInteraction] at @s if entity @e[tag=NPC,nbt={data:{text:"none"}},distance=..1] on attacker run data modify entity @e[tag=NPC,nbt={data:{text:"none"}},distance=..3,limit=1] data.text set value "minecraft"
13. [chain conditional] /execute as @e[type=interaction,tag=NPCInteraction] run data remove entity @s attack
14. [chain] /execute as @e[type=interaction,tag=NPCInteraction] at @s if entity @e[tag=NPC,nbt={data:{text:"minecraft"}},distance=..1] on attacker run data merge entity @e[tag=NPCText,distance=..3,limit=1] {Tags:["NPCText","del"],text:["ME TOO!\n"]}
15. [chain] /execute as @e[type=interaction,tag=NPCInteraction] at @s if entity @e[tag=NPC,nbt={data:{text:"minecraft"}},distance=..1] on attacker at @s run give @p diamond
16. [chain conditional] /execute as @e[type=interaction,tag=NPCInteraction] run data remove entity @s attack
17. [chain] /execute as @e[type=interaction,tag=NPCInteraction] at @s if entity @e[tag=NPC,nbt={data:{text:"minecraft"}},distance=..1] on target run data modify entity @e[tag=NPCText,distance=..3,limit=1] text set value ["WHAT! Don't you LOVE me?\n[",{"atlas":"minecraft:gui","sprite":"toast/mouse"},"OF COURSE I LOVE YOU] [",{"atlas":"minecraft:gui","sprite":"toast/right_click"},"GET LOST]"]
18. [chain] /execute as @e[type=interaction,tag=NPCInteraction] at @s if entity @e[tag=NPC,nbt={data:{text:"minecraft"}},distance=..1] on target run data modify entity @e[tag=NPC,nbt={data:{text:"minecraft"}},distance=..3,limit=1] data.text set value "love"
19. [chain conditional] /execute as @e[type=interaction,tag=NPCInteraction] run data remove entity @s interaction
20. [chain] /execute as @e[type=interaction,tag=NPCInteraction] at @s if entity @e[tag=NPC,nbt={data:{text:"love"}},distance=..1] on attacker run data merge entity @e[tag=NPCText,distance=..3,limit=1] {Tags:["NPCText","del"],text:["Oh...\n"]}
21. [chain conditional] /execute as @e[type=interaction,tag=NPCInteraction] run data remove entity @s attack
22. [chain] /execute as @e[type=interaction,tag=NPCInteraction] at @s if entity @e[tag=NPC,nbt={data:{text:"love"}},distance=..1] on target run data merge entity @e[tag=NPCText,distance=..3,limit=1] {Tags:["NPCText","del"],text:["GO AWAY MEANIE!\n"]}
23. [chain] /execute as @e[type=interaction,tag=NPCInteraction] at @s if entity @e[tag=NPC,nbt={data:{text:"love"}},distance=..1] on target run tp @p[distance=..10] ~ ~10 ~
24. [chain conditional] /execute as @e[type=interaction,tag=NPCInteraction] run data remove entity @s interaction