Graveyard Keeper 2
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
2 days ago
Downloads
42
Size
89KB

Craft To-Do

A crafting to-do list for Graveyard Keeper 2. Pick a recipe or a building and how many you want. A small panel stays on screen with everything you still need, as a tree: ingredients you can craft yourself expand into their own recipes. The panel counts your progress until you're done.

The panel uses the game's own windows, fonts, buttons and item cells, so it looks like part of the game.

Features

  • Everything you can make: recipes grouped by workbench, build-mode buildings (including barricades and towers), town buildings, and plot repairs (bridges, ladders, doors, ...). Only what you have unlocked and can still do is listed: a repaired bridge, a built town building, or a limited building that's at its limit drops off the list.
  • Search by recipe, workbench or ingredient name.
  • Ingredient tree with have/need counts for each ingredient:
    • Counts include your inventory and the storage in your current area. When part of an ingredient is in storage, a line says how many of them you carry.
    • Take from chests takes what the tree needs out of the storage in your current area and puts it on the ground close around you, each stack at its own free spot you can reach (not behind a wall, a fence or a chest), ready to pick up. If there is no free ground left, the rest stays in the chests and you are told. Fuel, tech points and bodies stay where they are. Items already lying near you count as taken, so a second click doesn't empty the chests. A row shows how many of its item lie on the ground near you, since the game's crafting and the have/need counts only look at your inventory and storage.
    • A craftable ingredient shows how many crafts you need and where to make them, and expands into its own ingredients.
    • When several recipes make the same item, ◀ ▶ switch between them.
    • Right-click an ingredient's icon to mark it "Have it elsewhere": stock in another area, or something you'll bring later, that the counts can't see. It counts as done, doesn't expand, and Take from chests skips it. Right-click again to undo.
  • Progress tracking: finished crafts and placed buildings count automatically. The to-do clears itself when the target is reached, and the game shows a notification.
  • Panel options:
    • Drag the panel by its header. Drop it near a screen edge and it docks there.
    • While nothing is tracked, ▲ rolls the panel up into a small [+] To-Do bar.
    • A long tree scrolls with the mouse wheel.
    • F8 hides and shows the panel. Tracking carries on while it is hidden.
    • The panel hides itself during cutscenes, as the game's own HUD does, and returns when they end.
  • Gamepad support: put the focus on the panel with LB + RB, move with the D-pad or the left stick, and use the picker without touching the mouse. The buttons are listed on screen while you use it. See Gamepad.
  • Your language: all the text follows the game's language setting, and switching it updates the panel at once. Translated: English, German, French, Spanish, Brazilian Portuguese, Polish, Russian, Turkish, Japanese, Korean and Simplified Chinese. Item and recipe names come from the game itself.

Requirements

  • Graveyard Keeper 2 (PC, Steam).
  • BepInEx 5, x64, version 5.4.23 or newer (tested with 5.4.23.5).

Installation

With a mod manager (r2modman, Thunderstore Mod Manager or Vortex): install Craft To-Do from the manager. On Thunderstore, BepInEx is installed for you as a dependency.

Manually:

  1. Install BepInEx 5 x64 into the game folder, then start the game once and close it.
  2. Extract the Craft To-Do zip into the game folder. You should end up with Graveyard Keeper 2\BepInEx\plugins\CraftTodo\CraftTodo.dll.

How to use

  1. Load a save. The Craft To-Do panel appears on the right.
  2. Click Add (or + on the rolled-up bar) to open the recipe list.
  3. Pick a recipe and set the count:
    • Hold − or + to repeat; hold Shift to step by 10.
    • Confirm with Add, Enter, or a double-click on the recipe.
  4. Craft away. Click an ingredient's arrow to expand or collapse it. The X on the panel clears the to-do.

Gamepad

The panel and the picker work with a gamepad. While the mod has the gamepad, the game gets no input from it, so your character stays put. The buttons are shown along the bottom of the screen, with the game's own icons.

The panel. Press LB + RB together while no game window is open. A gold frame shows the focus. Press LB + RB again, or B, to leave.

Button Does
D-pad, left stick Move between rows and buttons
A Expand or collapse the row (or press the button)
◀ ▶ Switch the recipe of a row that has several
RB Mark the ingredient "Have it elsewhere" (again to undo)
X Take from chests
Y Open the picker
B Leave the panel

The picker. It opens with the focus on it when your last input came from the gamepad. The recipe in focus is the one selected.

Button Does
D-pad, left stick Move between recipes
LB / RB Previous / next workbench
LT / RT (hold) Lower / raise the count
A Add to the to-do
B Close

Typing in the search box is for the keyboard. Touching the mouse or keyboard gives the focus back to the game.

Settings

The settings file is BepInEx\config\com.nalm.gk2.crafttodo.cfg:

Setting What it does
Panel.X, Panel.Y Where the panel sits. Set both to their defaults (-1 and 1) to reset the position.
Panel.Collapsed Whether the empty panel is rolled up.
Hotkeys.TogglePanel The key that hides and shows the panel (F8 by default). Set it to None to turn it off.
Notifications.TodoComplete Show the game's notification when the to-do is complete (on by default).
Controller.Enabled Gamepad support. Turn it off and the mod ignores the gamepad.
Controller.Chord The buttons that put the gamepad on the panel (LB+RB by default). Names: A, B, X, Y, LB, RB, LT, RT, Back, Start, LStick, RStick, DUp, DDown, DLeft, DRight, joined with +. Empty turns it off.
Todo.<save slot>.* The to-do of each save slot (Todo.Steam_1, ...), managed by the mod.
Debug.DumpUi Writes a UI layout dump for troubleshooting. Off by default.

The to-dos live in this settings file, not in your saves, and removing the mod never touches a save. Each save slot has its own, with its progress, collapsed rows, recipe choices and "Have it elsewhere" marks, so loading another save shows that save's list. A new game starts with an empty one. The panel's position is the same for all saves. The to-do of a deleted save stays in the file until you remove its Todo.<slot> section.

Compatibility

  • The mod adds a panel and reads game data. The one thing it changes is what you ask for: the Take from chests button moves items from storage onto the ground around you, the same as dropping them yourself. Nothing else touches your items or saves.
  • Gamepad support is new and was written against the game's own button bindings. If a button does nothing or the wrong thing, the log (BepInEx\LogOutput.log) has Gamepad: lines from Craft To-Do; include them in your report. Controller.Enabled turns it off.
  • It tracks one to-do at a time in each save.
  • A game update can break it. After one, the log (BepInEx\LogOutput.log) has a Compatibility check: line from Craft To-Do that says what no longer matches. If something is off, include that line and any errors from Craft To-Do in your report. The mod still loads with whatever hooks still work.

Translations

The panel's own text is in Strings.cs, one block per language. The translations haven't been reviewed by native speakers, so corrections are welcome. To add a language (for example one from a community language pack), copy the en block, translate the values, keep the {0} / {1} placeholders, and add it under the game's language id. A language without a block shows English.

Uninstalling

Delete the BepInEx\plugins\CraftTodo folder, and optionally BepInEx\config\com.nalm.gk2.crafttodo.cfg.

Building from source

You need the .NET 8 SDK and a copy of the game with BepInEx installed.

  • dotnet build -c Release builds the mod and copies it into the game's BepInEx\plugins\CraftTodo. The game path is set in Directory.Build.props; override it with -p:GameDir="<path to Graveyard Keeper 2>". Add -p:NoDeploy=true to build without copying.
  • dotnet build -c Release -t:Package also writes the release zips to dist\:
    • CraftTodo-<version>.zip is for manual installs, Nexus Mods and GitHub.
    • CraftTodo-<version>-thunderstore.zip is for Thunderstore.

The mod links against the game's DLLs at build time but contains no game code or art.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.