Description
Idle Chatter
Villagers and pillagers now talk. Every so often a mob in front of you says something in a small pixel-art speech bubble above its head, then the bubble fades and it goes quiet again. It adds no items, blocks or mobs and doesn't change how anything plays.
What it does
Each villager or pillager in view speaks roughly once every 20 to 30 seconds, and a busy village is capped so you never get a wall of bubbles. Mobs also react when they are hurt, and pillagers shout something when they come after you. Long lines are split across several bubbles in turn rather than one huge one. Villagers talk according to their job, so a farmer, a librarian and a nitwit don't say the same things, and villagers without a job aren't trying to sell you anything. The bubbles face the camera, sit above the mob's head, use the normal Minecraft font, and are hidden by walls like anything else in the world.
Changing what they say
All the dialogue is plain JSON rather than baked into the mod, so you can change it with a data pack or a resource pack and add lines for other mobs, including modded ones. In a data pack, put a file at data/<anything>/dialogue/yourfile.json:
{
"minecraft:villager": {
"random": ["Lovely weather.", ["This is one bubble,", "and this is the next."]],
"hurt": ["Ow!"]
},
"minecraft:villager[profession=farmer]": {
"random": ["The crops won't tend themselves."]
},
"minecraft:pillager": {
"target": ["Hold still."]
}
}
The three conditions are random, hurt and target. A plain string is one bubble and a list of strings is several in a row. The square brackets after a mob name are a selector, which currently understands profession, level and baby, so profession!=none|nitwit means every villager with a job. Your lines are added to the built-in ones, unless you put "replace": true at the top of the file, in which case only yours are used. Unknown mobs and conditions are ignored, so a pack can safely include mods the player hasn't installed. The same format works in a resource pack under assets/<anything>/dialogue/, and F3 + T reloads it.
Configuration
config/idlechatter-client.toml controls how often mobs talk, their cooldowns, how many bubbles can be on screen, how long they last, text wrapping, bubble size and height, and how far away bubbles show.
Client and server
With the mod on the client only, idle chatter works on any server, including ones without the mod, using the built-in dialogue or your resource packs. Installing it on the server as well adds the hurt and targeting reactions, and dialogue from data packs, which the server sends to players when they join. On a server alone it does nothing visible, because the bubbles are drawn on the client. Only mobs that are currently speaking are tracked, so it stays light.
Notes
Villagers and pillagers are the only mobs with dialogue out of the box, so anything else needs a pack. A couple of the default villager lines are mildly sweary, which you can replace with a data pack if that's a problem. The text is plain, with no translation support yet. A bubble is drawn along with its mob, so if the mob's body is off screen its bubble disappears too, even if the bubble itself would still be in view.
Future Updates Planned
- Customizable speech bubble colors, shapes, sizes and fonts
- Emoji support!
- Compatibility with Illager Blabber








