Bryheim-Kvist icon

Kvist

Kvist, a friendly greydwarf who lives in a nest at your base: sorts chests by label, runs smelters and kilns, refuels fires, farms crops and tends animals. Beta.

Last updated 8 hours ago
Total downloads 150
Total rating 3 
Categories Utility NPCs AI Generated
Dependency string Bryheim-Kvist-0.4.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2351 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2351
ValheimModding-Jotunn-2.30.2 icon
ValheimModding-Jotunn

Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.

Preferred version: 2.30.2

README

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 and looks after your animals.

Beta. Single-player is well tested; multiplayer is designed for but less tested. Back up your world before trying it on a server.

Getting started

  1. Build a workbench, then Kvist's Nest from the hammer menu (Misc): 3 Ancient Seeds.
  2. Kvist appears beside it. The nest is also a 10×5 chest.
  3. 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.
  4. Hover the nest and press L to switch Kvist's job: Sorting → Smelting → Upkeep → Farming → Animal Husbandry → Custom (Shift+L goes back). Press K on the nest to set the priority of each task in that job, or switch tasks off.
  5. Look at Kvist to see his job and what he's carrying; press E to pet him, Shift+E to rename him (handy with more than one). Every Kvist also shows on the map, named after his job. The nest shows today's tally, and tells you if something is stopping him.

Kvist works within 50 m of his nest. He runs, opens and closes doors on his way (only doors he opened), teleports beside anything he can't get to (or home, if he gets trapped), and as a last resort reaches over a fence from where he stands. He never touches chests a player has open. He is immune to fire and poison.

Jobs

Sorting

Put anything in the nest. Kvist carries up to 10 stacks per trip to the nearest chest with the right label.

  • Auto chests: an empty chest labelled Auto is claimed for the first category that needs a home.
  • No chest for something? It waits in the nest, and the nest tells you which label is missing. (Optional: turn on UseAreaFallback to let him use another chest in the same area instead.)
  • Incoming Loot: anything uncategorised waits in the nest until you label a chest Incoming Loot.

Categories: Valuables & Boss Items · Trophies · Weapons & Ammo · Armour & Accessories · Tools · Cooked Food & Meads · Cooking & Mead Ingredients · Farming · Raw Food · Wood · Stone & Minerals · Building Extras · Ore & Coal · Metals & Parts · Creature Materials · Incoming Loot.

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: kilns get plain Wood only when a furnace has ore to smelt and no coal is left anywhere. Fine Wood and Core Wood are never burned.
  • Bars, Eitr and charcoal are picked up and put away.

Upkeep

  • Refuels hearths, campfires, torches, braziers, sconces and hot tubs with their own fuel. Fires you switched off are left alone.
  • 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

  • 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.
  • 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 (at their feet, over the fence if need be). 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: culled back to 6 once above 8); young, named and saddled animals are never touched. 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.

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 120 seconds, keeping his name. 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, 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_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 two doors in a row (an airlock) is reached by teleporting, or skipped with TeleportWhenStuck off.
  • 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).