Mods / RepairMe 1.21/1.22 Patch

Tags:
Crafting QoL Simplification
Author:
SilverValkyrie
Side:
Both
Created:
Sep 5th 2025 at 8:57 PM
Last modified:
May 22nd at 5:30 PM
Downloads:
4865
Latest release (for Vintage Story 1.22.0 - 1.22.2, potentially outdated):
repairmepatch_1.3.1.zip  1-click install

The Original mod which is currently out of date


Whetstone

 

Repair any tool by 25% of its total durability, while the whetstone loses 5% (from the tools total durability) each time it is used.

(Should also work for modded tools)

 

Flint Recipe:

1x Flint + 3x Any Stone

 

Variant Recipe:

1x Gem + 3x Any Board

 

Available Variants:

  • Flint (125 Durability)
  • Lapis Lazuli (300 Durability)
  • Perdiot (600 Durability)
  • Amethyst (1000 Durability)
  • Emerald (1500 Durability)
  • Diamond (2000 Durability)

 

Config:

{
  "WhetstoneDamageAsPercent": 5, // Damage the whetstone takes, calculated as percent from the total durability of the repaired tool
  "WhetstoneMinimumDamage": 10, // Flat minimum damage the whetstone will take if the %-result is below it
  "ToolRestoreAsPercent": 25 // Restored durability, calculated as percent from the total durability
  "DisableItemCodeArray": ["bow" ] // disables any item that contains the name in its ID. set it as array like this example to delete items with the name bow

}

 

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
1.3.1 repairmepatch
1.22.0 - 1.22.2
1238 May 22nd at 5:30 PM repairmepatch_1.3.1.zip 1-click install

Changed the calculation how the durability loss on the whetstonen side is calculated 


should a whetstone not have enough durability to repair a tool it will now use the whetstone and only restore a partial amount of what to repair allowing the whetstone to be used up 

if the whetstone is too broken then the whetstone still breaks and the item durability stays the same

1.3.0 repairmepatch
1.22.0-pre.1 - 1.22.2
200 May 14th at 7:30 AM repairmepatch_1.3.0.zip 1-click install

When a whetstone doesnt have enough durability an error will be now displayed

1.2.0 repairmepatch 325 Apr 23rd at 10:32 AM repairmepatch_1.2.0.zip 1-click install

Refactor for 1.22

1.1.1 repairmepatch 3102 Sep 5th 2025 at 9:03 PM repairme.zip 1-click install

Patched to 1.21.0


54 Comments (oldest first | newest first) (threaded | flat)

Kacperek152, Jul 12th at 9:12 AM

Dodał byś moda na kolejną wersje?

jack66, Jun 29th at 3:55 PM

Absolute legend! Thank you so much for forking this it's very much a must have mod.

_DeVon, Jun 7th at 5:00 PM

Does this require me to install the repairme mod as well? Or is this a standalone?

Vergial, May 29th at 9:13 PM

Found another bug! This might be an easy fix, I've not modded for VS tho.

If you try to find the whetstone recipe (say, from another recipe by clicking the whetstone) it causes a hard crash to desktop. Another easy thing to work around, though.

Vergial, May 26th at 5:16 PM

I've noticed an interesting lil bug!

So far, I've only noticed it with the flint/stone (nyeheh) whetstone, but if you try to craft multiple at once (using Shift+click on the product) it'll eat all the stone but still only produce one whetstone. The flint seems to be used correctly. Easy to work around, at least; just make one at a time.

SilverValkyrie , May 22nd at 5:34 PM

Giavivi OfficerHotpants Grudion Malfiros Vergial

i am very sorry it took so long i am currently havig private issues going on but i reworked how the dmg is calculated , the hand book crash and the use up crash are fixed now 

going forward if your tool is broken and you have a whetstone at hand that normally wouldnt be enough to repair it, a partial repair is done while also consuming the whetstone. 

I hope the slow update didnt withold you from playing for too long 

Giavivi, May 22nd at 7:25 PM
@SilverValkyrie: Giavivi OfficerHotpants Grudion Malfiros Vergiali am very sorry it took so long i am currently havig private issues going on but i reworked how the dmg is calculated , the hand book crash and the use up crash are fixed now going forward if your tool is br

Absolutely no worries! I just wanted to let you know that something was messed up. Don't need an immediate fix for it by any means. Thanks so much, and I hope your private matters are resolved soon. <3

Giavivi, May 18th at 6:52 PM

Just wanted to let you know I was not expirencing crashing until I updated to the new mod from 4 days ago. Now it is crashing when I open the handbook page. However, trying to go back to the previous version has caused it to crash on the old version as well. Thanks so much for this mod. Please don't give up. <3

OfficerHotpants, May 19th at 3:11 AM
@Giavivi: Just wanted to let you know I was not expirencing crashing until I updated to the new mod from 4 days ago. Now it is crashing when I open the handbook page. However, trying to go back to the previous version has caused it to crash on the old version as we

Yeah, make no mistake.  This mod is great.  Definitely worth having.  I just have to not click the handbook entry and I'm golden.  That's not a difficult task.

Giavivi, May 19th at 6:00 PM
@OfficerHotpants: Yeah, make no mistake. This mod is great. Definitely worth having. I just have to not click the handbook entry and I'm golden. That's not a difficult task.

Exactly how I feel. I am keeping this mod. I am glad it still works despite the handbook link not working. It would make me sad if the whole mod wasn't working. Not a huge deal since the author provided the recipe in the mod description. ¯\_(ツ)_/¯

OfficerHotpants, May 18th at 2:57 AM

Same deal as Grudion.  Clicking on its entry in the handbook causes a crash.  Tried testing the other crash I see mentioned but the stone I was using could not use its last point of durability to repair a copper shovel that was missing 1 point of durability.  Not sure if that's a bug or just the game hiding exact numbers (like rounding 0.98 up to 1 for the GUI but still tracking the correct number under the hood).

SilverValkyrie , May 18th at 7:05 AM
@OfficerHotpants: Same deal as Grudion. Clicking on its entry in the handbook causes a crash. Tried testing the other crash I see mentioned but the stone I was using could not use its last point of durability to repair a copper shovel that was missing 1 point of durability

i still have too check the handbook error , abbout the whetstone not being able to repair your equipment with to low durability is intended that was a bug in the original mod. 

Basically you can repair your tool for 25% using the durability of 10% of the max Tool durability. If the whetstone doesnt have enough durability well you cant repair. Ill try make a new case to get a % repair for the remaining whetstone durability but im currently quite busy irl so it might take a couple days  

Grudion, May 15th at 11:11 AM

It crashes for me when I try to open the recipe in the handbook.

Malfiros, May 14th at 7:57 PM

Just to confirm: the crash bug is now fixed?

SilverValkyrie , May 14th at 9:30 PM
@Malfiros: Just to confirm: the crash bug is now fixed?

should be , are you still getting errors ? 

Malfiros, May 14th at 10:08 PM
@SilverValkyrie: should be , are you still getting errors ?

I haven't tried it yet, I just wanted to be sure I understood it had been addressed. Thanks for your hard work! Love this mod!

Vergial, May 13th at 6:44 PM

Can confirm, crash still exists if whetstone is used up and there is no replacement. Null Reference Exception.

SilverValkyrie , May 14th at 7:31 AM
@Vergial: Can confirm, crash still exists if whetstone is used up and there is no replacement. Null Reference Exception.

Got to fix it now, i honestly dont know why it even worked in 1.21.x

MystWonderworld, May 6th at 7:19 PM

Just tested this on 1.22.2 and it's still crashing the game. It will work fine if you have multiple whetstones in your inventory for it to replenish upon breaking, but if you break the only one in your inventory, it crashes hard to desktop.

Origin_Alpha_43, May 5th at 5:40 AM

update 1.22.2 kinda fixed the issue ?????
it just broke on me and NO CRASH

did not have a spare to take its place

SilverValkyrie , May 5th at 8:53 AM
@Origin_Alpha_43: update 1.22.2 kinda fixed the issue ?????it just broke on me and NO CRASHdid not have a spare to take its place

HU? i really should check it out now , havent had time to look at the problem yet but that would be neat if its fixed now 

 

savorysaige, Apr 28th at 12:57 AM

The crash seems to happen when using the whetstone would break it and you don't have an additional whetstone in your inventory to replace it, as it automatically pulls another whetstone into the crafting area when the first one breaks.

ShinKronny, Apr 25th at 2:46 PM

Same issue as below. Game crashes when whetstone would break. Items get stuck in the crafting grid (one can remove them, but they stay there after re-login)

Wolf_Ulfhednar, Apr 25th at 12:59 PM (modified Apr 25th at 1:04 PM)

I just got the same issue as ManManJack and Origin_Alpha_43. when Whetstone break

Crash Report

Running on 64 bit Windows 10.0.26200.0 with 32634 MB RAM
Game Version: v1.22.0 (Stable)
25/04/2026 15:03:44: Critical error occurred in the following mod: repairmepatch@1.2.0
Loaded Mods: game@1.22.0, repairmepatch@1.2.0, creative@1.22.0, survival@1.22.0
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.API.Common.CollectibleObject.OnConsumedByCrafting(ItemSlot[] allInputSlots, ItemSlot stackInSlot, IRecipeBase recipe, IRecipeIngredient fromIngredient, IPlayer byPlayer, Int32 quantity) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1049
at RepairMe.RepairItem.OnConsumedByCrafting(ItemSlot[] allInputSlots, ItemSlot stackInSlot, IRecipeBase recipe, IRecipeIngredient fromIngredient, IPlayer byPlayer, Int32 quantity) in C:\Users\auros\Desktop\modDev\RepairMe-master\RepairMe\RepairItem.cs:line 27
at Vintagestory.API.Common.RecipeBase.ConsumeWildcardMatchIngredient(ItemStack inputStack, ItemSlot inputSlot, ItemSlot[] inputSlots, List`1 wildcardAndToolIngredients, IPlayer byPlayer) in VintagestoryApi\Common\Crafting\RecipeBase.cs:line 970
at Vintagestory.API.Common.RecipeBase.ConsumeInputShapeLess(IPlayer byPlayer, ItemSlot[] inputSlots, IRecipeIngredient[] ingredients) in VintagestoryApi\Common\Crafting\RecipeBase.cs:line 743
at Vintagestory.API.Common.GridRecipe.ConsumeInput(IPlayer byPlayer, ItemSlot[] inputSlots, Int32 gridWidth) in VintagestoryApi\Common\Crafting\GridRecipe.cs:line 209
at Vintagestory.Common.InventoryCraftingGrid.ConsumeIngredients(ItemSlot outputSlot) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 221
at Vintagestory.Common.ItemSlotCraftingOutput.CraftSingle(ItemSlot sinkSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\ItemSlotCraftingOutput.cs:line 178
at Vintagestory.Common.ItemSlotCraftingOutput.TryPutInto(ItemSlot sinkSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\ItemSlotCraftingOutput.cs:line 62
at Vintagestory.API.Common.ItemSlotOutput.ActivateSlot(ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryApi\Common\Inventory\ItemSlotOutput.cs:line 39
at Vintagestory.API.Common.InventoryBase.ActivateSlot(Int32 slotId, ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryApi\Common\Inventory\InventoryBase.cs:line 461
at Vintagestory.Common.InventoryCraftingGrid.ActivateSlot(Int32 slotId, ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 114
at Vintagestory.API.Client.GuiElementItemSlotGridBase.SlotClick(ICoreClientAPI api, Int32 slotId, EnumMouseButton mouseButton, Boolean shiftPressed, Boolean ctrlPressed, Boolean altPressed) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 999
at Vintagestory.API.Client.GuiElementItemSlotGridBase.OnMouseDownOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 794
at Vintagestory.API.Client.GuiElementItemSlotGridBase.OnMouseDown(ICoreClientAPI api, MouseEvent mouse) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 762
at Vintagestory.API.Client.GuiComposer.OnMouseDown(MouseEvent mouseArgs) in VintagestoryApi\Client\UI\GuiComposer.cs:line 470
at Vintagestory.Client.NoObf.GuiDialogInventory.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\Dialogs\GuiDialogInventory.cs:line 551
at Vintagestory.Client.NoObf.GuiManager.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 401
at Vintagestory.Client.NoObf.ClientMain.UpdateMouseButtonState(EnumMouseButton button, Boolean down) in VintagestoryLib\Client\ClientMain.cs:line 2004
at Vintagestory.Client.SystemHotkeys.OnPrimaryMouseButton(KeyCombination mb) in VintagestoryLib\Client\Systems\Player\Hotkeys.cs:line 52
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 424
at Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean keyUp) in VintagestoryLib\Client\HotkeyManager.cs:line 394
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.OnMouseDownRaw(MouseEvent args) in VintagestoryLib\Client\ClientMain.cs:line 1974
at Vintagestory.Client.GuiScreenRunningGame.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 343
at Vintagestory.Client.ScreenManager.OnMouseDown(MouseEvent e) in VintagestoryLib\Client\ScreenManager.cs:line 935
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonDown(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 207
at OpenTK.Windowing.Desktop.NativeWindow.OnMouseDown(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.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 354
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 131
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95

Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 25/04/2026 15:03:46, Site = , Source = Application Error, Message = Nom de l'application défaillante : Vintagestory.exe, version : 1.22.0.0, horodatage : 0x693c0000
Nom du module défaillant : openal32.dll, version : 1.23.0.0, horodatage : 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Identifiant du processus défaillant : 0x8c3c
Heure de début de l'application défaillante : 0x1dcd4b3c6057eef

Origin_Alpha_43, Apr 24th at 8:21 PM

I just got the same issue as ManManJack

MadManJack, Apr 24th at 12:41 AM

Worked great for the first stone but the second one crashes my game when i use its final use. if that makes any sense. One thing i did notice was that for some reason the stone is on 2hp when it should be in steps of 5hp ( mod is default settings). so maybe that was the issue? idk

Crash Report

Running on 64 bit Windows 10.0.19045.0 with 32694 MB RAM
Game Version: v1.22.0 (Stable)
4/23/2026 5:38:15 PM: Critical error occurred in the following mod: repairmepatch@1.2.0
Loaded Mods: woodlogstack64@1.2.1, sortablestorage@3.0.0, spinningwheel@1.2.0, sticksfromfirewoodmallow@2.0.1, translocatorengineeringredux@1.6.5, game@1.22.0, vsimgui@1.2.2, zoombuttonreborn@2.0.2, egocaribautomapmarkers@5.0.1, bettererprospecting@3.2.1, betterruins@0.6.0, buzzwords@1.8.2, critchersgrapplehook@1.0.4, extrainfo@2.0.0, hunterbackpackprogression@1.0.1, infinitumpickupmod@1.2.9, metalpots@1.7.2, ndlwoodentorchholder@3.0.0, repairmepatch@1.2.0, creative@1.22.0, survival@1.22.0, watersheds@6.0.2, xlibfork@1.0.1, xskillsfork@1.0.5, xskillsgilded@1.3.18
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.API.Common.CollectibleObject.OnConsumedByCrafting(ItemSlot[] allInputSlots, ItemSlot stackInSlot, IRecipeBase recipe, IRecipeIngredient fromIngredient, IPlayer byPlayer, Int32 quantity) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1049
at RepairMe.RepairItem.OnConsumedByCrafting(ItemSlot[] allInputSlots, ItemSlot stackInSlot, IRecipeBase recipe, IRecipeIngredient fromIngredient, IPlayer byPlayer, Int32 quantity) in C:\Users\auros\Desktop\modDev\RepairMe-master\RepairMe\RepairItem.cs:line 27
at Vintagestory.API.Common.RecipeBase.ConsumeWildcardMatchIngredient(ItemStack inputStack, ItemSlot inputSlot, ItemSlot[] inputSlots, List`1 wildcardAndToolIngredients, IPlayer byPlayer) in VintagestoryApi\Common\Crafting\RecipeBase.cs:line 970
at Vintagestory.API.Common.RecipeBase.ConsumeInputShapeLess(IPlayer byPlayer, ItemSlot[] inputSlots, IRecipeIngredient[] ingredients) in VintagestoryApi\Common\Crafting\RecipeBase.cs:line 743
at Vintagestory.API.Common.GridRecipe.ConsumeInput(IPlayer byPlayer, ItemSlot[] inputSlots, Int32 gridWidth) in VintagestoryApi\Common\Crafting\GridRecipe.cs:line 209
at Vintagestory.Common.InventoryCraftingGrid.ConsumeIngredients(ItemSlot outputSlot) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 221
at Vintagestory.Common.ItemSlotCraftingOutput.CraftSingle(ItemSlot sinkSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\ItemSlotCraftingOutput.cs:line 178
at Vintagestory.Common.ItemSlotCraftingOutput.TryPutInto(ItemSlot sinkSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\ItemSlotCraftingOutput.cs:line 62
at Vintagestory.API.Common.ItemSlotOutput.ActivateSlot(ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryApi\Common\Inventory\ItemSlotOutput.cs:line 39
at Vintagestory.API.Common.InventoryBase.ActivateSlot(Int32 slotId, ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryApi\Common\Inventory\InventoryBase.cs:line 461
at Vintagestory.Common.InventoryCraftingGrid.ActivateSlot(Int32 slotId, ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 114
at Vintagestory.API.Client.GuiElementItemSlotGridBase.SlotClick(ICoreClientAPI api, Int32 slotId, EnumMouseButton mouseButton, Boolean shiftPressed, Boolean ctrlPressed, Boolean altPressed) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 999
at Vintagestory.API.Client.GuiElementItemSlotGridBase.OnMouseDownOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 794
at Vintagestory.API.Client.GuiElement.OnMouseDown(ICoreClientAPI api, MouseEvent mouse) in VintagestoryApi\Client\UI\Elements\Impl\GuiElement.cs:line 713
at Vintagestory.API.Client.GuiElementItemSlotGridBase.OnMouseDown(ICoreClientAPI api, MouseEvent mouse) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 762
at Vintagestory.API.Client.GuiComposer.OnMouseDown(MouseEvent mouseArgs) in VintagestoryApi\Client\UI\GuiComposer.cs:line 470
at Vintagestory.Client.NoObf.GuiDialogInventory.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\Dialogs\GuiDialogInventory.cs:line 551
at Vintagestory.Client.NoObf.GuiManager.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 401
at Vintagestory.Client.NoObf.ClientMain.UpdateMouseButtonState(EnumMouseButton button, Boolean down) in VintagestoryLib\Client\ClientMain.cs:line 2004
at Vintagestory.Client.SystemHotkeys.OnPrimaryMouseButton(KeyCombination mb) in VintagestoryLib\Client\Systems\Player\Hotkeys.cs:line 52
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 424
at Vintagestory.Client.HotkeyManager.TriggerHotKey(KeyEvent keyEventargs, IWorldAccessor world, IPlayer player, Boolean allowCharacterControls, Boolean keyUp) in VintagestoryLib\Client\HotkeyManager.cs:line 394
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.OnMouseDownRaw(MouseEvent args) in VintagestoryLib\Client\ClientMain.cs:line 1974
at Vintagestory.Client.GuiScreenRunningGame.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 343
at Vintagestory.Client.ScreenManager.OnMouseDown(MouseEvent e) in VintagestoryLib\Client\ScreenManager.cs:line 935
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonDown(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 207
at OpenTK.Windowing.Desktop.NativeWindow.OnMouseDown(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.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 354
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 131
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95
Thievishlogin, Apr 23rd at 10:47 PM

@ SilverValkyrie just tested it and it's working perfectly! Thank you so much!

SilverValkyrie , Apr 23rd at 10:56 AM

Thievishlogin its up , was a bit more then expected 

Thievishlogin, Apr 22nd at 12:42 AM

Any chance of this getting updated to 1.22? I tested it and it seems to not be working. Sorry to bother but this is one of my favourite mods.

ChaoticNox, Mar 27th at 7:57 PM

Almarek Some mods will do that, it is nothing to be worried about so you can let it do its thing (hit the backup button before just in case) and the message will go away the next time you will load your single player save or the server you play on restart.

Almarek, Feb 8th at 5:25 AM

Kinda wierd thing when adding this mod happening. After adding it, launching the game gives the world reload on update prompt like: "This save game was created with an older version of the game, to restore some of the blocks a remapping and world reload is required."
But if I disable the mod that goes away? Dunno if the games being wierd and thinking the mods changing the games version or something, I'm not really savvy with this stuff but just thought I'd say something incase this is a bug.

Samaya, Dec 29th 2025 at 6:13 PM

I like it, though I think it's a bit overpowered. Maybe make any tool you repair loose some maximum durability so that you still eventually have to replace it.

Kyrios34, Dec 3rd 2025 at 9:54 AM

this works with armor as well for some reason lol

Racer83, Nov 4th 2025 at 4:21 PM

Nartaga That worked! Thank You so much!

Nartaga, Nov 4th 2025 at 3:21 PM

Racer83 You put the whetstone in the crafting grid with the tool you want to repair. The output box should be the tool with more durability.

Racer83, Nov 4th 2025 at 10:28 AM (modified Nov 4th 2025 at 10:29 AM)

I'm embarrassed for asking this, but how do you use it?
I am new to the game and have made a whetstone, but couldn't figure out how to use it so i threw it out of my inventory.
Can also mention i am on the 1.21.5 version.

Vherkin, Sep 29th 2025 at 6:11 PM

SilverValkyrie that what i did. I put "brush" in the option and now it work.

Thanks you :)

SilverValkyrie , Sep 29th 2025 at 9:43 AM

Amarillo are you sure it works without the mod ? otherwise this is a "base-game" crash 


you might want to try running these commands in a seperate world 

.clientconfig maxTextureAtlasWidth 8192
.clientconfig maxTextureAtlasHeight 8192

 

 

Solution from https://github.com/anegostudios/VintageStory-Issues/issues/4771

SilverValkyrie , Sep 29th 2025 at 9:39 AM

Vherkin might be due to it being a tool and trying to apply the repair recipe
you can adjust the config and add something like "brush-dry" for  example this should remove all the recipes for the brushes 

Vherkin, Sep 29th 2025 at 4:51 AM

If installed with tailor delight, it cause a crash to desktop when looking at a dry paintbrush in the handbook.
Otherwise, work great. 

Laxxa, Sep 26th 2025 at 8:49 AM

Is it possible to configure repair values? And if so, how to acces it? Would be a neat addition to that.

Amarillo, Sep 24th 2025 at 4:26 PM

I had loaded the 1.20 version of the mod on my 1.21 world. It loads the whetstones but can not be used to repair. When I updated the server with this mod it crashes the game. Not sure if the error is related to this mod, but when only this mod is not present the crash dont happen. when re enabling this mod the crash happens again.

Crash Report
Running on 64 bit Windows 10.0.26100.0 with 32679 MB RAM
Game Version: v1.21.1 (Stable)
24/09/2025 17:40:00: Critical error occurred
Loaded Mods: 
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
   at System.Collections.Generic.List1.get_Item(Int32 index)
 at Vintagestory.Client.NoObf.TextureAtlasManager.RegenMipMaps(Int32 atlasNumber) in VintagestoryLib\Client\Render\Atlas\TextureAtlasManager.cs:line 382 at Vintagestory.Client.NoObf.TextureAtlasManager.<>c__DisplayClass52_0.<runtimeUpdateTexture>b__1() in VintagestoryLib\Client\Render\Atlas\TextureAtlasManager.cs:line 348 at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 786 at Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 752 at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 172 at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 719 at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 663 at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 113 at OpenTK.Windowing.Desktop.GameWindow.Run() at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 338 at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 133 at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95 Event Log entries for Vintagestory.exe, the latest 3 ================================== { TimeGenerated = 24/09/2025 17:30:02, Site = , Source = Application Error, Message = Nombre de aplicación con errores: Vintagestory.exe, versión: 1.21.1.0, marca de tiempo: 0x67fe0000 Nombre del módulo con errores: openal32.dll, versión: 1.23.0.0, marca de tiempo: 0x63dd31ad Código de excepción: 0x40000015 Desplazamiento con errores: 0x00000000000df046 Id. de proceso con errores: 0x86f4 Tiempo de inicio de aplicación con errores: 0x1dc2d649713b231 Ruta de aplicación con errores: C:\Users\PC GAMING\AppData\Roaming\Vintagestory\Vintagestory.exe Ruta de módulo con errores: C:\Users\PC GAMING\AppData\Roaming\Vintagestory\Lib\openal32.dll Id. de informe: 3fad8899-71f9-4056-bdf9-d359a1e0e4eb Nombre completo del paquete con errores: Id. de aplicación relacionado con el paquete con errores: } -------------- { TimeGenerated = 24/09/2025 17:29:44, Site = , Source = Application Error, Message = Nombre de aplicación con errores: Vintagestory.exe, versión: 1.21.1.0, marca de tiempo: 0x67fe0000 Nombre del módulo con errores: KERNELBASE.dll, versión: 10.0.26100.6584, marca de tiempo: 0x0a9b38fe Código de excepción: 0xe0434352 Desplazamiento con errores: 0x00000000000c66ca Id. de proceso con errores: 0x86f4 Tiempo de inicio de aplicación con errores: 0x1dc2d649713b231 Ruta de aplicación con errores: C:\Users\PC GAMING\AppData\Roaming\Vintagestory\Vintagestory.exe Ruta de módulo con errores: C:\WINDOWS\System32\KERNELBASE.dll Id. de informe: d5effdbe-7286-4ada-aa70-d6ec495009f0 Nombre completo del paquete con errores: Id. de aplicación relacionado con el paquete con errores: } -------------- { TimeGenerated = 24/09/2025 17:03:24, Site = , Source = Application Error, Message = Nombre de aplicación con errores: Vintagestory.exe, versión: 1.21.1.0, marca de tiempo: 0x67fe0000 Nombre del módulo con errores: openal32.dll, versión: 1.23.0.0, marca de tiempo: 0x63dd31ad Código de excepción: 0x40000015 Desplazamiento con errores: 0x00000000000df046 Id. de proceso con errores: 0x93ac Tiempo de inicio de aplicación con errores: 0x1dc2d305af8c705 Ruta de aplicación con errores: C:\Users\PC GAMING\AppData\Roaming\Vintagestory\Vintagestory.exe Ruta de módulo con errores: C:\Users\PC GAMING\AppData\Roaming\Vintagestory\Lib\openal32.dll Id. de informe: 9ff1b6f5-1cc6-4bf0-8b00-34ced42936b6 Nombre completo del paquete con errores: Id. de aplicación relacionado con el paquete con errores: }"
AustralianX, Sep 10th 2025 at 2:02 PM

Thank you so much! been too busy to log back in and check lately, so happy! 

SilverValkyrie , Sep 10th 2025 at 7:36 AM

Ayraeil you can make a patched content mod for that and overwrite the whetstone items types

Ashleyyy33, Sep 10th 2025 at 4:38 AM

amazing mod, tysm for this

Ayraeil, Sep 10th 2025 at 12:09 AM

Is there a way to manually change values myself?

Vanteal, Sep 9th 2025 at 4:23 PM

Thank you so very much! 

JokoJose, Sep 5th 2025 at 11:36 PM

LOVE YOU! even with 400% durability and rarity for higher durability, tools break so freaking fast. Imagine bying a pick axe in RL and having it break in 1 day of use... companies will go bankrupt lol (except for the maker)

Dookie6505, Sep 5th 2025 at 9:34 PM

SilverValkyrie Thank you so much Your a real one :D Love ya :3

SilverValkyrie , Sep 5th 2025 at 9:07 PM

Dookie6505 Done :3 


Just @ing all that were asking for a patch
Vanteal AustralianX

voxelbuster added the options to disable items as a lil treat