
This project is frozen. While building it, I realised it was going the wrong way. Chatting with colonists through a language model turned out less fun than actually playing with them: the notebook, friendship, gifts, birthdays, holidays, letters. That is what I wanted from the start. So I'm working on a new mod built around that: the colony's social life plus a panel in the town hall to run the colony from one place, with AI only as an optional add-on later. 0.7.0 is the last version of this one for now, and it plays without an API key too. There will be an update later, when the new mod is ready.
Living Colonists is a NeoForge addon for MineColonies. Colonists talk in text chat almost like other players. The words come from a language model behind any OpenAI-compatible API (DeepSeek, OpenRouter, Gemini, a local model…), and what they know comes from the game itself.
Frozen at 0.7.0. Everything below works and is played on our home server. Read the changelog before updating and keep a backup of your world.
A language model is optional. With your own API key (DeepSeek, OpenRouter, Gemini and others, paid by use) or a local model, colonists talk in free chat. Without one they still greet you, react in set lines and talk to you through a menu.
Example
You walk into the colony, and two colonists are already arguing in chat:
<John Brown> flour for two more days. Is anyone actually working the fields?
<Clodagh Bennett> John, look at yourself, the oven's been cold for three days
Look at the baker and press U, and what you type goes to him. Ask what the oven needs, and he answers from what's in his storage and what he remembers about you. Ask a courier to bring coal to the bakery: he asks you to confirm, walks to the warehouse and carries it over. Later the baker writes to you himself: "You promised firewood. Where's the firewood?"
Features
- Plays without an API key: U at a colonist opens a talk menu (how are you, how's work, what do you like, birthday, a compliment), colonists say things in passing in speech bubbles, set lines come in four voices, and a talk a day builds friendship.
- Talk to the whole colony with Y or to one colonist with U (both remappable). Names and professions are understood in any language and grammatical case: a question about food goes to the cook, one about buildings to the builder.
- Colonists know what MineColonies knows: job, home, hunger, health, happiness and its reasons, what their workplace waits for, raids, weather, family and coworkers. They see what you hold and wear, and whether you look hurt.
- Look-ups and orders go through the colony's own systems. Ask about stock, needs, construction, research or who is unhappy. Order a building or an upgrade, a craft, a job change, armed guards, a planted field, a sorted warehouse; couriers fetch and deliver, guards escort and patrol. Mail and reminders too: "tell Alex the bread is ready". Orders come only from owners and officers and wait for your Yes.
- Memory: recent talks and long-term facts ("Alex promised to build me a house"), promises with deadlines, and a short life story every game week. Kept with the world.
- They write first: about a real problem, something you told them, news or small talk. Only while someone is in the colony, so an empty server costs nothing.
- The colony has a mood: panic in a raid, mourning after a death, joy at a birth, gloom when people go hungry. You hear it in how everyone talks.
- Relations between colonists change by themselves: coworkers become friends, two grumpy housemates fall out. Talks are mostly ordinary chat, sometimes gossip or an argument, and once in a while someone drops a catchphrase.
- Friendship, Stardew Valley style. Gift tastes depend on the job and character, and everyone has one odd favourite. Two gifts a week count. Colonists go from hardly knowing you to best friend and tell you when you get closer; a friendship cools if you stay away.
- A colony calendar with birthdays and eight holidays. A day only passes when someone actually plays in the colony, so a server running 24/7 doesn't use them up.
- Friends help out. Now and then a friend leaves a note with a small gift in your notebook. Get badly hurt in the colony and a friend nearby helps by their job: the healer heals you, the cook hands over food, a guard goes for the attacker, the builder puts up a quick wall. Colonists who like you walk faster and learn faster; one with a grudge drags their feet. All of it can be turned off.
- How you treat colonists shows in their MineColonies happiness.
- The Colony Notebook: your promises, letters with gifts, how each colonist feels about you and what gifts they like, your orders with undo, the colony's date and mood, settings and help. A colonist hands it to you with your first real promise.
- A colonist brought back by the undertaker remembers dying. Mourning colonists know who they mourn.
- Speech bubbles with typing dots, shader packs are fine. You can keep colony talk as bubbles only.
- Settings screen with usage statistics,
/lcdebug for operators. Operators can switch the mod off for the server, a colony owner for their colony.
- English and Russian included. Colonists answer in the language you write in.
Requirements
- Minecraft 1.21.1, NeoForge 21.1.264 or newer.
- MineColonies 1.1.1405 or newer 1.1.x (checked on 1.1.1405 to 1.1.1407).
- Needed on the server and every client, same mod version on both (0.7.0 changed the network messages again).
- An API key for an OpenAI-compatible provider, or a local model.
Setup
- Put the jar into mods on the server and every client.
- As an operator, open the settings screen (from the mod list or the settings key, unbound by default), press a preset (DeepSeek, OpenRouter or Ollama) and enter your API key. Server owners can use the LIVINGCOLONISTS_API_KEY environment variable instead (LIVINGCOLONISTS_EMBEDDINGS_API_KEY for embeddings). The key stays on the server and is never shown or sent to players.
- Optional: an embeddings key (OpenRouter, baai/bge-m3 by default) for recall by meaning, and a fallback API in case the main one fails.
In game, /lc help sums up the keys and what you can ask.
Developed and tested for deepseek-flash and bge-m3 - they show the best results with cheap price. You can test it with another models (free or local) and send me an issue - I'll add a preset.
What it costs
The mod is free; you pay your model provider. On our server, two players, four colonists and the most talkative profile used about 1 million input and 240 thousand output tokens in 3.5 hours with DeepSeek's flash model, a third of the input cached: 7 to 17 US cents in total. Embeddings added less than a hundredth of a cent. Quieter profiles cost much less, and the [limits] section caps messages per player and tokens per day.
Privacy
What players write to colonists, and what colonists know about the colony, goes to the model provider you configure, as with any AI chat. Pick a provider whose terms you accept, or a local model. Nothing is sent anywhere else.
Compatibility notes
- If a newer MineColonies changes something the mod reads, that part is skipped instead of crashing. Please report it.
- Developed on a pack of about 320 mods.
- Packs can change chat topics, gift tastes, holidays, letters, help in trouble, catchphrases and the mechanics handbook in
config/livingcolonists/content/.
Credits
- MineColonies by LDT Team, the colony simulator this is an addon for.
- Colonist Errands by Lovkar (GPL-3.0-or-later), the main code donor for errands, perception, promises and relations.
- Talking Colonists by sshcrack: ideas only (unprompted lines, rumours, escalating complaints).
- ColonyChat: ideas and lessons learned.
Designed, tested and maintained by JerTheFox. I don't write code myself mostly (I'm sysadmin, not a Java developer): Claude writes it following my design, I fix things by hand when needed, and every build is played on our home server before it's released.
P.S. The first drafts of description was also written by AI, but I decringed it and edited it myself.
Links