
Mods / RepairMe
Tags:
#Crafting
#QoL
#Simplification
Author: Infi
Side: Both
Created: Mar 22nd at 2:20 PM
Last modified: Mar 25th at 1:06 PM
Downloads: 2069
Follow Unfollow 49
Author: Infi
Side: Both
Created: Mar 22nd at 2:20 PM
Last modified: Mar 25th at 1:06 PM
Downloads: 2069
Follow Unfollow 49
Latest release (for outdated Vintage Story v1.20.6):
RepairMe1.1.0.zip
1-click install
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
}
Planned:
- Configurable limit how many times a tool can be repaired
Feedback, Feature Requests are very welcome~
Discord: @infi
Version | For Game version | Downloads | Release date | Changelog | Download | 1-click mod install* |
---|---|---|---|---|---|---|
v1.1.0 | 1371 | Mar 25th at 1:06 PM | Show | RepairMe1.1.0.zip | 1-click install | |
v1.0.3 | 490 | Mar 23rd at 12:31 AM | Show | RepairMe1.0.3.zip | 1-click install | |
v1.0.2 | 31 | Mar 22nd at 10:57 PM | Show | RepairMe1.0.2.zip | 1-click install | |
v1.0.1 | 80 | Mar 22nd at 7:02 PM | Show | RepairMe1.0.1.zip | 1-click install | |
v1.0.0 | 97 | Mar 22nd at 2:25 PM | Show | RepairMe1.0.0.zip | 1-click install |
Hey @Infi any chance you can make the whetstones stackable?
Hey @Infi this was his response to me @Scorives with that repair me mod, they may need to put in a null check for those items that you shouldn't repair, like my temporary ones created with magic.
Thanks for reply think your right as in his json files it states any new model needs a repair recipe my gues is he did not specify one for those items i already posted to his form waiting on a reply but i do appreciate the look into it for me.
Scorives can't see any RepairMe callpoints in the stacktrace, all seems to be vanilla related, so i assume its something on rustbounds side going wrong, as RepairMe doesn't really change anything related to the handbook.
issue with the rustbound magic update in the hand book can click the brilliant bag fine but clicking any tool in the hand book of the brilliant class from rustbound magic causes a crash. not sure if this can be fixed on your end or if it has to be fixed on the rustbound magic side
Game Version: v1.20.10 (Stable)
5/6/2025 3:10:28 PM: Critical error occurred
Loaded Mods: aculinaryartillery@1.2.5, autosifter@1.1.0, axleinblocks@1.20.1-rc.5, backpackpackStandardcontinued@1.0.0, bedrespawner@1.0.0, bettercrates@1.8.0, cairns12recoverablestones@1.2.0, chiseltools@1.14.17, clayworks@0.4.2, blocklayeroverhaul@1.0.2, fieldsandplateaus@1.0.8, millwright@1.2.0, more-chute-rotations@0.0.2, mushroom@1.0.3, overhaullib@0.2.8, plainsandvalleys@1.0.11, primitivesurvival@3.7.7, prospecttogether@2.0.3, snowcaps@0.0.0, somedisassemblyrequired@1.4.5, speararrowheadbits@1.1.0, specialexpandedbags@1.1.2, temporaltechnology@1.1.3, terraprety@6.0.2, torchholdersmithingplus@1.0.0, usefuldrifterloot@1.2.1, vintageengineering@0.3.7, game@1.20.10, vsimgui@1.1.8, awearablelight@1.1.31, betterruins@0.4.12, blacksmithenhancements@1.1.4, butchering@1.8.2, carryon@1.8.0-rc.4, cartwrightscaravan@1.4.0, combatoverhaul@0.3.9, commonlib@2.6.1, configlib@1.5.3, coreofarts@0.2.3, danatweaks@3.4.1, electricalprogressivecore@0.9.8, expandedfoods@1.7.4, extendedcreation@1.1.3, foodshelves@1.6.3, fromgoldencombs@1.8.12, healthbar@1.0.7, herbarium@1.4.0, hudclockpatch@1.0.0, immersivewoodchopping@0.8.1, immersivewoodsawing@0.2.8, infinitumpickupmod@1.0.1, labeledtrunk@1.0.5, lootablebloomery@1.0.0, maltiezcrossbows@1.2.0, miningtools@1.1.4, moreanimals@1.4.1, morepiles@2.1.3, petai@3.4.3, repairme@1.1.0, rivers@4.1.0, rustandrailroads@2.0.11, rustboundmagic@2.5.3, smithingplus@1.6.0-rc.2, stonebakeoven@1.1.6, stonerailings@1.3.0, storagecontroller@1.1.5, substrate@1.1.2, tabletopgames@2.10.4, toolsanimations@1.0.2, traitacquirer@0.9.6, creative@1.20.10, vsinstrumentsbase@2.0.1, survival@1.20.10, xlib@0.8.16, armory@0.2.4, artofcooking@0.2.4, artofgrowing@1.1.2, astriaporta@0.0.3, captureanimals@2.8.1, electricalprogressivebasics@0.9.9, em@3.2.1, helvehammerext@1.7.0, playercorpse@1.11.1, stonequarry@3.4.3, vsinstruments_quackpack@1.0.2, wildcrafttree@1.3.1, wolftaming@3.0.6, xinvtweaks@1.8.0, xskills@0.8.19, aogbreedingaddon@1.1.0, artsxskills@1.1.0, bricklayers@3.0.2, electricalprogressiveqol@0.9.9, rustboundmagicxskills@0.2.1, theworkingclasses@1.0.4, electricalprogressiveequipment@0.9.9, twccormcompatredux@1.0.0
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.API.Common.CollectibleObject.UpdateAndGetTransitionStatesNative(IWorldAccessor world, ItemSlot inslot) in VintagestoryApi\Common\Collectible\Collectible.cs:line 2461
at Vintagestory.API.Common.CollectibleObject.UpdateAndGetTransitionState(IWorldAccessor world, ItemSlot inslot, EnumTransitionType type) in VintagestoryApi\Common\Collectible\Collectible.cs:line 2398
at Vintagestory.Client.NoObf.InventoryItemRenderer.GetItemStackRenderInfo(ClientMain game, ItemSlot inSlot, EnumItemRenderTarget target, Single dt) in VintagestoryLib\Client\Render\InventoryItemRenderer.cs:line 315
at Vintagestory.Client.NoObf.InventoryItemRenderer.RenderItemstackToGui(ItemSlot inSlot, Double posX, Double posY, Double posZ, Single size, Int32 color, Single dt, Boolean shading, Boolean origRotate, Boolean showStackSize) in VintagestoryLib\Client\Render\InventoryItemRenderer.cs:line 194
at Vintagestory.Client.NoObf.RenderAPIGame.RenderItemstackToGui(ItemSlot inSlot, Double posX, Double posY, Double posZ, Single size, Int32 color, Boolean shading, Boolean rotate, Boolean showStacksize) in VintagestoryLib\Client\API\RenderAPIGame.cs:line 274
at Vintagestory.API.Common.CollectibleObject.OnHandbookRecipeRender(ICoreClientAPI capi, GridRecipe recipe, ItemSlot slot, Double x, Double y, Double z, Double size) in VintagestoryApi\Common\Collectible\Collectible.cs:line 2050
at Vintagestory.API.Client.SlideshowGridRecipeTextComponent.RenderInteractiveElements(Single deltaTime, Double renderX, Double renderY, Double renderZ) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\Richtext\SlideshowGridRecipeTextComponent.cs:line 338
at Vintagestory.API.Client.GuiElementRichtext.RenderInteractiveElements(Single deltaTime) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementRichtext.cs:line 482
at Vintagestory.API.Client.GuiComposer.Render(Single deltaTime) in VintagestoryApi\Client\UI\GuiComposer.cs:line 718
at Vintagestory.API.Client.GuiDialog.OnRenderGUI(Single deltaTime) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 398
at Vintagestory.GameContent.GuiDialogHandbook.OnRenderGUI(Single deltaTime) in VSSurvivalMod\Systems\Handbook\Gui\GuiDialogHandbook.cs:line 546
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 188
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 992
at Vintagestory.Client.GuiScreenRunningGame.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 242
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 695
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 670
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 334
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 130
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
Game Version: v1.20.10 (Stable)
5/6/2025 3:13:22 PM: Critical error occurred
Loaded Mods: aculinaryartillery@1.2.5, autosifter@1.1.0, axleinblocks@1.20.1-rc.5, backpackpackStandardcontinued@1.0.0, bedrespawner@1.0.0, bettercrates@1.8.0, cairns12recoverablestones@1.2.0, chiseltools@1.14.17, clayworks@0.4.2, blocklayeroverhaul@1.0.2, fieldsandplateaus@1.0.8, millwright@1.2.0, more-chute-rotations@0.0.2, mushroom@1.0.3, overhaullib@0.2.8, plainsandvalleys@1.0.11, primitivesurvival@3.7.7, prospecttogether@2.0.3, snowcaps@0.0.0, somedisassemblyrequired@1.4.5, speararrowheadbits@1.1.0, specialexpandedbags@1.1.2, temporaltechnology@1.1.3, terraprety@6.0.2, torchholdersmithingplus@1.0.0, usefuldrifterloot@1.2.1, vintageengineering@0.3.7, game@1.20.10, vsimgui@1.1.8, awearablelight@1.1.31, betterruins@0.4.12, blacksmithenhancements@1.1.4, butchering@1.8.2, carryon@1.8.0-rc.4, cartwrightscaravan@1.4.0, combatoverhaul@0.3.9, commonlib@2.6.1, configlib@1.5.3, coreofarts@0.2.3, danatweaks@3.4.1, electricalprogressivecore@0.9.8, expandedfoods@1.7.4, extendedcreation@1.1.3, foodshelves@1.6.3, fromgoldencombs@1.8.12, healthbar@1.0.7, herbarium@1.4.0, hudclockpatch@1.0.0, immersivewoodchopping@0.8.1, immersivewoodsawing@0.2.8, infinitumpickupmod@1.0.1, labeledtrunk@1.0.5, lootablebloomery@1.0.0, maltiezcrossbows@1.2.0, miningtools@1.1.4, moreanimals@1.4.1, morepiles@2.1.3, petai@3.4.3, repairme@1.1.0, rivers@4.1.0, rustandrailroads@2.0.11, rustboundmagic@2.5.3, smithingplus@1.6.0-rc.2, stonebakeoven@1.1.6, stonerailings@1.3.0, storagecontroller@1.1.5, substrate@1.1.2, tabletopgames@2.10.4, toolsanimations@1.0.2, traitacquirer@0.9.6, creative@1.20.10, vsinstrumentsbase@2.0.1, survival@1.20.10, xlib@0.8.16, armory@0.2.4, artofcooking@0.2.4, artofgrowing@1.1.2, astriaporta@0.0.3, captureanimals@2.8.1, electricalprogressivebasics@0.9.9, em@3.2.1, helvehammerext@1.7.0, playercorpse@1.11.1, stonequarry@3.4.3, vsinstruments_quackpack@1.0.2, wildcrafttree@1.3.1, wolftaming@3.0.6, xinvtweaks@1.8.0, xskills@0.8.19, aogbreedingaddon@1.1.0, artsxskills@1.1.0, bricklayers@3.0.2, electricalprogressiveqol@0.9.9, rustboundmagicxskills@0.2.1, theworkingclasses@1.0.4, electricalprogressiveequipment@0.9.9, twccormcompatredux@1.0.0
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.API.Common.CollectibleObject.UpdateAndGetTransitionStatesNative(IWorldAccessor world, ItemSlot inslot) in VintagestoryApi\Common\Collectible\Collectible.cs:line 2461
at Vintagestory.API.Common.CollectibleObject.UpdateAndGetTransitionState(IWorldAccessor world, ItemSlot inslot, EnumTransitionType type) in VintagestoryApi\Common\Collectible\Collectible.cs:line 2398
at Vintagestory.Client.NoObf.InventoryItemRenderer.RenderItemstackToGui(ItemSlot inSlot, Double posX, Double posY, Double posZ, Single size, Int32 color, Single dt, Boolean shading, Boolean origRotate, Boolean showStackSize) in VintagestoryLib\Client\Render\InventoryItemRenderer.cs:line 194
at Vintagestory.Client.NoObf.RenderAPIGame.RenderItemstackToGui(ItemSlot inSlot, Double posX, Double posY, Double posZ, Single size, Int32 color, Boolean shading, Boolean rotate, Boolean showStacksize) in VintagestoryLib\Client\API\RenderAPIGame.cs:line 274
at Vintagestory.API.Common.CollectibleObject.OnHandbookRecipeRender(ICoreClientAPI capi, GridRecipe recipe, ItemSlot slot, Double x, Double y, Double z, Double size) in VintagestoryApi\Common\Collectible\Collectible.cs:line 2050
at Vintagestory.API.Client.SlideshowGridRecipeTextComponent.RenderInteractiveElements(Single deltaTime, Double renderX, Double renderY, Double renderZ) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\Richtext\SlideshowGridRecipeTextComponent.cs:line 338
at Vintagestory.API.Client.GuiElementRichtext.RenderInteractiveElements(Single deltaTime) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementRichtext.cs:line 482
at Vintagestory.API.Client.GuiComposer.Render(Single deltaTime) in VintagestoryApi\Client\UI\GuiComposer.cs:line 718
at Vintagestory.API.Client.GuiDialog.OnRenderGUI(Single deltaTime) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 398
at Vintagestory.GameContent.GuiDialogHandbook.OnRenderGUI(Single deltaTime) in VSSurvivalMod\Systems\Handbook\Gui\GuiDialogHandbook.cs:line 546
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 188
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 992
at Vintagestory.Client.GuiScreenRunningGame.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 242
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 695
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 670
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 334
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 130
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
ShiroSlinky i will look into it, thanks for sharing
Confirmed with Toolsmith that the issue comes from their side :)
So it should be fixed in one of the next updates.
Hello!
Don't know who to send to this to for trying to see who needs to fix if possible. It seems there's a conflict between toolsmith and repairme where it crashes the game when trying to craft a tool with toolsmith.
at RepairMe.ItemPatch.OnCreatedByCrafting(ItemSlot[] allInputslots, ItemSlot outputSlot, GridRecipe byRecipe) in H:\worky\VintageStory_mods\RepairMe\RepairMe\ItemPatch.cs:line 17
at Vintagestory.API.Common.CollectibleObject.OnCreatedByCrafting_Patch4(CollectibleObject this, ItemSlot[] allInputslots, ItemSlot outputSlot, GridRecipe byRecipe)
at Toolsmith.ToolTinkering.CollectibleBehaviorToolHead.CraftTool(Single secondsUsed, ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, EnumHandling& handling) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\CollectibleBehaviorToolHead.cs:line 80
at Toolsmith.ToolTinkering.CollectibleBehaviorToolHead.OnHeldInteractStop(Single secondsUsed, ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, EnumHandling& handling) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\CollectibleBehaviorToolHead.cs:line 43
at Vintagestory.API.Common.CollectibleObject.OnHeldInteractStop(Single secondsUsed, ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1359
at Vintagestory.API.Common.CollectibleObject.OnHeldUseStop(Single secondsPassed, ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1183
at Vintagestory.Server.ServerSystemInventory.HandleHandInteraction(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\Inventory.cs:line 255
at Vintagestory.Server.ServerMain.HandleClientPacket_mainthread(ReceivedClientPacket cpk) in VintagestoryLib\Server\ServerMainNetworking.cs:line 238
at Vintagestory.Server.ServerMain.ProcessMain() in VintagestoryLib\Server\ServerMain.cs:line 957
This is the error the server gave me when crashing out of the server.
Maxilos33 it is planned, currently just busy with FFXIV :)
Considering the whetstone at the moment is able to repair every tool, would it be possible to add a whitelist / blacklist into the config so that one could limit it to only knives, only bladed weapons or exclude blunt weapons for example? Great mod nevertheless, keep up the good work!
Infi
hello, ha I didn't get the response notification x), but apparently Amarillo has it like me and I also have itemrarity so I'll see on their side if they haven't forgotten to incorporate the unknown items
Amarillo this issue comes from itemrarity and isn't limited to just RepairMe.
See https://github.com/raevendev/ItemRarity/issues/7
here is the log of the crash when trying to craft any whetstone
Running on 64 bit Windows 10.0.26100.0 with 32679 MB RAM
Game Version: v1.20.7 (Stable)
31/03/2025 13:44:11: Critical error occurred in the following mod: itemrarity@1.1.4
Loaded Mods: Allclasses@1.3.1, anticheesedist@1.1.1, autowalk@1.0.4, TA_fieldsandplateaus@1.0.6, indappledgroves@2.1.2-rc.1, primitivesurvival@3.7.6, storylesselk@1.0.0, usefultraders@2.2.0, game@1.20.7, bastion@1.1.0, bulwarkContinued@0.0.8, canmarket@0.4.12, carryon@1.8.0-pre.1, cartwrightscaravan@1.2.0, commonlib@2.6.1, cratelockfix@1.0.0, fairplayguardian@1.1.8, fromgoldencombs@1.8.12, hardcorewater@1.3.5, nbcartographer@2.0.11, noticeboard@1.1.0, plumbandcube@1.1.0, repairme@1.1.0, rpvoicechat@2.3.15, somethinginthewater@1.2.5, tabletopgames@2.10.1, unconscious@1.10.3, creative@1.20.7, vsinstrumentsbase@2.0.1, survival@1.20.7, woodenfortifications@2.0.5, xlib@0.8.16, em@3.2.0, itemrarity@1.1.4, playercorpse@1.11.0, stonequarry@3.4.3, thebasics@5.0.2-rc.1, vsinstruments_quackpack@1.0.2, xskills@0.8.17, bricklayers@3.0.0-pre.3
Involved Harmony IDs: itemrarity.patches
System.NullReferenceException: Object reference not set to an instance of an object.
at ItemRarity.Rarity.SetRarity(ItemStack itemStack, String rarity) in C:\Users\doria\Documents\Code\ItemRarity\ItemRarity\ItemRarity\Rarity.cs:line 120
at ItemRarity.Rarity.SetRandomRarity(ItemStack itemStack) in C:\Users\doria\Documents\Code\ItemRarity\ItemRarity\ItemRarity\Rarity.cs:line 90
at ItemRarity.Patches.CollectibleObjectPatch.ConsumeCraftingIngredientsPatch(CollectibleObject __instance, ItemSlot[] slots, ItemSlot outputSlot, GridRecipe matchingRecipe) in C:\Users\doria\Documents\Code\ItemRarity\ItemRarity\ItemRarity\Patches\CollectibleObjectPatch.cs:line 84
at Vintagestory.API.Common.CollectibleObject.ConsumeCraftingIngredients_Patch1(CollectibleObject this, ItemSlot[] slots, ItemSlot outputSlot, GridRecipe matchingRecipe)
at Vintagestory.Common.InventoryCraftingGrid.ConsumeIngredients(ItemSlot outputSlot) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 197
at Vintagestory.Common.ItemSlotCraftingOutput.CraftSingle(ItemSlot sinkSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\ItemSlotCraftingOutput.cs:line 176
at Vintagestory.Common.ItemSlotCraftingOutput.TryPutInto(ItemSlot sinkSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\ItemSlotCraftingOutput.cs:line 60
at Vintagestory.API.Common.ItemSlotOutput.ActivateSlot(ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryApi\Common\Inventory\ItemSlotOutput.cs:line 37
at Vintagestory.API.Common.InventoryBase.ActivateSlot(Int32 slotId, ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryApi\Common\Inventory\InventoryBase.cs:line 459
at Vintagestory.Common.InventoryCraftingGrid.ActivateSlot(Int32 slotId, ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 111
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 991
at Vintagestory.API.Client.GuiElementItemSlotGridBase.OnMouseDownOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 789
at Vintagestory.API.Client.GuiElementItemSlotGridBase.OnMouseDown(ICoreClientAPI api, MouseEvent mouse) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 757
at Vintagestory.API.Client.GuiComposer.OnMouseDown(MouseEvent mouseArgs) in VintagestoryApi\Client\UI\GuiComposer.cs:line 459
at Vintagestory.Client.NoObf.GuiDialogInventory.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\Dialogs\GuiDialogInventory.cs:line 549
at Vintagestory.Client.NoObf.GuiManager.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 393
at Vintagestory.Client.NoObf.ClientMain.UpdateMouseButtonState(EnumMouseButton button, Boolean down) in VintagestoryLib\Client\ClientMain.cs:line 1952
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 574
at Vintagestory.Client.NoObf.ClientMain.OnMouseDownRaw(MouseEvent args) in VintagestoryLib\Client\ClientMain.cs:line 1906
at Vintagestory.Client.GuiScreenRunningGame.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 337
at Vintagestory.Client.ScreenManager.OnMouseDown(MouseEvent e) in VintagestoryLib\Client\ScreenManager.cs:line 906
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonDown(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 201
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 334
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 130
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
Event Log entries for Vintagestory.exe, the latest 1
==================================
{ TimeGenerated = 28/03/2025 2:00:29, Site = , Source = Application Error, Message = Nombre de aplicación con errores: Vintagestory.exe, versión: 1.20.7.0, marca de tiempo: 0x66470000
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: 0x5650
Tiempo de inicio de aplicación con errores: 0x1db9efcc08fdef7
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: 8d982428-6863-4911-ba1d-4856c7dc00cd
Nombre completo del paquete con errores:
Id. de aplicación relacionado con el paquete con errores: }
@AcidNight please share the error log
hello, I just tested it on my server and when you try to craft it when you take it the client cuts out
I have no idea why it's working now, they were interfering before and nothing has changed. They are both working fine on my end now as well.
I tried to replicate the "From Golden Combs" conflict, but both mods work fine in my test.
Can you provide logs or more details how the conflict looks like?
Might be worth noting that this mod conflicts with From Golden Combs. Depending on which mod loads first, either the whetstone item is non-craftable and non-functional or the clay and langstroth hives break.
This mod is really interesting. I already have the one with the sharpening stone. I'll wait for the durability reduction of the repaired item. ^^
To be more in line with the idea, it would be great if the stone could be placed on a block like the other one and re-sharpened on it, but hey, that's going to be more complicated to code. x)
> i have a suggestion for tool repair limit.
Was thinking about something similar already
> I'll absolutely use this after it's made configurable
Is planned for the next version :)
> Configurable whitelist
Maybe in one of the future updates
The next update will also include 5(6) new variants
Flint (125 Durability), Lapis (300), Peridot (600), Amethyst (1000), Emerald (1500), Diamond (2000)
The tier of each variant depends on their rating in the Mohs Hardness Scale
i have a suggestion for tool repair limit. would it be possible to make it so with every repair the tool or weapon loses 1 total durability? it would be like loseing material over time. i think the devs of smithing plus has somthing like this with broken tool heads shows how many times its been repaired and less total durability on said tool/weapon. maybe they will give you permission to have a plugin mod so they can kinda work together? i would love to see these two features combind
I'll absolutely use this after it's made configurable, and if it doesn't break things when used in conjunction with the repairing from Smithing Plus. Feature request, configurable whitelist for what tool types are repairable with the whetstone? (It'd be cool, for immersion's sake, to make it only work with knives, spears, axes, etc)
loving the mod. feels essential
Thanks for all the reports about duplication, i found the issue and implemented measures to prevent such a thing from occuring.
1.0.1 has holding shift while repairing disabled and it will leads to an on-screen error, sorry for the inconvince
1.0.2 should have fixed all the problems.
1.0.3 hopefully
This is a great addition! Once you have the other variants in place, I'm guessing they will have their own durability levels? I will say that the current flint version's durability feels a little overpowered. It takes away the need to harvest flint (though I feel that flint is too abundant anyway).
As for issues, I find that I am unable to repair my flint spear and hoe. Not sure about the other tools as I haven't tried them yet.
Also, I had a one-time error that I wasn't able to repeat. VS seems to think XinvTweakPatch is involved. I restarted the game with XinvTweak disabled and had no errors. Then I re-enabled XinvTweak and got no errors?? So weird.
3/22/2025 9:45:44 AM: Critical error occurred in the following mod: repairme@1.0.0
Loaded Mods: tadmorecharcoal@1.0.0, ATadMoreTorchLife@1.0.0, aculinaryartillery@1.2.5, atwatersedge@1.5.0, axleinblocks@1.20.1-rc.5, signs@1.0.2, Beamium@1.1.0, bedrespawn@1.1.0, bettercrates@1.8.0, bf@0.0.3, BetterGrass@0.0.3, bettertraders@0.0.9, carpet@1.0.2, chiseltools@1.14.12, clayblock2clay@1.20.3, crackedrockweak@1.0.0, entitiesinteract@1.0.11, fixedpaths@1.0.2, floralzonescaperegion@1.0.15, floralzonescaribbeanregion@1.0.12, floralzonescentralaustralianregion@1.0.9, floralzoneseastasiaticregion@1.0.7, floralzonesmediterraneanregion@1.0.5, floralzonesneozeylandicregion@1.0.8, bovinae@0.1.4, caninae@1.0.30, capreolinae@1.2.5, casuariidae@1.0.22, cervinae@0.1.3, dinornithidae@1.0.14, elephantidae@1.0.8, felinae@0.2.8, machairodontinae@1.0.23, manidae@1.0.13, meiolaniidae@0.1.3, pantherinae@1.1.23, rhinocerotidae@1.0.16, sirenia@1.0.17, spheniscidae@1.0.8, viverridae@1.0.2, vombatidae@0.3.1, giantgouramis@1.0.2, immersivecorpsedrop@1.0.3, immersiveorecrush@2.2.1, juicyores@1.0.0, junesoccasionalextragrassdrops@1.0.0, junesoccasionalextrawetlanddrops@1.0.0, plantstograss@1.0.1, ATadMoreLight@1.0.0, knappingmastery@1.0.1, m00ngrass@1.0.5, manualquenching@1.0.4, manualscraping@1.2.1, millwright@1.1.8, mineralinguisticswithatadmoreinfo@1.0.0, more-chute-rotations@0.0.2, moreicons@1.1.0, morebonetools@1.0.2, mr@0.0.1, nacatfish@1.0.1, nadarters@2.0.0, nailsmold@1.0.2, natshumanskin@1.0.1, nobearjetpacks@1.0.2, OrnamentalFish@4.0.1, peacockbasses@1.1.2, plumpkins@1.0.3, primitivesurvival@3.7.6, prospecttogether@2.0.2, roas@1.0.0, scraps@1.1.1, SmokingChimneys@1.3.0, suevitebricks@1.0.0, terraprety@6.0.2, translocatormap@1.0.0, truesunfishes@1.1.2, unevenbricks@1.0.0, untamedwildsursidae@1.0.9, game@1.20.6, vsimgui@1.1.7, wforests@1.0.0-dev.1, abcsredux@1.0.9, AbsoluteProspecting@1.500.02, airmapfix@1.0.0, altmapiconrendererpatch@1.0.0, ancienttools@1.5.25, apebeams@1.0.1, egocaribautomapmarkers@4.0.1, autoatlas@1.1.1, awearablelight@1.1.31, betterentityinteraction@1.0.3, betterfirepit@1.1.5, betterfpcamera@1.3.0, betterjonasdevicesfixed@2.0.2, betteroutline@1.3.0, betterruins@0.4.9, blocksoverlay@4.2.0, bmt@1.0.6, carryon@1.8.0-pre.1, chestorganizer@1.2.3, chuteblockplacer@1.0.3, chutemod@1.0.0, commonlib@2.6.1, composter@1.2.1, configlib@1.5.2, danatweaks@3.4.1, debarkedlogintofirewood@1.0.0, deconstructchutes@1.0.1, doubleslabs@0.1.3, easyprospect@1.1.0, expandedfoods@1.7.4, extrainfo@1.9.8, fancyclouds2d@1.1.0, fancyplanters@1.2.0, farmlanddropswithnutrients@1.2.0, fixtogglesprint@1.0.0, floatingfish@1.0.1, foodshelves@1.5.3, freedomunits@1.1.4, fromgoldencombs@1.8.11, grenades@1.1.0, hangingbaskets@1.1.0, immersivewoodchopping@0.7.5, improvedhandbookrecipes@1.1.3, knapster@2.14.3, mannequinstand@1.0.5, medievalexpansionpatch@1.0.1, metalunittooltip@1.0.0, meteoricexpansion-reborn@1.3.0, moreanimals@1.4.1, morepiles@2.1.2, nooceantranslocators@1.0.1, oneroof@1.8.2, passthruchutes@1.0.2, petai@3.3.0, placeongrass@1.0.3, claywheel@1.1.2, resmeltableslight@1.1.0, repairme@1.0.0, rivers@4.1.0, smithingplus@1.4.0, somethinginthewater@1.2.5, spawnhighlight@1.2.0, statushudcont@3.2.6, stepupadvanced@1.0.4, storagecontroller@1.1.5, strspawnchances@0.1.6, customplaystyles@1.0.1, th3dungeon@0.4.1, th3restock@1.1.2, traitacquirer@0.9.6, mouseunlocktoggle@1.0.0, vanvar@6.0.11, Verticality@0.3.1, creative@1.20.6, survival@1.20.6, woodstain@1.3.1, animation-resync@1.3.0, apanserbjornstory@0.9.5, autoconfiglib@2.0.6, bbb@1.0.1, cats@3.1.1, em@3.2.0, feverstonewilds-1205@1.20.5, foxtaming@1.6.1, gespileslib@1.2.0, helvehammerext@1.7.0, junesbiomesoverridespatch@1.0.0, moreblueclay@1.0.1, onestick@1.0.1, pickupartist@0.2.0, playercorpse@1.11.0, stonequarry@3.4.3, th3dungeontopentrance@0.4.1, thriftysmithing@1.2.0, treetapping@1.0.0, wolftaming@3.0.5, xinvtweaks@1.8.0, bricklayers@3.0.0-pre.7, gespilesgran@1.0.1
Involved Harmony IDs: XInvTweakPatch
System.NullReferenceException: Object reference not set to an instance of an object.
at RepairMe.RepairItem.CalculateDurabilityChange(ItemStack repairedTool) in H:\worky\VintageStory_mods\RepairMe\RepairMe\RepairItem.cs:line 24
at RepairMe.RepairItem.OnConsumedByCrafting(ItemSlot[] allInputSlots, ItemSlot stackInSlot, GridRecipe gridRecipe, CraftingRecipeIngredient fromIngredient, IPlayer byPlayer, Int32 quantity) in H:\worky\VintageStory_mods\RepairMe\RepairMe\RepairItem.cs:line 16
at Vintagestory.API.Common.GridRecipe.ConsumeInputShapeLess(IPlayer byPlayer, ItemSlot[] inputSlots) in VintagestoryApi\Common\Crafting\GridRecipe.cs:line 388
at Vintagestory.API.Common.GridRecipe.ConsumeInput(IPlayer byPlayer, ItemSlot[] inputSlots, Int32 gridWidth) in VintagestoryApi\Common\Crafting\GridRecipe.cs:line 300
at Vintagestory.Common.InventoryCraftingGrid.ConsumeIngredients(ItemSlot outputSlot) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 199
at Vintagestory.Common.ItemSlotCraftingOutput.CraftMany(ItemSlot sinkSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\ItemSlotCraftingOutput.cs:line 108
at Vintagestory.Common.ItemSlotCraftingOutput.TryPutInto(ItemSlot sinkSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\ItemSlotCraftingOutput.cs:line 57
at Vintagestory.Common.PlayerInventoryManager.TryTransferAway(ItemSlot sourceSlot, ItemStackMoveOperation& op, Boolean onlyPlayerInventory, StringBuilder shiftClickDebugText, Boolean slotNotifyEffect) in VintagestoryLib\Common\GameContent\Inventory\PlayerInventoryManager.cs:line 248
at Vintagestory.API.Common.InventoryBase.ActivateSlot_Patch1(InventoryBase this, Int32 slotId, ItemSlot sourceSlot, ItemStackMoveOperation& op)
at Vintagestory.Common.InventoryCraftingGrid.ActivateSlot(Int32 slotId, ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 111
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 983
at Vintagestory.API.Client.GuiElementItemSlotGridBase.OnMouseDownOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 789
at Vintagestory.API.Client.GuiElementItemSlotGridBase.OnMouseDown(ICoreClientAPI api, MouseEvent mouse) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Inventory\GuiElementItemSlotGridBase.cs:line 757
at Vintagestory.API.Client.GuiComposer.OnMouseDown(MouseEvent mouseArgs) in VintagestoryApi\Client\UI\GuiComposer.cs:line 477
at Vintagestory.Client.NoObf.GuiDialogInventory.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\Dialogs\GuiDialogInventory.cs:line 549
at Vintagestory.Client.NoObf.GuiManager.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 393
at Vintagestory.Client.NoObf.ClientMain.UpdateMouseButtonState(EnumMouseButton button, Boolean down) in VintagestoryLib\Client\ClientMain.cs:line 1952
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 574
at Vintagestory.Client.NoObf.ClientMain.OnMouseDownRaw(MouseEvent args) in VintagestoryLib\Client\ClientMain.cs:line 1906
at Vintagestory.Client.GuiScreenRunningGame.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 337
at Vintagestory.Client.ScreenManager.OnMouseDown(MouseEvent e) in VintagestoryLib\Client\ScreenManager.cs:line 906
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonDown(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 201
at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods)
I ran into a similar issue while my friend and I were playing on Lan Server, I accidently held down shift and clicked on the repaired tool, and it crashed me out. I do not run immersive mouse mode.
Also after coming back in, it did create a repaired 25% duplicate of the original (I tossed one). However if you just tool + whetstone and pull the tool out WITHOUT holding any buttons, your good. So something is up with shift+repaired tool
Seems liek immersive handles the mouse item different, i will look into it later :) thanks for reporting
Crashed while repairing when holding shift+alt. with immersive mouse mode.. if i just normal left click no crash. only when holding shift
Edit: the crash has caused the repaired item to dupe in my inv. im guessing the game saved along with the crash.. happend twice now. once with my chisel and just again with tin bronze pickaxe. the chisel duped but the pickaxe dupe ended up being a ghost item..maybe because i stored away the chisel on the rack and the pick i tried to throw away in the water. but no pickaxe to throw.
Hope this helps with updating the mod.
Running on 64 bit Windows 10.0.22631.0 with 24314 MB RAM
Game Version: v1.20.6 (Stable)
3/22/2025 1:34:51 PM: Critical error occurred in the following mod: repairme@1.0.0
Loaded Mods: barstogears@0.1.0, barstotemporal@0.1.0, betterandimprovedweather@0.1.0, bettertraders@0.0.9, chiseltools@1.14.12, craftablemetalparts@1.0.0, fernslikegrass@1.2.2, grasstoropes@1.1.4, hangingoillamps@1.0.3, instandtemporalmobdrops@1.0.1, metalscraprecipe@1.0.0, nomonsters@1.0.3, obdoltools@1.2.2, pipeleaf@1.10.0, preservationmod@1.0.0, primitivesurvival@3.7.6, sticksfromfirelogs@1.3.0, storylesselk@1.0.0, temporal_gears_stack@1.0.0, tradie@1.0.3, game@1.20.6, zoombuttonreborn@2.0.0, ancienttools@1.5.25, bedspawnv2@1.4.0, betterruins@0.4.9, carryon@1.8.0-pre.1, chestorganizer@1.2.3, combatrebalance@1.3.1, commonlib@2.6.1, earlychiseling@1.0.1, extremefirestarters@0.4.0, farmlanddropswithnutrients@1.2.0, firewoodfromsticks@0.6.9, grassiergrass@1.0.0, grasstoflax@1.0.1, hudclockpatch@1.0.0, ndlchiselpick@2.2.0, pelaguswinds@1.0.0, rdishome@1.0.0, realloy@0.4.0, resmeltableslight@1.1.1, repairme@1.0.0, smithingplus@1.4.0, stepupcontinued@0.0.1, tailorsachet@1.0.1, creative@1.20.6, survival@1.20.6, em@3.2.0, mcbpicks@1.1.1, cookie12000stickbeam@1.2.0, bricklayers@3.0.0-pre.7
System.NullReferenceException: Object reference not set to an instance of an object.
at RepairMe.RepairItem.CalculateDurabilityChange(ItemStack repairedTool) in H:\worky\VintageStory_mods\RepairMe\RepairMe\RepairItem.cs:line 24
at RepairMe.RepairItem.OnConsumedByCrafting(ItemSlot[] allInputSlots, ItemSlot stackInSlot, GridRecipe gridRecipe, CraftingRecipeIngredient fromIngredient, IPlayer byPlayer, Int32 quantity) in H:\worky\VintageStory_mods\RepairMe\RepairMe\RepairItem.cs:line 16
at Vintagestory.API.Common.GridRecipe.ConsumeInputShapeLess(IPlayer byPlayer, ItemSlot[] inputSlots) in VintagestoryApi\Common\Crafting\GridRecipe.cs:line 388
at Vintagestory.API.Common.GridRecipe.ConsumeInput(IPlayer byPlayer, ItemSlot[] inputSlots, Int32 gridWidth) in VintagestoryApi\Common\Crafting\GridRecipe.cs:line 300
at Vintagestory.Common.InventoryCraftingGrid.ConsumeIngredients(ItemSlot outputSlot) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 199
at Vintagestory.Common.ItemSlotCraftingOutput.CraftMany(ItemSlot sinkSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\ItemSlotCraftingOutput.cs:line 108
at Vintagestory.Common.ItemSlotCraftingOutput.TryPutInto(ItemSlot sinkSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\ItemSlotCraftingOutput.cs:line 57
at Vintagestory.Common.PlayerInventoryManager.TryTransferAway(ItemSlot sourceSlot, ItemStackMoveOperation& op, Boolean onlyPlayerInventory, StringBuilder shiftClickDebugText, Boolean slotNotifyEffect) in VintagestoryLib\Common\GameContent\Inventory\PlayerInventoryManager.cs:line 248
at Vintagestory.API.Common.InventoryBase.ActivateSlot(Int32 slotId, ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryApi\Common\Inventory\InventoryBase.cs:line 442
at Vintagestory.Common.InventoryCraftingGrid.ActivateSlot(Int32 slotId, ItemSlot sourceSlot, ItemStackMoveOperation& op) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 111
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 966
at Vintagestory.API.Client.GuiElementItemSlotGridBase.OnMouseDownOnElement(ICoreClientAPI api, MouseEvent args) 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 459
at Vintagestory.Client.NoObf.GuiDialogInventory.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\Dialogs\GuiDialogInventory.cs:line 591
at Vintagestory.Client.NoObf.GuiManager.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 390
at Vintagestory.Client.NoObf.ClientMain.UpdateMouseButtonState(EnumMouseButton button, Boolean down) in VintagestoryLib\Client\ClientMain.cs:line 1931
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.NoObf.ClientPlatformWindows.Mouse_ButtonDown(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 198
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 334
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 130
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93