Kvist
A friendly greydwarf for your base: sorts and tidies chests by label, runs smelters, refuels fires, farms, forages, fells trees, mines, tends animals and crafts what you order. Bugs and ideas: post on its Nexus page. Beta.Kvist
Build Kvist's Nest and a friendly greydwarf named Kvist moves in. He keeps your base in order: he sorts what you drop in the nest into labelled chests, keeps your smelters, kilns and eitr refineries running, refuels your fires, farms your crops, looks after your animals, crafts, bakes and brews what you order, and fells and replants trees, mines stone and ore, and fishes.
Beta. Single-player is well tested; multiplayer is designed for but less tested. Back up your world before trying it on a server.
Found a bug or have an idea? Tell me on the Nexus page (Posts or Bugs tab). Thunderstore has no comments, so that's where I read them.
Getting started
- Build a workbench, then Kvist's Nest from the hammer menu (Misc): 3 Ancient Seeds.
- Kvist appears beside it. The nest is also a 10×5 chest.
- Hover a chest and press L to give it a label. On a chest that already holds items, the first press labels it after its contents. Shift+L cycles backwards. Unlabelled chests are never touched.
- Hover the nest and press L to switch Kvist's job: Sorting → Smelting → Upkeep → Farming → Animal Husbandry → Custom → Crafting → Forestry → Mining → Fishing → Trenching (Shift+L goes back, or use the arrows beside the title in the K window). Press K on the nest to set the priority of each task in that job, or switch tasks off. The K window also sets the nest's range (10 to 100 m, 50 by default) and its Show range button draws it on the ground.
- Look at Kvist to see his job and what he's carrying; press E to pet him. Rename him with the Rename button in his nest's K window (handy with more than one). The K window's Look button changes how he looks: greydwarf, shaman, brute, greyling, or a frost greydwarf or frost shaman (Deep North). Every Kvist also shows on the map, named after his job. The nest shows today's tally, tells you if something is stopping him, and lists anything he couldn't reach today, so you can tidy it up.
With nothing to do in his job, Kvist tidies up and sorts (the K window's Idle button switches that off).
Kvist works within 50 m of his nest by default (set each nest's range in the K window). He runs, opens and closes doors on his way (only doors he opened), teleports beside anything he can't walk to (or home, if he gets trapped), and if there's nowhere to land beside it, uses it from where he stands. A cellar down a spiral stair, a hen in a raised cage or a light on a roof all get seen to, and he gets himself out if he falls into water. If he ever gets lost, the K window's Call home button brings him back. Want something from your chests? The K window's Bring me button sends him to fetch it and put it in your inventory. He never touches chests a player has open. He is immune to fire and poison, has three times a greydwarf's health, and fights back (three times as hard) against anything that attacks him.
Jobs
Sorting
Put anything in the nest. Kvist carries up to 10 stacks per trip to a chest with the right label: the one already holding that item, unless another of that label is much nearer.
-
Tidy up: loose items lying around within range are picked up and put away (priority 3).
-
Re-sort chests: anything in the wrong labelled chest is moved to its own, and part-stacks of the same item are merged (priority 4).
-
Auto chests: an empty chest labelled Auto is claimed for the first category that needs a home.
-
Strict stacking (off by default, per nest in the K window): an item only goes in a chest that already holds it, or an empty chest of its label; never one holding other things.
-
Sort me chests: everything in a chest labelled Sort me goes to its own chests, as from the nest. A drop chest by the door or the portal.
-
No chest for something? It waits in the nest, and the nest tells you which label is missing. (Optional: turn on
UseAreaFallbackto let him use another chest in the same area instead.) -
Not in any category? It stays in the nest, and the nest names it; add it to categories.yaml to give it a chest.
Categories: Valuables & Boss Items · Trophies · Weapons & Ammo · Armour & Accessories · Tools · Cooked Food · Meads · Cooking & Mead Ingredients · Farming · Raw Food · Fishing · Wood · Stone & Minerals · Building Extras · Ore & Coal · Metals & Parts · Creature Materials · Work Orders.
Smelting
Kvist runs every smelter, blast furnace, charcoal kiln and eitr refinery in range:
- Fuel first (Coal, Sap), then ore, scrap or Soft Tissue, taken from the nest or the matching chests.
- Coal is made on demand, and stockpiled: kilns get plain Wood when a furnace has ore to smelt and no coal is left, and otherwise until your chests hold the nest's coal stock (100 unless set in the K window), from wood above a reserve of 100. Fine Wood and Core Wood are never burned.
- Coal is fetched a stack at a time and kept in hand while a furnace has work.
- Bars, Eitr and charcoal are picked up and put away. He takes them to their chest once he carries 5.
Upkeep
- Keeps shield generators full of fuel.
- Repairs damaged pieces players built (a hammer's repair), when nothing else is waiting (priority 4 by default).
- Deep North: shovels the snow off your pieces before it does heavy-snow damage, breaks up snow piles in and on your buildings, and clears the ground within 2 m of them.
- Refuels hearths, campfires, torches, braziers, sconces and hot tubs with their own fuel. Fires you switched off are left alone.
- Takes finished food off cooking stations and out of ovens before it burns, and leaves it beside them for you.
- Keeps ovens in wood.
- Empties beehives and sap collectors and stores the honey and sap.
- Picks up feathers, and chicken eggs once the flock is full (while it is small, eggs are left alone to hatch).
Farming
- Forages wild food plants within range (mushrooms, berries, lingonberries, smoke puffs, dandelions, thistles, fiddleheads, and any other wild plant whose pick is food, except what you can plant) and flint lying on the ground, up to a limit per item you set in the K window (Farming mode), 500 by default.
- Harvests ripe crops on cultivated soil and stores them.
- Plants every empty patch of cultivated soil, sharing it evenly between crops, only where they'll grow (vines only by a wall or fence), until your chests hold each crop's limit (1000 unless you set it per crop in the K window).
- When a crop runs out of seeds, plants the vegetable as a seed plant so the farm makes its own seed again.
- Runs windmills and spinning wheels: barley and flax above the planting reserve go in, flour and linen thread are put away.
Animal Husbandry
- Feeds hungry tames from your chests, straight into the animal, so caged and penned animals get fed too. Seeds first when there are enough for the group, then foods that aren't crops, taking turns; planting seed is only fed above a reserve.
- Butchering is off until you pick a species: look at one of your animals and press Shift+L. That species is kept down to its 2 best-starred breeders (hens: kept to 4); young, named and saddled animals are never butchered (named ones and mounts are still fed, and count toward the breeders kept). Pelts and meat are put away.
Custom
Every task from every job in one list (press K on the nest): pick what he does and in what order, for example fires and the hot tub first, then the farm, never feathers.
Crafting (work orders)
Up to five orders at a time: look at the nest in Crafting mode, press K, pick a slot, search (any words, any order) for anything the benches, ovens and fermenters around the nest can make, set how many, Make once or Keep stocked (on trial: he tops it up whenever you have fewer), and press Order. Kvist fetches the ingredients from your chests, crafts at a bench upgraded enough for it, bakes in the oven and fills and taps fermenters, following whole chains (lox pie: preparation table, then oven; mead: cauldron, fermenter, tap). What he makes goes to a chest labelled Work Orders, and each order is done when it reaches its number. Gear is made new at level 1, never upgraded.
Build kits: search for a crafting station, station upgrade or production building (forge, forge cooler, blast furnace, smelter, kiln, windmill, fermenter, beehive...), shown as "Forge (build kit)", and order as many as you like. Kvist brings the materials from your chests to the Work Orders chest; anything not in stock is named on the nest, and he brings it when it turns up.
Forestry
Within 100 m of the nest (TreeRadius), on ground at least 10 m clear of anything players built:
- Felling: fells grown trees, wild ones too, while any wood they give is below its limit in your chests (500 unless you set each wood in the K window), splits the logs and gathers the wood. Stumps are broken up too, for their wood and the room to replant.
- Planting trees: plants 3 saplings for each tree he fells (
SaplingsPerTree), close together beside the young trees already growing, keeping 10 of each seed back (TreeSeedReserve). If he falls two trees behind, he stops felling until they're planted. With felling off he plants wherever there's room. - Trees outside your walls: he teleports out to them, and home again afterwards.
- Seeds and cones the trees drop are gathered too, for replanting. Resin (off by default) gathers their resin as well.
Mining
Within 100 m of the nest (MineRadius), Kvist mines rocks and ore veins (stone, flint, copper, tin, iron, silver, obsidian, black marble, grausten, flametal) while anything they give is below its limit in your chests: 500 unless you set each material in the K window (Mining mode). Iron and copper each count as one, in any form.
- Untouched deposits are broken open, veins mined piece by piece, and buried ones (silver, muddy scrap piles) dug down to as a pickaxe does, never within 5 m of anything built.
- Each stack of 30 ore is taken home before he carries on.
- Loose stone lying about is picked up too.
- He teleports to pieces he can't walk to, and stands in lava unharmed (with a protection bubble while he's in it).
- A giant's skull is broken open to get at the Soft Tissue inside, even with Black Marble at 0.
- Monster spawners, nests, graves and Ashlands fortress walls are never mined.
Fishing
Within the nest's range, Kvist fishes the fish swimming there, as a player does: to the shore by one, a cast with a rod in his hand, a player's wait, then it's landed or gets away. One bait per cast from your chests, the fish's own bait first, else any bait, at that fish's odds. He stops once your chests hold your limit of fish, all kinds together (K window, Fishing mode; 200 unless set). With no fish in sight he fishes the nearest water anyway, at half the pace, for that biome's fish. Caught fish, bait and rods go to a chest labelled Fishing.
Trenching (on trial)
Kvist works out the size of your base (every building joined to the nest by gaps under 10 m) and digs a trench round it, 2 m wide and two walls (4 m) deep, as far out from the outermost building as you set in the K window (10 to 120 m, 24 m unless set). He clears trees, stumps, boulders and ruins off the line first and picks up what the digging leaves. The trench task starts off: switching it on shows the planned ring as glowing posts so you can check where it goes (blue where it runs into the sea, which he leaves as the moat). The nest shows how much is dug.
How he chooses
Kvist weighs every job he could do against the walk to it: big jobs and near jobs first, urgent ones (a furnace or fire out of fuel, hungry animals) sooner, and he works the area he's in until his hands are full before carrying it all to the chests. He takes what his next job needs from a chest he's delivering to, and remembers where he could reach things from. Task priorities (K on the nest) come first: all priority-1 work before priority 2, and so on. When there's nothing to do he empties his hands, so nothing is kept from you. Set SmartPriorities = false for the simpler fixed order of 0.2 (modes whose priorities you've edited still follow them).
If Kvist dies
He drops what he was carrying and returns to the nest after 30 seconds, keeping his name, then goes back for what he dropped. While monsters are near the nest he waits until they're gone. Removing the nest sends him away (he drops his load first).
Configuration
BepInEx/config/com.ryan.greydwarfsorter.cfg: work radius, carry size, respawn time, running, smart priorities, teleporting when stuck, reach distance, map markers, labels in item tooltips, label and tasks keys, nest sound, and the [Animals] settings (Butchering, Breeders, ChickenFlock, ChickenCullAbove, SeedReserve). On a server running the mod, the server's values apply.
Categories live in BepInEx/config/GreydwarfSorter/categories.yaml: rename, reorder or move items between categories. * works as a wildcard.
Console commands
| Command | |
|---|---|
gs_debug |
Label over Kvist showing his job, target and what he carries |
gs_classify <item> |
Which category an item sorts into |
gs_classify_all |
Reload categories.yaml and write every item's category to classified.csv |
gs_dumpitems |
Write every item to items.csv |
gs_fires |
Fires near you and whether Kvist fuels them, or why not |
gs_soil |
What stops crops being planted in the tilled soil around you |
gs_breed |
Why the tames around you aren't breeding (hungry, crowded, no partner...) |
| gs_drops <creature> | What a creature drops, the chance at 0, 1 and 2 stars, and where your game's rare-drop countdown stands |
| gs_fillcarry, gs_killkvist, gs_stress | Testing (need devcommands) |
Multiplayer
Works on servers that don't run the mod. If the server does run it, every player needs it. Players without the mod won't see the nest or Kvist.
Known limits
- Players can't hurt Kvist unless PvP is on (the game protects tamed creatures).
- A target behind three or more doors in a row is reached by teleporting, or skipped with
TeleportWhenStuckoff. - Kvist only works while someone is near enough for his area to be loaded.
- On a dedicated server, the map only shows Kvists near players.
Feedback
Bugs, ideas and questions: post on the Nexus page (Posts or Bugs tab).
