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
88KB

Craft To-Do

Never get sidetracked. Pick a recipe or building and a count. A panel in the game's own style stays on screen with everything you still need, as a tree, and counts your progress until you're done.

Features

  • Ingredient tree: craftable ingredients expand into their own recipes. Counts include your inventory and the chests in your area.
  • Take from chests: one click puts what the tree needs on the ground next to you.
  • Everything you can make: recipes, buildings, town buildings and plot repairs, with search.
  • Automatic progress: crafts and builds count themselves, and the to-do clears when it's done.
  • Right-click an ingredient to mark it "Have it elsewhere".
  • Mouse, keyboard and gamepad (LB + RB). 11 languages.

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.

Drag the panel by its header (it docks at screen edges). F8 hides it. While nothing is tracked, ▲ rolls it up into a small bar.

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.