Mods / Improved Handbook Recipes

Tags: #QoL
Author: Kathanon
Side: Client
Created: Oct 2nd 2024 at 6:23 AM
Last modified: May 27th at 7:05 AM
Downloads: 10901
Follow Unfollow 402

Latest release (for Vintage Story 1.20.4 - 1.20.10, potentially outdated):
ImprovedHandbookRecipes_1.1.3.zip  1-click install


Adds the following to item pages in the handbook:

  • Using the scroll wheel while hovering over a recipe or item with several variants lets you flip between them freely.
  • If crafting grid is also open, adds buttons to automatically add the required ingredients to the crafting grid (add one craft and add max).
  • Displays a small wrench icon on ingredients that are not consumed by the recipe. Also adds how much durability will be used to the tooltip.

Auto fill also uses items from any opened chests unless shift is held.

Any suggestions or bug reports are welcome.

Mod Version For Game version Downloads Release date Changelog Download 1-click mod install*
1.1.3
1.20.4 - 1.20.10
4002 Mar 2nd at 7:32 PM ImprovedHandbookRecipes_1.1.3.zip 1-click install

Fixed issues with the mod not working properly after exit to menu & loading world again.

1.1.2
1.20.0 - 1.20.1
2017 Jan 21st at 12:28 AM ImprovedHandbookRecipes_1.1.2.zip 1-click install

Moved requested game version to 1.20.0.

1.1.1 550 Jan 18th at 9:50 AM ImprovedHandbookRecipes_1.1.1.zip 1-click install

Fixed bug where "Max stack size" is added to item description multiple times if loading a new game without restarting the game.

1.1.0
1.19.8 - 1.20.0-pre.0
1107 Dec 22nd 2024 at 9:12 AM ImprovedHandbookRecipes_1.1.0.zip 1-click install
  • Added max stack size to description for all non-liquid items.
  • Fixed bug that prevented more than 2 sets of items being added for any recipe using tools.
1.0.5
1.19.8 - 1.20.0-rc.1
559 Dec 13th 2024 at 4:34 AM ImprovedHandbookRecipes_1.0.5.zip 1-click install

Fixed bug causing freeze or possibly crash when using * or + buttons with several eligible ingredients in inventory.

1.0.4
1.19.8 - 1.20.0-rc.1
444 Dec 7th 2024 at 6:48 PM ImprovedHandbookRecipes_1.0.4.zip 1-click install

Fixed 2 crash bugs.

1.0.3
1.19.8 - 1.20.0-rc.1
332 Dec 4th 2024 at 3:00 PM ImprovedHandbookRecipes_1.0.3.zip 1-click install

Updated for v1.20.0-pre.13.

1.0.2 662 Nov 12th 2024 at 6:55 AM ImprovedHandbookRecipes_1.0.2.zip 1-click install

Fixed crash when using + or * buttons for a shapeless recipe with empty spots (e.g. refractory bricks tier 2).

1.0.1 283 Nov 8th 2024 at 2:05 AM ImprovedHandbookRecipes_1.0.1.zip 1-click install

Fixed bug where using the * button for a shapeless recipe causes crash.

1.0.0 945 Oct 2nd 2024 at 6:25 AM Empty ImprovedHandbookRecipes_1.0.0.zip 1-click install

70 Comments (oldest first | newest first)

💬 onoira, Jun 1st at 3:16 PM

suggestion: add the functionality of https://github.com/DArkHekRoMaNT/RecipeSelector (ModDB) to select between multiple products from the same recipe in the crafting grid.

💬 Kathanon , May 28th at 4:47 AM

That's an interesting suggestion, I think about it.

💬 Sky_StarBlade, May 27th at 7:06 PM

Most likely an overly complex suggestion, but would it be possible to add a button next to the crafting grid that opens a special version of the handbook?

For example, when clicking this new button the gui for the crafting inventory would expand to the left or right & display a resized handbook. (resized to match the crafting inventory window size) I'm basically asking for a crafting help system almost identical to minecraft's recipe book, but displaying the handbook instead of a custom search library. If this isn't too complicated, it would make using your handbook button system a little easier to use & integrate it with the crafting grid better.

💬 LunaGore, May 15th at 3:02 PM

Works on latest stable and release canidate save for a single crash. Created an issue on github.

💬 Johanna087, Apr 30th at 8:47 PM

Still seems to randomly stop working, unfortunantly cant say what broke it, just noticed it recently and have no idea how long it wasnt working for.

💬 Kathanon , Mar 2nd at 7:32 PM

Version 1.1.3:

  • Fixed issues with the mod not working properly after exit to menu & loading world again.
💬 Tsukasa, Mar 1st at 1:27 PM

The buttons dissappear if you logout and log back, sometimes the scrolls works others the mod stops working, you have to restart the game

💬 Kathanon , Feb 28th at 8:40 AM

Aszek572
I'd call that an incorrect recipe. Generally you would mark that ingredient as a tool and set the durability loss to 0. But maybe that doesn't work for items without durability. I'll see what I can do.

yeemvrother
That is a great suggestion!
It will have to be more of a long-term goal though. It may take me a while to fugure out a good way to design it.

💬 Aszek572, Feb 28th at 5:50 AM

Hey, I encountered a fun little bug a while back on v1.1.1 that I'm fairly sure can be replicated, but is a very specific edge-case.

With this mod and also the Fields of Salt mod, you can crash the game through a "divide by zero" error. There is a recipe for a Template in Fields of Salt that specifies that 0 of a block will be consumed, but the block must be present for the recipe to work. If you use the auto-add button, the game will crash due to the 0. It's so specific it's probably better to just know about it.

💬 yeemvrother, Feb 28th at 4:52 AM

I have a suggestion! What if you could bookmark items you want to keep track of being able to craft? I feel like that would improve a lot of workflow with the game. Aside from that idea, great mod!

💬 DarkThoughts, Feb 27th at 12:42 AM

I actually had an issue where I could not scroll the handbook pages with the mouse wheel anymore at some point. Unsure what the cause was though.

Your mod also seem to cause issues with VS Launcher, making it unable to handle mod updates for it. One of the debug.log lines says this, no idea if helpful:

[getModsInfo] [ImprovedHandbookRecipes_1.1.2.zip] Error opening zip file: Error: Invalid comment length. Expected: 1. Found: 0. Are there extra bytes at the end of the file? Or is the end of central dir signature `PK☺☻` in the comment?

💬 Kathanon , Feb 25th at 8:38 PM

I have been looking into this, but it is hard to replicate. I'll keep at it.

💬 DontDropTheSoap, Feb 25th at 12:59 AM

It seems to work sometimes? (rarely though) but most of the time theres just no options anymore. On rare occasion it'll work 100% as intended but i've been unable to replicate it on purpose

💬 jayu, Feb 21st at 1:00 AM

Same problem as the previous comment, seems incompatible with Common Lib...

💬 DontDropTheSoap, Feb 13th at 11:55 PM

This was working great till i downloaded Common Lib for my player corpse mod. Now i cant scroll on the items in the recipes. Is there any alternative to that? i hate having to wait for it to show me my options

 

💬 Kathanon , Feb 8th at 10:47 PM

I've been having some real world issues that have prevented me from doing anything with my mods for a while. I will look into all of the comments that have accrued when that is done with.

That said, the buttons should only be hidden when your inventory is closed.

💬 prototype464, Feb 4th at 7:36 PM

Having the same issue in 1.19.8

💬 OperativeLight, Feb 3rd at 2:16 AM

Hmm yeah, I tired to go back to the previous version I was using (1.1.0) and now it doesn't work at all on VS1.20.3

💬 SnowWookiee, Feb 3rd at 1:55 AM

Same problem as the previous people, looks like you lose the ability to use the craft buttons when you have enough material to create it. When making a stone path, I only had the buttons when the requirements weren't met, and they disappeared when I got enough to make it. If you leave the handbook open while picking up the items, you can still use the buttons, but when closing and reopening you lose them. Maybe some function to hide the buttons when you can't craft it is bugged?

💬 Rackzo, Feb 2nd at 1:08 AM

Have the same issue that the buttons sometimes don't show up

💬 Kikuu, Jan 30th at 5:07 AM

seems to not work properly in 1.20.3, any possible fix? I had it work for a bit and now the button is gone most of the time

💬 alexzumar, Jan 27th at 5:42 PM

1.20.2/1.20.3 - sometimes the craft button disappears

💬 Sbmhawk, Jan 26th at 8:58 PM

Seems to not work on 1.20.3, no buttons appear in my handbook

💬 JonnyGeek, Jan 21st at 3:58 PM

W Mod
Mechanical parts so nice to craft now :D

💬 Kathanon , Jan 21st at 12:34 AM

Version 1.1.2:

  • Moved requested game version to 1.20.0.

The only thing this update does is make the game stop complaining about it being for an older version of the game.
If you are still on 1.19.8, just download the previous version.

💬 ManaWei, Jan 20th at 11:18 AM

My game says this is not updated.. and it's asking for version 1.19.4..

💬 Kathanon , Jan 18th at 9:51 AM

Version 1.1.1:

  • Fixed bug where "Max stack size" is added to item description multiple times if loading a new game without restarting the game.
💬 bringitonwimps, Jan 15th at 1:05 AM

I disabled this mod and still haveing the issue with anything i click in handbook.  it may not be this mod, im trying to narow it down.

💬 bringitonwimps, Jan 15th at 1:05 AM

I got this error when clicking on a clay chute mold from expanded molds, not sure where the error is credited

https://pastebin.com/LTxqA5h0

💬 theRealNate07, Jan 13th at 2:19 AM

In v1.19.8, Every time I load into a world, my inventory gets a new "Max stack size: _" added to every item. I left a world and joined 5 times, and it said 'Max stack size: _' 5 times.

The only fix I have found is to close Vintage Story and reopen it.

💬 Kathanon , Jan 3rd at 9:04 PM

If anyone knows how to make the game understand that the mod supports both game versions without just making it "any version", I'd be thankful.

💬 bringitonwimps, Jan 3rd at 12:12 AM

I get an error in mod manager "this mod requests game version 1.19.8, you are using 1.20 RC6 may not load"  now with that said it does seam tyo load fine and work but relaying the error message

💬 Kathanon , Dec 22nd 2024 at 9:13 AM

Version 1.1.0:

  • Added max stack size to description for all non-liquid items.
  • Fixed bug that prevented more than 2 sets of items being added for any recipe using tools.
💬 tankmissile, Dec 20th 2024 at 6:09 AM

Hello again, I notice in version 1.0.5 I am unable to add the materials for more than two instances of a recipe at a time.  The + and * buttons both cap at 2 recipes, even if I have the mats for a lot more and the item stacks higher than two.  I made 40 axles but had to do them 4 at a time.  Thanks for your continued support of this handy mod.

💬 Kathanon , Dec 14th 2024 at 7:26 PM

@Ithildae: Great, thanks for letting me know.

@Arroz126: I hadn't even seen that rc3 was released. It does work for rc1, I suggest you try it with rc3 and see.

💬 Arroz126, Dec 14th 2024 at 7:19 PM

Is it compatible with version v1.20.0-rc.3?

💬 Ithildae, Dec 14th 2024 at 5:44 PM

I am unable to reproduce crashing with the * or + buttons using more than one type of eligible material after updating to v1.0.5 on game version 1.19.8

Thanks a lot for the update Kathanon, and thank you for developing this mod!

💬 Kathanon , Dec 13th 2024 at 4:39 AM

Update:

  • Fixed bug causing freeze or possibly crash when using * or + buttons with several eligible ingredients in inventory.

I could not reproduce the crash, but that may be a difference between running a local game and connecting to a server.
I did reproduce the freeze on * using Ithildae's description (thanks for that), and this fixes that one. I expect there is a good chance it will fix all of your issues.
Please do let me know if it helped.

💬 LunaGore, Dec 11th 2024 at 3:49 AM

I'm not having issues with the + but the * is crashing my game but I can repeatedly hit + as a workaround.

💬 Ithildae, Dec 10th 2024 at 11:35 PM

This mod crashes if I use the + or * buttons in the handbook whilst having more than one item in an open inventory that is eligable for crafting.

If I am crafting say barrels and have some maple planks and some oak planks, the mod crashes when using * or +

Where I to close the inventory with maple planks and just have oak planks accessible, the * or + buttons do work.

I am using a lot of mods and this may not be reproducable outside of my environment, but this rule has prevented client crashes so far in my group.

💬 SpacemanSpliff, Dec 8th 2024 at 6:41 PM

pressing the * button completely froze my game, was not able to get a crash report unfortunatley. Other than that, this is a super useful mod. Thank you.

💬 tankmissile, Dec 7th 2024 at 10:43 PM

Scrolling issue is fixed as far as I can tell.  I was also able to use the + and * buttons without crashing, but that's not my report.  Thanks!

💬 Kathanon , Dec 7th 2024 at 6:50 PM

Update:

I think I fixed both of your issues. Please let me know if it worked.

💬 Juicebox_TM, Dec 6th 2024 at 4:08 PM

Update:
V1.0.2 has similar issue. It froze up completely when trying the * button to add materials for recipe.

Hello, just wanted to let you know about the crashing issue I seem to have whilst trying your mod. It happens (crashes) when I try to click on the * or + while in the handbook, to add 'one' or the 'max' of anything for a recipe. I have the latest file version(v1.0.3) installed, I have not tried just using v1.0.2 to see if that remedies the problem yet. But I will, and I shall let you know if it resolves itself or not. I do hope so as this mod seems to be great, and would enjoy the use of it tremendously. Thank you for making it.
Below is the report, hopefully that is helpful. Should I put it in the tracker as well or will this suffice?
Again, Thank you.

 

 

 

 

Running on 64 bit Windows 10.0.19045.0 with 16314 MB RAM
Game Version: v1.19.8 (Stable)
12/6/2024 8:48:11 AM: Critical error occurred in the following mod: improvedhandbookrecipes@1.0.3
Loaded Mods: aculinaryartillery@1.2.1, backpackpackplus@1.0.3, chiseltools@1.12.10, justmoreruins@0.9.8, nailsmold@1.0.2, noisybears@1.1.0, she1fish@1.2.1, spyglass@0.5.1, temporal_gears_stack@1.0.0, game@1.19.8, wlts@1.0.0, zoombuttonreborn@2.0.0, betterfirepit@1.1.4, betterruins@0.3.7, carryon@1.7.4, commonlib@2.5.0-rc.2, Crateful@1.2.8, expandedfoods@1.7.2, extrainfo@1.8.1, hudclock@3.4.0, improvedhandbookrecipes@1.0.3, medievalexpansion@3.13.1, morepiles@1.5.0, claywheel@1.1.1, prospecttogether@1.4.0-rc.2, scythemold@1.0.1, th3dungeon@0.2.1, creative@1.19.8, survival@1.19.8, workbenchexpansion@1.8.0, slanted_display_cases@1.3.2, stonequarry@3.3.1, tavernadditions@1.1.0, th3dungeontopentrance@0.1.1, vanity@2.2.0
System.MissingMethodException: Method not found: 'System.String Vintagestory.API.Common.AssetLocation.op_Implicit(Vintagestory.API.Common.AssetLocation)'.
at ImprovedHandbookRecipes.FillGridButton.IngredientCode.MakeKey()
at ImprovedHandbookRecipes.FillGridButton.IngredientCode.get_Key() in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 285
at ImprovedHandbookRecipes.FillGridButton.<>c.b__5_9(IngredientCode x) in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 67
at System.Linq.Enumerable.DistinctByIterator[TSource,TKey](IEnumerable`1 source, Func`2 keySelector, IEqualityComparer`1 comparer)+MoveNext()
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector)
at ImprovedHandbookRecipes.FillGridButton.TryFillGrid() in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 63
at ImprovedHandbookRecipes.FillGridButton.OnClick() in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 30
at ImprovedHandbookRecipes.ButtonRTC.Click() in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ButtonRTC.cs:line 65
at Vintagestory.API.Client.GuiElementTextButton.OnMouseUpOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementTextButton.cs:line 317
at Vintagestory.API.Client.GuiElementTextButton.OnMouseUp(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementTextButton.cs:line 307
at ImprovedHandbookRecipes.ButtonRTC.OnMouseUp(MouseEvent args) in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ButtonRTC.cs:line 125
at Vintagestory.API.Client.GuiElementRichtext.OnMouseUp(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementRichtext.cs:line 540
at Vintagestory.API.Client.GuiComposer.OnMouseUp(MouseEvent mouse) in VintagestoryApi\Client\UI\GuiComposer.cs:line 449
at Vintagestory.API.Client.GuiDialog.OnMouseUp(MouseEvent args) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 584
at Vintagestory.Client.NoObf.GuiManager.OnMouseUp(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 412
at Vintagestory.Client.NoObf.ClientMain.UpdateMouseButtonState(EnumMouseButton button, Boolean down) in VintagestoryLib\Client\ClientMain.cs:line 1919
at Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean isGlobal, Boolean fallBack, Boolean keyup) in VintagestoryLib\Client\HotkeyManager.cs:line 431
at Vintagestory.Client.HotkeyManager.OnMouseButton(ClientMain game, EnumMouseButton button, Int32 modifiers, Boolean buttonDown) in VintagestoryLib\Client\HotkeyManager.cs:line 576
at Vintagestory.Client.NoObf.ClientMain.OnMouseUpRaw(MouseEvent args) in VintagestoryLib\Client\ClientMain.cs:line 1949
at Vintagestory.Client.GuiScreenRunningGame.OnMouseUp(MouseEvent args) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 349
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonUp(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 208
at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods)
--- End of stack trace from previous location ---
at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded()
at OpenTK.Windowing.Desktop.NativeWindow.ProcessWindowEvents(Boolean waitForEvents)
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 324
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 128
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

💬 tankmissile, Dec 6th 2024 at 6:57 AM

Just had a full crash when using mouse wheel on a recipe item that didn't have any alternatives in v1.0.3 (game version 1.19.8)

 

Looking at the logs, seems it was an index out of bounds error:

Game Version: v1.19.8 (Stable)
12/6/2024 12:54:32 AM: Critical error occurred in the following mod: improvedhandbookrecipes@1.0.3
Loaded Mods: barkbeetle@1.0.0, chiseltools@1.12.11, dinornithidae@0.9.0, manidae@1.0.2, rhinocerotidae@1.0.3, sirenia@1.0.5, spheniscidae@0.9.1, lessigneousrocksplease@1.0.0, cbetterfertilizer@1.2.0, viescraftmachines@2.3.2, game@1.19.8, egocaribautomapmarkers@3.1.0, beehivekiln@1.6.1, betterfirepit@1.1.4, brutalstory@1.0.0, carryon@1.7.4, improvedhandbookrecipes@1.0.3, manualquenching@1.0.1, mif@1.0.1, claywheel@1.1.1, rivers@3.1.0, sailboat@1.3.1, trailmod@1.0.8, versionchecker@1.0.0, creative@1.19.8, survival@1.19.8, wgmt@1.0.2, doffanddonagain@4.0.0
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at ImprovedHandbookRecipes.Handbook_Patch.UpdateSecondCounter(Int32 index, Int32& counter, GridRecipeAndUnnamedIngredients[] list) in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\Handbook_Patch.cs:line 103
at ImprovedHandbookRecipes.Handbook_Patch.UpdateIndex(Boolean mouseOver, Int32& index, Int32& counter, ItemstackComponentBase component) in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\Handbook_Patch.cs:line 100
at Vintagestory.API.Client.SlideshowGridRecipeTextComponent.RenderInteractiveElements_Patch0(SlideshowGridRecipeTextComponent this, Single deltaTime, Double renderX, Double renderY, Double renderZ)
at Vintagestory.API.Client.GuiElementRichtext.RenderInteractiveElements(Single deltaTime) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementRichtext.cs:line 484
at Vintagestory.API.Client.GuiComposer.Render(Single deltaTime) in VintagestoryApi\Client\UI\GuiComposer.cs:line 716
at Vintagestory.API.Client.GuiDialog.OnRenderGUI(Single deltaTime) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 385
at Vintagestory.GameContent.GuiDialogHandbook.OnRenderGUI_Patch3(GuiDialogHandbook this, Single deltaTime)
at Vintagestory.Client.NoObf.GuiManager.OnRenderFrameGUI(Single deltaTime) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 318
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 186
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 809
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1013
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 676
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 651
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 88
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 324
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 128
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

💬 Kathanon , Dec 4th 2024 at 3:00 PM

Update:

  • Support for v1.20.0-pre.13.
💬 Aimli, Dec 3rd 2024 at 11:18 AM
  • Using the scroll wheel while hovering over a recipe or item with several variants lets you flip between them freely.
  • If crafting grid is also open, adds buttons to automatically add the required ingredients to the crafting grid (add one craft and add max).
  • Displays a small wrench icon on ingredients that are not consumed by the recipe. Also adds how much durability will be used to the tooltip.

They're all null and void.

Kathanon

💬 Kathanon , Dec 2nd 2024 at 12:06 PM

Aimli What is it that isn't working with 1.20-pre.13?

💬 Aimli, Nov 25th 2024 at 8:39 AM

Please adapt to 1.20-pre.13

💬 Kathanon , Nov 18th 2024 at 1:27 PM

If you post a crash log with the latest version, I can look into it. The log you posted looks exactly like the bug that 1.0.2 fixes.

💬 Shinji170981, Nov 17th 2024 at 7:03 PM

Currently using your 1.0.1 version on 1.19.8 and when i click on the *, the client crashes to desktop. Had the same issue on 1.0.2 before, so i went back to 1.0.1.

I did have the items required in my inventory.
Crash report

💬 OniLynx69, Nov 14th 2024 at 8:28 PM

Kathanon Yay! Thank you so much for fixing this up so quickly! ^^

💬 Kathanon , Nov 13th 2024 at 2:28 AM

The dll *is* in the root folder, and it is a client-side only mod. I think you should bring it up with them.

💬 Shinji170981, Nov 12th 2024 at 1:14 PM

Kathanon Getting an error with the latest version.
12.11.2024 14:12:25 [Server Error] [workbenchexpansion] File 'ImprovedHandbookRecipes.dll' is not in the mod's root folder. Won't load this mod. If you need to ship unmanaged dlls, put them in the native/ folder.
Not sure if you have to fix this or workbench.

💬 Kathanon , Nov 12th 2024 at 6:58 AM

OniLynx69: Turns out there were two separate bugs, one affecting all of the refractory bricks, but only the * button, and one affecting both buttons, but only the tier 2 version of the recipe.

ShikiTochi: The buttons are not shown unless the crafting grid is also open. That may be the reason.

💬 Kathanon , Nov 12th 2024 at 6:56 AM

Update:

  • Fixed crash when using + or * buttons for a shapeless recipe with empty spots (e.g. refractory bricks tier 2).
💬 OniLynx69, Nov 10th 2024 at 9:59 PM

Kathanon: I downloaded the latest update, but am still experiencing issues with the mod crashing the game when attempting to pull refractory brick items to the crafting grid. I tried using both, the "+" and the "*", and both produced the same result. I attempted it several times, and even disabled all other mods (with the exception of the default game mods).

 

Below is the last attempt's crash log:

11/10/2024 1:48:47 PM: Critical error occurred in the following mod: improvedhandbookrecipes@1.0.1
Loaded Mods: game@1.19.8, improvedhandbookrecipes@1.0.1, creative@1.19.8, survival@1.19.8
System.NullReferenceException: Object reference not set to an instance of an object.
at ImprovedHandbookRecipes.FillGridButton.<>c__DisplayClass6_1.<AddIngredients>b__9(ItemSlot y) in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 127
at ImprovedHandbookRecipes.FillGridButton.<AddIngredients>g__PullFirst|6_3[T](T[] arr, Func`2 test) in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 219
at ImprovedHandbookRecipes.FillGridButton.<>c__DisplayClass6_0.<AddIngredients>b__7(GridRecipeIngredient x) in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 127
at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
at ImprovedHandbookRecipes.FillGridButton.AddIngredients(ItemSlot[] input, GridRecipe recipe, List`1 available) in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 126
at ImprovedHandbookRecipes.FillGridButton.TryFillGrid() in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 80
at ImprovedHandbookRecipes.FillGridButton.OnClick() in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 30
at ImprovedHandbookRecipes.ButtonRTC.Click() in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ButtonRTC.cs:line 65
at Vintagestory.API.Client.GuiElementTextButton.OnMouseUpOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementTextButton.cs:line 317
at Vintagestory.API.Client.GuiElementTextButton.OnMouseUp(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementTextButton.cs:line 307
at ImprovedHandbookRecipes.ButtonRTC.OnMouseUp(MouseEvent args) in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ButtonRTC.cs:line 125
at Vintagestory.API.Client.GuiElementRichtext.OnMouseUp(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementRichtext.cs:line 540
at Vintagestory.API.Client.GuiComposer.OnMouseUp(MouseEvent mouse) in VintagestoryApi\Client\UI\GuiComposer.cs:line 449
at Vintagestory.API.Client.GuiDialog.OnMouseUp(MouseEvent args) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 584
at Vintagestory.Client.NoObf.GuiManager.OnMouseUp(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 415
at Vintagestory.Client.NoObf.ClientMain.UpdateMouseButtonState(EnumMouseButton button, Boolean down) in VintagestoryLib\Client\ClientMain.cs:line 1919
at Vintagestory.Client.SystemHotkeys.OnPrimaryMouseButton(KeyCombination mb) in VintagestoryLib\Client\Systems\Player\Hotkeys.cs:line 50
at Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean isGlobal, Boolean fallBack, Boolean keyup) in VintagestoryLib\Client\HotkeyManager.cs:line 431
at Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean keyUp) in VintagestoryLib\Client\HotkeyManager.cs:line 395
at Vintagestory.Client.HotkeyManager.OnMouseButton(ClientMain game, EnumMouseButton button, Int32 modifiers, Boolean buttonDown) in VintagestoryLib\Client\HotkeyManager.cs:line 574
at Vintagestory.Client.NoObf.ClientMain.OnMouseUpRaw(MouseEvent args) in VintagestoryLib\Client\ClientMain.cs:line 1949
at Vintagestory.Client.GuiScreenRunningGame.OnMouseUp(MouseEvent args) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 349
at Vintagestory.Client.ScreenManager.OnMouseUp(MouseEvent e) in VintagestoryLib\Client\ScreenManager.cs:line 890
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonUp(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 211
at OpenTK.Windowing.Desktop.NativeWindow.OnMouseUp(MouseButtonEventArgs e)
at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods)
--- End of stack trace from previous location ---
at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded()
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 324
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 128
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

💬 ShikiTochi, Nov 10th 2024 at 2:50 AM

The crafting buttons for 1.0.1 Seem to be missing, its the only mod installed on a fresh world- 1.19.8

Edit- Its seemed to fix itself, I dont know why the buttons just vanished.

💬 Kathanon , Nov 10th 2024 at 2:39 AM

You mean the 1.20 pre-releases? No, I've been meaning to make a version for 1.20, but haven't yet.

💬 Krougal, Nov 9th 2024 at 12:09 AM

Does this new version work for the PR releases? (started crashing hard a couple versions ago).

This is one of those mods that should be vanilla, hate playing without it.

💬 Kathanon , Nov 8th 2024 at 2:07 AM

Update:

  • Fixed bug where using the * button for a shapeless recipe causes crash.

 

OniLynx69: I couldn't reproduce the tooltip issue, but I do recognize it from development, so I may just have managed to do the initial release before it was fixed. Please do let me know if this fixes that issue as well for you.

💬 Kathanon , Nov 7th 2024 at 9:01 PM

I'll look into it.

💬 OniLynx69, Nov 7th 2024 at 8:20 PM

I absolutely love this mod! A godsend for making things a lot quicker! I have encountered a minor issue, and 1 major issue resulting in a game crash (reproducable).

Minor issue:
Text for tooltips, viewable when hovering over "*" [astrisk] or "+" icons, is off center from the tooltip itself. ie, appears above and to the left of the tooltip.

 

Major issue:
When attempting to set the crafting grid to craft refractory bricks, regardless of tier, the game will crash.

Crash Log:

Game Version: v1.19.8 (Stable)
11/7/2024 12:08:45 PM: Critical error occurred in the following mod: improvedhandbookrecipes@1.0.0
Loaded Mods: HumanSkinTones@0.0.3, temperaturescales@1.0.2, game@1.19.8, bodyheatbar@1.0.1, chestorganizer@1.0.0, commonlib@2.5.0-rc.2, extendedhudinfo@1.1.0, hudclock@3.4.0, improvedhandbookrecipes@1.0.0, statushud@1.4.3, creative@1.19.8, survival@1.19.8
System.NullReferenceException: Object reference not set to an instance of an object.
at ImprovedHandbookRecipes.FillGridButton.<>c__DisplayClass6_1.b__9(ItemSlot y) in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 126
at ImprovedHandbookRecipes.FillGridButton.g__PullFirst|6_3[T](T[] arr, Func`2 test) in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 218
at ImprovedHandbookRecipes.FillGridButton.<>c__DisplayClass6_0.b__7(GridRecipeIngredient x) in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 126
at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
at ImprovedHandbookRecipes.FillGridButton.AddIngredients(ItemSlot[] input, GridRecipe recipe, List`1 available) in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 125
at ImprovedHandbookRecipes.FillGridButton.TryFillGrid() in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 80
at ImprovedHandbookRecipes.FillGridButton.OnClick() in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\FillGridButton.cs:line 30
at ImprovedHandbookRecipes.ButtonRTC.Click() in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ButtonRTC.cs:line 63
at Vintagestory.API.Client.GuiElementTextButton.OnMouseUpOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementTextButton.cs:line 317
at Vintagestory.API.Client.GuiElementTextButton.OnMouseUp(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementTextButton.cs:line 310
at ImprovedHandbookRecipes.ButtonRTC.OnMouseUp(MouseEvent args) in E:\Programmering\VintageStory\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ImprovedHandbookRecipes\ButtonRTC.cs:line 113
at Vintagestory.API.Client.GuiElementRichtext.OnMouseUp(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementRichtext.cs:line 540
at Vintagestory.API.Client.GuiComposer.OnMouseUp(MouseEvent mouse) in VintagestoryApi\Client\UI\GuiComposer.cs:line 445
at Vintagestory.API.Client.GuiDialog.OnMouseUp(MouseEvent args) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 570
at Vintagestory.Client.NoObf.GuiManager.OnMouseUp(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 415
at Vintagestory.Client.NoObf.ClientMain.UpdateMouseButtonState(EnumMouseButton button, Boolean down) in VintagestoryLib\Client\ClientMain.cs:line 1919
at Vintagestory.Client.SystemHotkeys.OnPrimaryMouseButton(KeyCombination mb) in VintagestoryLib\Client\Systems\Player\Hotkeys.cs:line 50
at Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean isGlobal, Boolean fallBack, Boolean keyup) in VintagestoryLib\Client\HotkeyManager.cs:line 431
at Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean keyUp) in VintagestoryLib\Client\HotkeyManager.cs:line 392
at Vintagestory.Client.HotkeyManager.OnMouseButton(ClientMain game, EnumMouseButton button, Int32 modifiers, Boolean buttonDown) in VintagestoryLib\Client\HotkeyManager.cs:line 574
at Vintagestory.Client.NoObf.ClientMain.OnMouseUpRaw(MouseEvent args) in VintagestoryLib\Client\ClientMain.cs:line 1949
at Vintagestory.Client.GuiScreenRunningGame.OnMouseUp(MouseEvent args) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 349
at Vintagestory.Client.ScreenManager.OnMouseUp(MouseEvent e) in VintagestoryLib\Client\ScreenManager.cs:line 890
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonUp(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 211
at OpenTK.Windowing.Desktop.NativeWindow.OnMouseUp(MouseButtonEventArgs e)
at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods)
--- End of stack trace from previous location ---
at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded()
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 324
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 128
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

💬 FluffyCucumber, Nov 6th 2024 at 2:38 AM

been looking for this mod for quite some time now! Thanks!

💬 Kathanon , Oct 27th 2024 at 3:28 PM

Cuddly_Khan: I think that would have the potential to confuse users. Maybe I can make something similar, I'll give it some thought.

jayu: Please do. If it is repeatable, it's likely to be for the same recipe. Include what recipe it was when you post the log, please.

💬 jayu, Oct 15th 2024 at 9:45 PM

Hey so my game freezes (doesn't crash) when I press the add max button. Will try to save the client-main log when it happens again.

💬 Cuddly_Khan, Oct 8th 2024 at 10:01 AM

I have a suggestion:
If the crafting grid has already been filled using the add max, then pressing it again will take the result out of the output and fill the grid again. Would make crafting tedious stuff a bit faster such as firewood and path blocks. :D

💬 SaltyWater, Oct 4th 2024 at 12:33 PM

Amazing mod thank you so much!

💬 jayu, Oct 2nd 2024 at 10:35 PM

More people need to know about this! It should be in vanilla lol. Please if you can put a nicer thumbnail so more people discover this very useful mod. Thanks!

💬 MAKAKO, Oct 2nd 2024 at 12:06 PM

Funciona perfectamente, gracias por hacerme la vida mas facil

😄

 (edit comment delete)