Mods / Toolsmith

Tags: #Crafting #Tweak #Utility
Author: JonR
Side: Both
Created: Apr 1st at 7:15 AM
Last modified: 2 days ago
Downloads: 12823
Follow Unfollow 499

Recommended download (for Vintage Story v1.20.4 - v1.20.10):
toolsmith_1.1.7.zip  1-click install


Before updating to 1.1.4!

If you edited the configs already and wish to keep your settings, copy the config files out of the config folder before you update and start the game! Configs will now automatically update and regenerate themselves with every new mod version! This makes it easy for everyone, no more having to manually reset them, unless you want to make changes everything is handled automatically! If you wish to make changes, just look in Toolsmith.json at the very top to turn this off. If you run a server, any changes to your configs should be sync'd with clients now.

 

Quick notice for version 1.1.0+!

If you used Toolsmith before this, I HIGHLY recommend that you back up your save before updating just in case, as a good bit of the core functionality has been reworked and made more dynamic! Also please delete your old config files and let the mod make new ones, default settings have changed a good deal, and old settings can be bad or cause trouble! If you are loading up an old world from before 1.1.0, you will need to run the Remapper that should pop up when you join, and then restart your game after it finishes. If you are on a server, your server admin has to do this and restart the server! Mod page has been updated with the new info, and I am in the middle of adding in the requested Handbook pages as well! Cause of this rewrite, I wanted to get it done and out along with a bunch of fixes, and mechanics have changed so now I can spend time writing better handbook info pages.


 

This is Toolsmith! Inspired by the old Toolworks mod and similar, but I rebuilt it from the ground up in my own way with two driving goals behind the mod. The first one is the base idea of giving your tools a bit more customizability and reusability by giving each part a durability, and the second is to create a more realistic feel for your tools. If this sounds like a change you've always wanted, keep reading on! It's been designed from the ground up to work alongside Smithing Plus, but it isn't mandatory, just recommended!

 

How will this change gameplay?

I wanted first and foremost to make it a system that instead rewards the player for interacting with it instead of penalizing, and most importantly, will work out of the box with any mod's tools so long as it is configured properly. To this point, if there are any mods you find do not work immediately, let me know and I can add compatability to the default configs! All tool and part detection and stat lines are fully exposed in the Config files, so adding compat or tweaking things should be as easy as just editing them. It should also be possible to add in your own materials for handles or bindings as you please, or adjust the default settings I set up! If you opt to stick to the vanilla method of just using sticks and no binding material? Your handles and bindings will have the same durability as a vanilla tool of the same teir. The main change on top of this is that your tool's head will be more durable (currently 5x vanilla tool tier durability), and if you keep it well maintained, it will last for a very, very long time.

This loops back to the second driving goal, a more 'realistic' feel for your tools. A real tool could stay functional for generations if it was well-kept, and as a friend of mine joked around with, 'If I bought an axe and it broke after chopping down three large trees, I'd be pissed! I'd demand my money back!' A big change Toolsmith makes is a deliberate step away from that more 'Survival Crafter' idea of consumable tools, and tries to make something a bit more like Valheim if you have played that. The cost is shifted a little away from the metal, and more to the handles and binding materials of your choice.

 

Thanks for giving it a look, and if you read this far I hope you enjoy the idea already - feel free to leave any questions or comments down below! Also apologies for perhaps not the best modeling work for the handles, it's simple and it works, but they don't look the best, hah. Any advice or assistance is appreciated though! Beneath here is a bit more of an in-depth breakdown of how the mod currently works, and what it involves, so please give it a read if you have further questions.


 

-- General Overview --

Right now, Toolsmith changes exactly that, your tools! It classifies them into one of two types, a Tinkered Tool or a Smithed Tool. A Tinkered Tool is a tool that follows the vanilla conventions of a Tool Head on top of a Stick to craft that tool, while a Smithed Tool is named such because it either has just a one-step process like smithing a Chisel or has a complex crafting recipe that lacks distinct generic 'parts', but this is expanding to include more and more. Both of these tools can also be classified as Blunt, which means it has a static Sharpness level and a much lower chance to damage the tool head on any use.

 

Sharpness and Wear -

Tools now have a second visual bar on them if they are not blunt! This second bar represents how sharp the tool is, and it is important to keep your tools from getting blunted if they aren't already supposed to be. For a quick overview, Sharpness will wear down as you use the tool just like Vanilla Durability, but as it lowers, the efficiency of the tool will slowly decrease. When you use a fully sharp tool, there is a small period where none of the parts - should it have multiple parts - will take any damage. This doesn't last too long as that level of sharpness will quickly deteriorate, but it is a reason to fully sharpen them when you choose to! After this though, the handle and bindings of a tool will take damage again, but until the head gets more dull it still might be able to go without chipping or taking durability hits.

As the tool gets more dull through use, this chance to damage the head will go up until it is always happening on every use - to remedy this, you will want to hone your tool on a Grindstone or Whetstone! While your tool gets more use and becomes duller, it slowly incurrs a steady chance of acquiring a Drawback. Drawbacks are small debuffs that will effect one part of the tool or another, like the head chipped a nasty chunk out of it and is at risk of more damage to that spot, or maybe a fracture starts to form in the metal and if you keep straining it, it could entirely crack apart. ( -- Drawbacks are not currently implemented yet, but are in progress! -- )

The durability bar still functions like it should, but for a Tinkered Tool it will visually display whatever durability is the lowest in your tool. That means if you use a Handle that is almost broken in a fresh tool, it will reflect that!

The Math Breakdown

To go along with the basic description of Sharpness above, I'll break down the more specific points of the math involved and the curve calculating when and what exactly happens. This may get a bit math-intensive, so it might be hard to understand for some people!

Durability Damage -

Probably the biggest factor here, the durability. When the tool is at or above 98% sharpness, no part of the tool will be damaged if you use it, but this still consumes a point of Sharpness. This is true for both Smithed tools and Tinkered Tools! After this point, the "Head" of the tool - or in the case of a Smithed tool the tool itself - will have a flat (and configurable) chance to get damaged, by default it is 15% likely to take damage on any use. Should the tool drop to a completely dull state at 0 sharpness remaining, you will incur a guaranteed drawback and should you choose to keep using this tool in this state, the head will take double the durability damage. You probably should sharpen it at this point!

 

Handle and Binding -

For tools with a handle, binding or other parts, the bindings will start to damage after the tool drops below 98% sharpness, and the handle will start to damage after it hits lower then 95%. Below these points though, it is a guaranteed chance to damage barring other modifiers on the tool like a grip or treatment. But below this point Sharpness will not effect the chances.

 

Tool Speed -

While your tool is sharp, at or above 90% sharpness, you have a slight speed bonus since the tool is so sharp! It comes out to a small increase of 5% to the speed of the tool. Conversely, when the tool is starting to get blunt, it will be harder to use effectively and you will have a 10% speed penalty. It isn't too much, and better parts can still easily offset this, but it's there to encourage you to hone the tool back to max!

 

Drawbacks - (while not implemented yet, it will be in the future!)

When your tool is above 80% Sharpness, there is no chance for anything to go wrong with it! After this point, it is a slow curve upwards to a small chance maxing out at 20% sharpness remaining, after which the chance remains constant. So the more dull the tool, the higher the chance for something to go wrong with it! But, your tool can only ever have a single Drawback at a time, and it can be repaired in different ways depending on the Drawback in question. More to come on this when it is further implemented!

 

Grindstone and Whetstone -

These are both used to re-sharpen a tool, in exchange for damaging the Tool or Tool's Head durability! The Grindstone can be used any time and won't really wear down since it's such a large chunk of stone, but Whetstones on the other hand are a more portable form of sharpening your tools. They are knapped from any knappable stone to make a flat surface on which to try and hone your tools, but they tend to wear out fairly quickly and only last about three full sharpens before you'll have to grab another. There will be upgrades to these to come that last longer, or provide a better curve for the damage and resulting in less durability damage overall, but they are in progress. For now, it is better to sharpen once and for a long time, as the longer you sharpen your tool for, the less damage it will take. But if you frequently oversharpen your tools, you will find them wearing down a lot faster!

The Math Breakdown

This one will be shorter then the Sharpness at least! But it still goes hand in hand, of course! By default each 'tick' of sharpening will return 1% of the total Sharpness, so that it is now consistant how much is built up and how long it will take to go from 0 to 100.

Durability Damage -

When you start honing your tools, instead imagine this works from reverse compared to Sharpness's effects - starting at 0% sharpness and working up to 100%. The honing math is based on the duration you have been honing the tool; the overall sharpness % you have regained during that honing session, not the sharpness levels itself! It is important to keep that in mind for these percentages.

From 0 to 20% of the total sharpness, the total sharpness honed will be consumed from the durability of the tool or tool's head at a 1 Sharpness for 2 Durability. Then it will gradually decrease linearly as it goes from 20% total sharpness honed to 40%, at which point it is an even 1 for 1 ratio. After this point though, to encourage longer periods of honing, very quickly drops off to a 5% chance to damage the head at all at 50% Max Sharpness. After this point it sits at a constant 5% chance to actually damage the durability! So sharpening once for longer periods and maxing it out gets the most out of it!

 

Construction and Deconstruction -

There are a few ways you can put together your Tinkered Tools now! The first obvious way is just through the Grid Crafting method if you prefer that, I was able to procedurally generate recipes for every handle, head and binding so they should be possible to construct that way. But personally I find it more fun to use the custom In-Hand crafting method that was modeled after Salty's Manual Crafting and it's similar inspiration of the vanilla Scrap Tool Bundle.

To build any Tinkered Tool, you can take the Tool Head you want and hold it in your main hand, then place a Handle material in your offhand. Now just hold rightclick to bundle them together and you will produce a single item, a Head and Handle pair! This intermediary step lets you set aside a head with a handle before you make the full tool, but they do not stack. When you want to actually construct the two into your tool proper, you can optionally grab a Binding material and hold that in your offhand once again and hold rightclick while holding the Part Pair in your main hand just like before. Even without a binding this works - and after a bit of crafting, you'll have a complete tool!

To Deconstruct your tools before they break, all you have to do is take the tool in question to your Grindstone or your Workbench. If you are using your workbench, look at the Vise to the left side of the workbench and hold rightclick on it with the tool you wish to deconstruct. If you are choosing to use your Grindstone, you can just do the same but anywhere on the block. No matter what method you choose to use, if your Binding material is damaged at all you will be unable to recover it successfully since it needs to be damaged to take apart the head from the handle without breaking those pieces any. So please be aware if you make any mistakes constructing your tool, be sure to take it back apart before you use it!

 

Reforging a Tool Head and the Workbench -

Or a metal-based smithed tool!

You will need a Workbench to start a proper reforge as you need a nice surface and some extra tools (supplied from the toolbox on the Workbench itself) to prepare the item and get it ready for reforging. Over to the right of the Workbench, infront of the Toolbox, is the proper place for it. If you have a tool head or smithed tool that has less then 90% durability remaining in it, just put it down on your workbench and grab your smithing hammer to give it a nice whack with Rightclick to properly prepare it for reforging. This will convert it back into a Smithing Recipe workpiece, but you will notice that based on the amount of damage that the tool sustained before this, some portions of the metal head will be missing and need replacing or that a bit of metal has been bent out of shape. This is where Smithing Plus comes in handy! Using it's Smithing with Bits you can easily patch this up without using a full ingot and in return your head will be almost brand new once more!

Currently the other slots on the Workbench, the five slots in the middle, they only store any tool part for now but will be used in the future as another way to construct your tools. For now though, it might be nice to display some of the parts you have been working on!


 

-- The Tool Types --

 

Tinkered Tools -

These types of tools are the main meat of the mod! These tools are where you can put more care and effort into producing them, make a better proper handle, give it a grip, maybe even treat the wood, and finally secure that head on better with a proper binder. There are a few options for putting them together, so for now pick whatever you please. Because vanilla has no requirements for binding materials, you can opt to not use one - and instead just have to slap that tool head back on the handle when it comes off again. Just check the tooltips for the Heads and Handles to see their remaining durability percentage when your tool might fall apart. In addition to this, all valid Handles, Bindings and Tool Heads will have tool tips added to them that indiciate what part they are as well as if they are looking to be in a decent condition or not. Check the dropdowns for a bit more on each of these part types! Generally they are organized with the cheapest and weakest at the top, and the more expensive and better options following.

Tool Heads

These will depend on what tool you are looking to craft, but the materal choice is still the most important. The base durability of the basic 'vanilla' tool is what determines the base for the others on your tools. So Iron or Steel tools will have a similarly larger health pool like in Vanilla over Bronze or Copper, and of course the use-speeds always get better with better metals. This is to keep a similar level of scaling that is in base game tools - even allowing for purely vanilla values for use time - while still expanding on it with care. The only default change from Vanilla is that a Tool's Head will have a part durability that is 5-times that of the base tool, making it a good bit more reusable even if you are slapping them on sticks! This is also configurable in the options though, and can be tweaked as you please.

When it comes to Tool Sharpness, you can either grind the full tool, or just the tool head alone, and it will hone the item. Some tools have a Blunt Head which wont need to maintain a sharp edge to keep it effective, instead they will just have a small chance for taking damage on use that remains flat the whole life of the tool. This only effects the head though, not the handle or bindings. A solid block of metal for your smithing hammer is pretty unlikely to wear down just from using it as it was intended!

Handles

There are four different classifications of handle you can use for a tool, the better handles also take some strain off the bindings, and let them last longer:

  • The vanilla stick - It's really nothing special! Default stats all around.
  • Bone - It's a little better then a stick, providing a small boost to the durability, but you still might be better off making a proper handle.
  • Crude Handles - Take a knife to some spare firewood to shape it a little better and it can work a little better over a stick, but otherwise isn't too noteworthy. You can add a grip to it, but it's unlikely treating this wood will do much to help.
  • Carved Handles - When you have a Saw, or another way to make support beams, instead take this properly cut piece of hardwood and carve that into a handle! It lasts a good bit longer over the Crude, and you can also treat the wood!
  • Professional Handles - These take a bit more of an investment, but perform the best. Similarly crafted like a Carved Handle, except the addition of some abrasives in the form of sandpaper (Pitch Glue, Sand of any type, and Parchment) to help give a more ergonomic shape to the handle. This too can have it's wood properly treated, and a grip attached.

The various tool handle crafting recipes available

Grips

Adding a grip to your tool can make it easier for your Seraph to use that tool a little faster, and thanks to having a proper grip, sometimes a proper swing will negate any damage to the handle, extending it's use! Currently there are a few options for grips, but don't go wasting that sturdy leather on a crude tool handle (or if you really want to pull a power move... go right ahead):

  • Twine Wrapping - It helps keep your hands on the tool, but isn't the most comfortable to hold. It'll give a small chance to strike true.
  • Linen Cloth - If you have the linen to spare, this can help give a bit of a use speed boost as well as a higher chance to strike true over Twine!
  • Leather - A right proper grip material, with bonuses similar to linen, leather increases them just a bit further.
  • Sturdy Leather - The best grip, if expensive to make. Even better over Leather, this one might be for those very well-off Seraphs! But don't waste this one on a Crude Handle!

Finally, a grip isn't required, either! Maybe you don't have any materials to spare, or any on hand, so a lack of grip is as valid as having one! It just, well, won't provide any bonuses of course!

The crafting methods to add a grip.

Wood Treatments

Inspired by medieval methods of treating wood, there are a few options on hand to protect the handle from the elements that make sense for the time:

  • Fat - Coating the handle in fat and letting it dry for a day will protect the wood a little better. This provides a decent bonus to the handle's durability when used!
  • Beeswax - Using beeswax instead can better seal the wood, and after a day of drying, provide a better durability boost over fat.
  • Oil - The best treatment for your tool handles is coating it with Flax or Seed oil and letting it soak in, this takes two days to dry fully over the others. This will give the largest durability bonus, but as of currently the only usable oils come from other mods - check Mod Compat below for more information. Let me know if there might be more compat to add, but it only takes a recipe to make it so it's fairly easy!

Once again though, a treatment isn't required! A non-treated handle works as well as a treated one, it just might not last as long!

Bindings

Bindings are important for keeping that tool head secure. Without one you can still use a tool, but it'll come loose after a while and need to be re-attached! The stronger the material used for the binder, the longer it will last for and even help dissipate some force from the tool's strikes so the handle lasts a little further. Most of the time, the binding material will be damaged just through using the tool, so unless it has been recently applied and not used too much, the binding likely will not be recovered. Optional Bindings include:

  • Twine - Twine (of various types as well, including Wool and Stuff's Wool Twine) will help secure the head on for longer, but it still fairly flimsy.
  • Rope - Rope (or Cordage from Primitive Survival) is much sturdier over basic twine, lasting for a good while longer as well as taking a bit of strain off the handle.
  • Leather - Leather (or Leather Strips from Tailor's Delight) is the third of these classic binding options, it has the most durability along with the highest window to be reusable of the first three options here.
  • Glue - Glue is very strong, but it cannot be reused of course. That's the only trade-off here!
  • Nails and Strips - Any of the Bronzes, Copper, Iron meteoric or normal, steel, or even Cupronickel (also the vanilla 'Metal Parts' item!) metals can be used as a binder for your tools. The metal's stats scale similarly to the vanilla stats, while Cupronickel is similar in effectiveness to Tin Bronze. In addition to potentionally being able to recover the nails from your handle and reuse them, no matter what even if it's too damaged, breaking this binding will let your Seraph recover some metal bits from it.

If any of these three main parts (Head, Handle or Binding) hit zero durability, the tool will fall apart, but if the Head or Handle still have durability you can reuse them. As mentioned before in the Bindings section, if they have not been used to below a certain window they can be reused again. This should cover most of everything about Tinkered Tools!

 

Smithed Tools -

Smithed Tools are both tools that you may create through smithing that result in the finished tool upon completion - or any more specific tool that does not follow the conventions of having different parts like a handle or a binding, where those would not make sense to use. Some examples of each are the Vanilla Shears and Chisel, since they are produced fully as soon as you finish their smithing recipe, and some modded tools like the Rolling Pins from Expanded Foods, or the Creaser from Art of Growing. They represent a more singular tool that doesn't have varied parts, but those that still can benefit from the Sharpness and Reforging (where applicable) will be able to!

These tools are still crafted in their own ways, but they can also be considered a Blunt Tool just like Tinkered Tools can. If you have a Blunt Smithed tool, it functions the same as a Blunt Tinkered Tool!

 

Blunted Tools -

As mentioned above, a Blunt tool is a separate classification from a Smithed one or a Tinkered one. While for those two a tool can be one or the other, any tool can be Blunt in addition. The main difference between a blunt tool and a regular one is right in the name, this tool doesn't really use sharpness to determine it's effectiveness. Instead it has a consistant chance to damage itself upon being used, and this chance does not fluctuate as you use the tool, barring any Drawbacks that may change this. By default the chance to actually damage a blunt tool is a small 2% chance on any use to damage either the tool itself or the tool head, but if you have a Tinkered Tool or anything with parts, this only effects the blunted part in question - and the others will still take durability damage. So watch your bindings and handles on your smithing hammers, but the head should last a long time! In addition, any metal tool can still be reforged when the durability gets low so you can always keep around your favorite smithing hammer or wrench.


 

-- Miscellanious Tweaks or Changes --

For now this section will be small, but it is for any other changes that Toolsmith makes that don't really fall into one big grand catagory. Right now all Toolsmith includes is a patch for Copper to make it Cold-Forgable! Cold forging copper is possible, so why not also ingame? But you still need to heat up any bits or additional metal to adhere it on to an existing piece! It's at least easier to pound out a shape and play around with the crafting system when you are getting started forging for the first time.


 

Config Help -

If you want a small guide to the config options for Toolsmith, check in this section! But it is in need of a rewrite again with the recent 1.1.0 update, so please bear with me! I'm always available to answer questions and provide assistance in the Toolsmith Discord thread on the official Vintage Story Discord! If anything seems off from the new defaults, it might need an update.

Toolsmith.json

This file contains the core config options for the mod, turning on and off certain settings, adjusting some values, and the core registering of what actually constitutes a 'Tool' in the Mod's system. Always the registering of a tool and parts will be contained in the bottom portion of the file so the important and simple settings remain on top. The current simpler settings are as follows:

  • PrintAllParsedToolsAndParts - Default: false, if enabled will print debug information to the log about everything the mod parsed as the various tools and parts. Helps if you are looking to configure the settings for more mods yourself!
  • DebugMessages - Default: false, if enabled Toolsmith will print general debug messages throughout the mod. Please check the source code to see what is logged if curious.
  • HeadDurabilityMult - Default: 5.0, accepts any decimal value. This value is multiplied against the Tool's base Vanilla durability to determine a Tool Head's maximum durability. Set it to 1.0 for a Tool Head to have strictly vanilla numbers, but this does not change Handle or Binding Durabilities. It's recommended to at least have it set to 2 or 2.5 if you want to take full advantage of the current best tools and bindings without having to Grindstone your toolhead multiple times, but I found 5 seems to work for how I like things. Don't set it negative!
  • GrindstoneSharpenPerTick - Default: 5, this value is the amount of durability repair per tick of the Grindstone and only accepts integer values. Set it higher to use the Grindstone faster, or lower if you want to make it take longer to grind a tool back into shape. Don't set it negative!

 

Now after this point is where the config gets more complicated and can be ignored unless you are looking to add compatability yourself to other mod's tools, or add functional parts to handles or bindings. Generally this part of the config shouldn't be touched unless you know what you are doing, and this section is what is important to regenerate now and again if you are looking to update the default config settings. Any time inherent mod compatability is added, it will be changing this section most likely. I won't include the default strings for these because it would be a wall of settings, it would be better to just let the mod regenerate a fresh config file if you wish to take a peek at the settings! It's also going to be a bit more technical in the explanations as well, it helps if you understand the layout of the base game's Json files for items and blocks. The first five settings use Regex to parse through the loaded items in the game while looking for what validates as a 'tool', and which kind it is. For these five settings, if you want to add an entry, just follow the default example and add a | before the ) and followed by your additional string to compare with.

  • ToolHeads - This string contains various key fragments of the code to detect a tool's head. Vanilla's Axe Code is just 'axe' while the Axe Head is 'axehead', so it goes through all the found TinkerableTools and finds recipes that are used to craft them, then looks at the ingredients to determine what ingredient's code contains any of the strings in this bunch. Since an Axe in vanilla is made from a GridRecipe of an "axehead" and a "stick", it will match with the "head" in the default string to determine that this item is the Tool's Head used to craft this tool.

 

These three strings dictate what the mod looks for and considers a tool.

  • TinkerableTools - These Tools are the ones that can be crafted like a Vanilla Axe or Pickaxe, a tool that takes a handle and a head. Any that match with these strings will be considered a valid Tinkered Tool as explained above! This only needs the Code of the tool's item, and it will match with all variants of that tool. Sometimes it may help to be a bit more specific in some cases and also include parts of the variants as well, an example of this is in the Stone Quarry compat. All of their Chisel tools are the same base 'chisel' item definition with variants for each tool, "chisel-finishing" or "chisel-wedge" for example, but these are specifically Tinkerable Tools and not Smithed (single part) Tools. Toolsmith looks for Tinkered Tools first and then Smithed Tools second, so entries in this string will match first and exclude that tool from being checked for if it is a Smithed Tool.
  • SinglePartTools - This is very similar to the above setting, except that it will be matched with tools that are Smithed Tools. Since this checks only after Toolsmith determines it is not a Tinkerable Tool, there's no need for adding anything that is already being matched with something on the Tinkerable Tools string, but it shouldn't cause any problems. It is important to remember that since this checks only after it has been determined something is not a Tinkered Tool, that can be used to filter more specific cases into Tinkerable Tools first and the rest can hit a more generic Code here. These tools again just operate on a single durability value of the tool, so it can be used to catch any item with durability that you wish to add the Grindstone or other mechanics to.
  • BluntHeadedTools - This string is used to check after Toolsmith has found a Tool, and checks if a tool is a Blunt Tool - one that's head won't be damaged from general use. Mainly for Hammers and Wrenches in vanilla, but it can also be used to just tell the mod not to damage this tool's head (or tool entirely if a Smithed Tool) on use, but it still will take use damage on the Handle and Bindings if it has them. While it's called 'blunt' headed tools, it can be used to simply tell Toolsmith to not allow for the Grindstone to interact with this tool in cases it might not really make sense. No matter what type of tool it is, it will compare against this string, so all types of tools can be 'Blunt'.

 

  • PartBlacklist - This string is checked any time Toolsmith has found something that matches any of the Tool type (Tinkered or Smithed) strings above, and is used to exclude any item from actually being matched as a Tool. This is used in the Vanilla game to prevent Toolsmith from considering a Helve Hammer from being considered a Tool, since it doesn't actually use durability, but it still has 'hammer' in it's Code.

 

Finally, these two config settings are entirely explicitly defined Dictionary entries of full Codes as the key, for respective tool parts, handle or binding - followed by any tags for the specific stat information defined in the other file.

  • ToolHandlesWithStats - This entry is all items that will be considered a Handle for a Tinkered Tool. Each item needs to be defined separately and completely, the best examples to check are the handles Toolsmith adds. It needs the full Code with variants string as the Key. It may help to look at the handles Toolsmith adds for how they fit together. Unless someone is making an expansion mod for Toolsmith, you probably won't have to mess too much with this setting at all.
    • handleStats - Set this to be the same as the key defined in PartStats.json for the handle core. Used to define the base material, or tier level, of the handle. IE stick, bone, crude...
    • gripStats - Set this to be the same as the grip key you want assigned to this Handle. This is based on the variants of the handles.
    • treatmentStats - This defines if the handle has been treated or not, similarly to the grip, based on the variants of handle.
  • BindingsWithStats - Similarly to the Handles, the Keys for this setting are the explicit full code for the item in question to be allowed to be considered a Binding. For now it only has one ID associated with it, the bindingStats key. This helps to define one set of stats and use it for multiple bindings easily and only have to edit just one entry to change all of their stats.
ToolsmithPartStats.json
Still in construction, sorry!

 

Future Plans and Ideas -

Peek here if you want an idea of what I have planned or am currently working on! Feel free to add any ideas or criticisms in the comments as well and I'll try and listen to them! If it's really a great idea and it fits the idea of the extremely well, it might inspire me to add it sooner then later, haha.

The Upcoming Secrets

Next up on the list:

  • Better visuals and models! Actually made progress on this part! Handles will show what wood they are made of, along with rendering the different addons dynamically! Currently tools themselves will look entirely like the base vanilla or modded tool's model for that material type, so please check the tooltip for the detailed breakdown of the parts (for Tinkered Tools at least!) At least I have a proof-of-concept right now in the form of the Handle and Head Pair item! It renders BOTH of them as the item! (Also the handles themselves had a huge overhaul too so... if you are technically inclined that might be interesting as well) This will be tough to get visual support for every mod possible, simply because it would be incredibly difficult to account for every possible mod out there, but if I can find a way to at least provide a placeholder, that might work out.
  • Toolsmithing Weapons and Combat Overhaul integration. Right now it just lets all weapons default to vanilla mechanics, and doesn't touch them. I'd like to change this eventually, but since I love using Combat Overhaul, accounting for that will take time and possibly some special effort! Would be nice to add some additional tweaks or modifiers to them though... Serraded Blade for bleed? Poison, perhaps? Who knows quite yet, nothing is set in stone. Maltiez added stats for the weapons based on attributes, so that means that any Tinkering done on the weapons could have an even greater effect, too!

 

Later down the line (or just constant progress now and again):

  • Further out-of-the-box Mod Compatability. For at least my modpack, this has already been configured to work with everything in there and it contains some big mods like Primitive Survival and Ancient Tools, and especially QP Chisel Tools!
  • Integration with the Wood Lathe mod! I REALLY want to get this working with that, because I absolutely wanted to add proper wood-turning for handles and more to Toolsmith itself, so this mod being made is AMAZING. Perhaps another set of tool handles specifically from the Lathe? Who knows! It's really cool!
  • Some Misc ideas: Blacksmith Gloves, Bellows maybe, Metal Smithing Tongs... Naming your tools? Recycling old parts that are mostly destroyed (handles and such into wood or sticks)?
  • Perhaps once weapons are working better, a method to restore the Ruined tools back, or at least use them as a blueprint or study to craft a replacement blueprint! Idea offered by v99 on the Discord!
  • Some more debug commands for editing the growing Attribute trees. Oh man. I should write a specific command to target a specific tool attribute or part... That saves me from having to write tinkeredToolHeadDurability 50 times :P

 

Mod Compat -

If you find something that isn't working as listed here, do let me know! If you also find a mod that has tools that you want to integrate with Toolsmith, let me know those mods! I can help provide configs and update the defaults packed with the mod as I hear about them. Below is the list of mods that I have personally used in my own playing of the game, or have been alerted to and been able to update the default configs to account for them as well. Please read through this if you have any questions, and feel free to let me know if anything was missed or needs an update!

Mods already confirmed working
  • Ancient Tools (Adze, Wedges and Mallet)
  • Primitive Survival (Cordage can be used as a Binding material)
  • Stone Quarry (All the Chisels and Rubble Hammer)
  • Tailor's Delight (Awls, Leather Strips as a Binding material)
  • QP Chisel Tools (Every tool it adds should be accounted for! Most are 'Smithed Tools' though and can be repaired, but a good number have been registered as 'blunt' so they take low low damage. It's for decor anyway!)
  • Spyglass
  • In Dappled Groves (Adze and the different Axes)
  • Art of Growing (Creaser and Hayfork)
  • Expanded Foods (Rolling Pin, as well as the ability to Oil your handles!)
  • Oils! From Seed to Substance (Linseed and Walnut Oil, and Wood Finish, can be used for handles)
  • Butchery (Hide and Sinew Glue can be used as a Binding material)
  • Wool and More (The various wool twines you can harvest can be used as Twine Binding)
  • Wildcraft Trees (The woods can be used in handle-crafting for unique colors!)
  • Smithing Plus - Now I am pretty confident that it works entirely with Smithing Plus! I highly recommend downloading that alongside!
    • It is also important to note that Smithing Plus will only take effect on a Tinkered Tool if you break the Tool's Head, not just the Handle or Binding.
    • Also you will want to adjust the Smithing Plus "BrokenToolVoxelPercent" config down to like 0.4 so that it accurately penalizes breaking a tool head, but still makes it salvagable!
  • XSkills - Should also be fully compatable now, I believe! With the durability changes from a unique attribute to the vanilla one, I believe this will make every part of XSkills function with every tool! You may wish to configure the reforge durability percent to be less then 100% or else you can keep rerolling your Quality attributes for free.
Incompatible or Other Issues

Anything in here will have more information as to why it is in here! As always, if anything changes, do let me know!

  • Item Rarity - It's mostly compatable now! The only issue arises if you try to make a grid-crafted tool the rarity won't properly apply. A quick bit of testing seems to show In-hand crafted tools work fine, and seem to lose durability normally. As well as how it patches ConsumeCraftingIngredients instead of OnCreatedByCrafting causes some troubles.
  • Combat Overhaul (Base) and Armory - Works without conflict, but Toolsmith's changes and additions will not effect weapons (not yet at least... Soon...)
  • Weapon Pack Alpha - Just like CO and Armory, works without conflict, but the weapons are uneffected by any changes.
  • Salty's Manual Tool Crafting - Not really needed, since I added similar functionality with the In-Hand crafting for tools! Doesn't conflict though from what I saw, just plays the crafting audio twice.
  • RepairMe - It's not exactly required with the Grindstone in Toolsmith and the Wear mechanics. It should work from what I've been told so far. I've tried to get it functional on my end but I don't use it myself, so please let me know if something changes.
Known Issues or Bugs
  • Tools still do not render their parts yet, but it's in progress! I need to make a bunch of models for it all really, but the foundation is in place. So close... very close!
  • Currently Toolsmith does not effect Weapons yet, spears, falx, or CO's Armory or anything. I want to add more parts and expand on the system to include these, as for example a sword has a guard and hilt instead of a handle and binding! Plus, with CO, there can be tweaks to the usability stats... And that's hype.

 

I hope everyone finds this useful, and if you have any ideas or feedback, I'd love to hear it! If there's any mod compatability problems, make sure to check the dropdowns right above this, I might have an answer already there. Again, please let me know if there's any additional modded tool support I can add to the default configs on the Issue Tracker above or over in the Toolsmith Discord thread, or if you simply have any questions I can answer them as well! And please, if you are experiencing a bug, it would be tremendously helpful if you had your server and client logs uploaded somewhere for me to read through them, and an idea of what steps I have to take to try and reproduce the issue. The issue tracker above is great for this! I want to help, but I cannot help if I cannot reproduce the issue on my end to see what's going wrong.

Another option is the official Vintage Story Discord, and the Toolsmith Mod Thread on there! Feel free to message me in that thread with any ideas or issues as well, but if you have bugs, please do have your logs and modlist ready still! And while it's absolutely not required, if you wish to support the mod past that, there is a donation link above! I hope you enjoy Toolsmith!

 


 

Credits and Special Thanks -

Maltiez for directing me towards his working Textures from Attributes and sending me some untested multi-shape rendering by attribute as well! I based a good bit of the rendering work on this!

Jayu for Smithing Plus and inspiring some ideas, and helping me get things working smoothly with it as well!

Meister Dwight for finding and editing together the new scraping and honing finished audio when honing a tool!

NolandVoyd gets a MASSIVE thanks for pointing out and helping me fix the math curves for damage and sharpening and everything!

Ross for more feedback and ideas based on real smithing experience, as well as bouncing code and ideas my way!

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v1.1.7 706 2 days ago Show toolsmith_1.1.7.zip 1-click install
v1.1.6 899 5 days ago Show toolsmith_1.1.6.zip 1-click install
v1.1.5 426 6 days ago Show toolsmith_1.1.5.zip 1-click install
v1.1.4 968 May 8th at 11:51 AM Show toolsmith_1.1.4.zip 1-click install
v1.1.2 481 May 7th at 10:15 AM Show toolsmith_1.1.2.zip 1-click install
v1.1.1 1051 May 4th at 12:08 PM Show toolsmith_1.1.1.zip 1-click install
v1.1.0 129 May 4th at 7:53 AM Show toolsmith_1.1.0.zip 1-click install
v1.1.0-rc.4 499 May 3rd at 10:14 AM Show toolsmith_1.1.0-rc.4.zip 1-click install
v1.1.0-rc.3 181 May 2nd at 11:34 PM Show toolsmith_1.1.0-rc.3.zip 1-click install
v1.1.0-rc.2 374 May 2nd at 6:51 AM Show toolsmith_1.1.0-rc.2.zip 1-click install
v1.1.0-rc.1 407 May 1st at 9:56 AM Show toolsmith_1.1.0-rc.1.zip 1-click install
v1.0.13 4078 Apr 9th at 1:50 AM Show toolsmith_1.0.13.zip 1-click install
v1.0.11 281 Apr 8th at 11:41 AM Show toolsmith_1.0.11.zip 1-click install
v1.0.10 351 Apr 7th at 11:27 AM Show toolsmith_1.0.10.zip 1-click install
v1.0.9 62 Apr 7th at 8:49 AM Show toolsmith_1.0.9.zip 1-click install
v1.0.8 360 Apr 6th at 9:43 AM Show toolsmith_1.0.8.zip 1-click install
v1.0.7 119 Apr 6th at 2:53 AM Show toolsmith_1.0.7.zip 1-click install
v1.0.5 608 Apr 4th at 1:23 AM Show toolsmith_1.0.5.zip 1-click install
v1.0.4 331 Apr 3rd at 1:19 AM Show toolsmith_1.0.4.zip 1-click install
v1.0.3 200 Apr 2nd at 10:32 AM Show toolsmith_1.0.3.zip 1-click install
v1.0.2 32 Apr 2nd at 8:43 AM Show toolsmith_1.0.2.zip 1-click install
v1.0.1 73 Apr 2nd at 1:24 AM Show toolsmith_1.0.1.zip 1-click install
v1.0.0 147 Apr 1st at 7:24 AM Show toolsmith_1.0.0.zip 1-click install

313 Comments (oldest first | newest first)

💬 JonR , 3 hours ago

Vigilance | Huh, I've not noticed any slow loading on my end for the handbook, but I do know it loads on a separate thread from the game loading in and after you actually get the client loaded in. So if you have a lot of mods overall, it might just be slower from the shear number of mods/items you have or hardware being taxed.

💬 Vigilance, 12 hours ago

JonR Yeah, I'm pretty diligent on updates. I always like to make sure I'm up to date so when I whine about something it is usually for new problems, and not already-addressed ones. I'm still trying to break the newest release. Smooth sailing so far, though, I'm wondering if your mod is the culprit behind my wickedly slow handbook loads, but I'm not ready to accuse you yet haha

💬 JonR , 13 hours ago

Vigilance | Hahah, I'm glad that wasn't my issue then! I was so confused how it might've even happened, so I gave it a shot once, had no issue and kinda just wrote it off until I could get more info on it :P Though if you didn't grab the update already, I did fix that desyncing problem in 1.1.7! Thank you for the update as well!

💬 Vigilance, 14 hours ago

JonR Great news, I managed to recreate the item tornado again. It's not your mod at all, actually, just can happen with any item like that, using the instant pickup mod. Can cross that one off your ghost bug list :)

💬 JonR , 19 hours ago

Brady21711 | Oh yeah, I want to show everything, a unique shape for a Stick, Bone, Crude, Carved, or Professional handle, plus variations of grips for each (where applicable), and the bindings as well... But that's why it needs a good number of models made for it all, haha.

💬 Brady21711, 19 hours ago

JonR Will this extend to show what grip it has and small details like the curve on professional handles or will it only reflect the wood type of the handle?

💬 JonR , 1 day ago

Brady21711 | Yup, it's planned and I have the framework in place and everything, you can see it when you make the "Part Bundle" of the head and handle. I just need to get a lot more part models done for the tools themselves but I'm going to use the same method to render the different parts of the tools.

Matt_97 | Ah yeah, I do have that written down to have more ways to recycle parts, though while it is a bit more hidden currently, you are able to take a knife to any handle to get a piece of firewood back. I just need to get more options done for the tool heads themselves. Technically in the meantime with any other mod that lets you recover bits from smithing, you can convert a tool head into a Reforge Workpiece and just split it apart there to recycle it! Though that does give me an idea for a simple addition... Take a work piece to the Vise and hold rightclick like deconstructing a tool to break it down into bits without any other mod needed.

💬 Matt_97, 1 day ago

I don't know if there's a mod that does this, but I would like to suggest being able to smelt metal tool heads back into ingots, with damaged tool heads giving less material back. Reduce, reuse, recycle.

💬 Brady21711, 1 day ago

JonR  Any way to get tools that look different when made with different materials like in the original toolworks mod?

💬 JonR , 2 days ago

Vigilance | Yeaaah, I'm not expecting the latency to have done much either, and mainly only for the Desync. More asking just so I have a full understanding of the whole scenario just in case it comes up, the drop storm is probably a compatibility issue somewhere somehow, or a rare condition in vanilla that's never come up before, heck could be something is just weird or corrupted in your cache or install and it's a pure fluke. I'll hopefully be able to replicate the Desync in a little bit though and can fix that quickly.

💬 Vigilance, 3 days ago

JonR Yeah, I can send some more helpful debugging info (modlist) later on. It wouldn't surprise me if I was having a mild latency hiccup for the server in some way, since it's in the midwest and I am not, but I dunno how much it'd warrant that wild of an error. I wish I could remember more about the desync stuff, but I took mental note of it and then got used to it lmao. I definitely didn't have a whetstone, since I dislike them (grindstone superiority)

I'm pretty sure the desync corrects itself, I think it just screws up for a container and then stays screwed up for some time, but that can also include your inventory. Ultimately, I just relog if it gets too annoying, and I've never gained or lost an item from it. Perhaps the sticks/bones, but those are the kind of item I don't really take perfect account of. I can try to do a little more testing next time I'm ingame, which knowing me will be sometime in the next hand full of hours lol.

💬 JonR , 3 days ago

Vigilance | I'll have to try and look into it, do you know if you were having latency lag to the server? I doubt it had much of an impact, but it's hard for me to really test that too well myself haha. But thank you for confirming that the 'dupe' is just ghost items in the end! That makes it easier to pin that down at least. Do you remember if you had anything in your offhand when you trigger that desync issue, specifically a Whetstone or not as well? Also does it seem to correct itself after some time, since you said it continues for other things as well? The 'storm' of drops is peculiar to me, I don't know how it could have happened on my end exactly, cause it sounds like it was looping through damage somehow... I might be something else that caused it and triggered a lot of damage ticks, which would explain the drops. Could you also send your modlist? Either on the Discord thread for the mod, or on the Github would be helpful!

💬 Vigilance, 3 days ago

My memory isn't perfect. It could've been full bar one, or it could've been in a desynced state. All I know is that it sure behaved like it was full when the storm began. My experience with Dilan's issue is definitely desync-- items will appear "duped," and then just dissipate when you click on them. It seems to start "desyncing" when you interact with tool handle type items with like, shift+click, and then will continue with non-handle items too. 

I'm not sure if the infini-sticks were real or fake, they were floating in water so they are almost certainly gone now. I really had my framerate at "Not tolerable" levels when I reconnected, so I left in a hurry. They did remain between the relogs, which had me confused/concerned.

💬 JonR , 3 days ago

Vigilance | Huh, so this was specifically on a server then. I'm not sure what the questionmarks mean after the full inventory - do you mean you are not sure if it was truly full or not? Safe to say that shouldn't happen where it's giving endless items though, heh. Since you called Dilan's message a Desync, is it more of exactly that where the client has extra fake items that disappear when the Server side updates them, or are they actually a hard dupe of items? Same goes for the stick rain, were those all real sticks or were they similarly fake? Though if they remained after you logged off, that sounds like they might have been real... And yeah, if people generally don't care for the stick or bone back, I could expose the limit in the configs for when they are dropped or trashed - currently for Sticks and Bones if it's below 25% hp it's just lost to not clutter things up too bad. I could make that configurable instead.

💬 Vigilance, 3 days ago

In addition to the weird desync the below user is reporting, and some other little annoyances I've noticed, I also had a situation happen where I broke my (looted) copper knife with a full inventory(?)(???) and it returned the branch it was using as a handle, only, instead of just giving me one branch, it started spewing an infinite quantity of branches, and since I was using the instant pickup mod, I quickly became a cyclone of frame destruction. Not really sure how to reproduce, and I'm frankly quite scared of doing so, as it made my server VERY unhappy during the entire time I was a hurricane, and I had to relog a few times to actually get to turn off the insta pickup and teleport out of the area so my framerate came back.

 

(Obligatory mention that I really don't think anyone wants the 50% durability branch back)

💬 DilanRona, 4 days ago

Picked up a weird duplication bug with the sticks. When shift clicking sticks from the hot bar to the baskets, or to chests, the sticks added to existing piles are doubled (12 sticks in storage allready, and adding another 3 results in 15 sticks, plus another 3 in a seperate slot, or if all slots in the chest is full, the stack goes to 18 sticks.). Closing the chest results in the correct amount being displayed. Noticed the problem with the latest version of Toolsmith (1.1.6).

Whetstone is working properly again. Thank you.

💬 JonR , 5 days ago

Kassc | Not a different future, but an expected future! (It's mentioned on the page as well, heheh.) I will add weapons handling eventually, I just need to work out and plan how it'll work and such! I do have a few ideas I'd like to see possible, so I'm pretty excited for it, I just gotta cook up a proper plan in time and have been just trying to fill out what's currently supposed to be in. Probably next is Drawbacks cause that framework is set up, but those will be fun as well I hope! After that, probably models for the proper pretty tool rendering and a mix of planning the Weapons overhaul too...

💬 Kassc, 5 days ago

JonR
Thanks for the fix! Aside of that bug, huge praise! Very fun mod and fills in so nicely with the game loop, an other mini-game dedicated on maintaining, repairing and upgrading tools!
Wish it worked with Combat Overhaul, but maybe in a different future. 
Keep at it, very awesome mod. <3

💬 JonR , 5 days ago

crumps | I think it should work fine with the tools from Vanilla Tools, possibly it's already set up too. But Toolsmith doesn't handle weapons yet cause I'm working on it, and I wanted them to be different to Tools a bit. It kinda makes more sense.

💬 crumps, 5 days ago

 

anyone know if the items from vanilla armory work with this? https://mods.vintagestory.at/show/mod/23204

 

or vanilla tools? https://mods.vintagestory.at/morevanillatools

 

💬 JonR , 6 days ago

CinoHusky | Aah yeah I heard about that one earlier as well, but luckily I think I know exactly what's going wrong so I can probably have a fix out in a little bit. It's likely a Multiplayer-only issue right now, whoops. Sorry about that!

Kassc | Huh, that is really weird but thankfully it does stop you from honing after your tool or head has 1% durability remaining now, so it hopefully shouldn't happen again!

💬 CinoHusky, 6 days ago

JonR Heya, crashing on the latest version when striking the workbench with a hammer a few times with the handle, toolhead and binding laid out. The toolhead is an iron rubble hammer head from the stone quarry mod, the handle is a carved tool handle treated with wax and given a leather grip, and the binding is iron nails and strips.

 

Running on 64 bit Windows 10.0.26100.0 with 32679 MB RAM
Game Version: v1.20.10 (Stable)
11/05/2025 23:29:13: Critical error occurred in the following mod: toolsmith@1.1.5
Loaded Mods: barkbeetle@1.0.3, firestarters@1.4.3, forestsymphony@1.0.2, indappledgroves@2.1.1, manualdough@1.1.3, manualquenching@1.0.4, manualscraping@1.2.1, somedisassemblyrequired@1.4.5, swifttime@1.0.4, game@1.20.10, betterdeathmessages@0.2.1, butchering@1.8.2, commonlib@2.6.1, coreofarts@0.2.3, customtransitionlib@1.1.0, farseer@1.3.1, fromgoldencombs@1.8.12, hydrateordiedrate@2.1.0, infinitumpickupmod@1.2.0, kitchwaypointlabeler@1.1.0, naturescall@1.2.1, oneroof@1.10.0, tabletopgames@2.10.4, toolsmith@1.1.5, versionchecker@1.1.0, creative@1.20.10, survival@1.20.10, wildgrass@1.3.1, artofgrowing@1.1.2, mechanicalwoodsplitter@1.1.2, playercorpse@1.11.1, stonequarry@3.4.3
System.NullReferenceException: Object reference not set to an instance of an object.
at Toolsmith.ToolTinkering.TinkeringUtility.TryCraftToolFromSlots(ItemSlot[] slots, IWorldAccessor world, BlockSelection blockSel) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\TinkeringUtility.cs:line 533
at Toolsmith.ToolTinkering.Blocks.BlockEntityWorkbench.AttemptToCraft(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\Blocks\BlockEntityWorkbench.cs:line 178
at Toolsmith.ToolTinkering.Blocks.BlockWorkbench.TryCraftingAction(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel, BlockEntityWorkbench bench) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\Blocks\BlockWorkbench.cs:line 272
at Toolsmith.ToolTinkering.Blocks.BlockWorkbench.OnBlockInteractStart(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\Blocks\BlockWorkbench.cs:line 175
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseBlock(Block selectedBlock, BlockSelection blockSelection) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 877
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 617
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 85
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

💬 Kassc, 6 days ago

JonR
It was at half durability, thankfully the admin gave me a new one after testing out the bug.
No matter what durability the tool is at, if you break a tool by sharpening while holding a similar tool in the hotbar. It will break both. 

💬 JonR , 6 days ago

CoffeeToffee | The Sandpaper is used in making Professional Handles, you craft it like the recipe above in the pictures, but place it directly to the right of the knife. Cause of the changes to the Recipe Gen and making them all generate through Code, I didn't want to overwhelm the Handbook. But I might see if I can enable some of them showing up and not others. I'm guessing the 'H' key on Handles doesn't work cause it isn't a strict Json recipe.

Binarydream | That's fair, and I'm glad you do like it so far! The sandpaper is mainly a placeholder or stop-gap for the original recipe which just had the components split apart, but it made sense and I did kind of want to make it an item itself originally. It'll likely evolve when I get into adding the better versions of Whetstones and I imagine it might be nice to also have like, Grindstone upgrades or abrasive coatings that can wear down, and similarly some better Sandpaper as well. As it was, it was to make it a liiiiittle bit pricier to justify the Professional Handle being pretty strong as is, especially with the wood treated. Do you have any other ideas as well?

💬 CoffeeToffee, 6 days ago

small typo in the handbook under "in hand crafting" section. "Then if you wish yto use a binding"

Also was curious if workbench crafting fresh tools offered any benifit over hand crafting. Also noticed a sandpaper item but wasnt sure what it was used for if anything yet. I assume its for treating handles before you wax/oil them?

💬 Binarydream, May 10th at 11:38 PM

I like the mod and have replaced Toolworks with it, but one particular gripe I have is the single use of sandpaper in making professional tool handles. I'd like to see the sandpaper be multiple use for, say, 10-30 uses before it breaks cause you don't use it to rough-form the handle, you use it to finish the profile and smooth the handle after rough carving and prep it for taking a finish.

Either that or make a glass paper/cloth using crushed quartz with that durability factor so you can have the tier-1 single use and a tier-2 multi-use abrasive.

I overall find the single use of sandpaper in the making of the professional tool handle to be unrealistic and a bit unbalanced for the material cost.

💬 JonR , May 10th at 10:01 PM

Kassc | Oh no, that's probably the Vanilla auto-refil the slots bit. But at the very least Noland had the great idea to limit the Sharpening to stop when the durability gets low, so I'm going to add that in with a message that pops up saying 'It's got no material left to sharpen!' and stop it there, which at least will prevent it from ever breaking them. Was the Iron Axe low on durability already, or was it full though? I hope it wasn't a new axe!

FlorianXXIV | Thank you! I'm glad you are enjoying it!

💬 FlorianXXIV, May 10th at 8:13 PM

This mod is genuinly awsome. I really makes tools feel like meaningful objects you can take care of, instead of an item you need to craft over and over again.

💬 Kassc, May 10th at 5:57 PM

Found a funky bug when using the grindstone.

If you have a Iron axe on your hotbar, while sharpening a stone axe or stone axe head. If the stone axe breaks it quickly switches to the iron axe and breaks it along with it.
Been able to replicate it this, only fix is just not having any similar tools in your hotbar. xD

💬 JonR , May 10th at 1:36 AM

BulletSponge | Oh cool! I was suspecting that might work, cause it was failing to find any file thus erroring (whoops), but I just wasn't certain if it would populate or not haha. Glad it did work :P

💬 BulletSponge, May 10th at 1:05 AM

JonR | Sweet! I was actually able to force it to populate by creating a blank "toolsmith.json" file in the ModConfig directory!

💬 JonR , May 10th at 12:51 AM

BulletSponge | That certainly confirms it then, hah, I see what I was doing wrong so it's been fixed now for next update! I'll hopefully be able to push a small one out later today with that added in.

💬 BulletSponge, May 10th at 12:06 AM

First time running! But shows everytime I load my world, only config file I see is the `ToolsmithPartsStats.json`

Really like the mod!

💬 JonR , May 9th at 11:42 PM

BulletSponge | Aah, okay. I think I see what the problem was, did you get rid of the configs first or it's your first time running it? That might be causing it to toss that error, but as long as you are fine with the default settings it should work fine. I'll be able to have this fixed for the next update though!

💬 BulletSponge, May 9th at 11:05 PM

JonR oops! sorry haha, I thought I added that to the pastebin, I updated it! I run quite a few mods, only play singleplayer

https://pastebin.com/uaJfWZG0

💬 JonR , May 9th at 10:37 PM

BulletSponge | That's strange, are you using other mods then as well? Something might be interfering somehow, I don't seem to be getting any problem with my modlist nor with Toolsmith alone.

💬 BulletSponge, May 9th at 10:21 PM

@JonR Singleplayer, I use modupdater and have a script that clears cache each launch of the game

💬 JonR , May 9th at 9:22 PM

BulletSponge | Huh, are you connecting to singleplayer or a multiplayer server? And perhaps try clearing the cache just in case that it's not somehow got old code in there as well. I suspect maybe it's just that? Hopefully! Haha.

Solaire_Goshaven | Thank you for enjoying it and I hope I can impress with the weapons as well, haha. Those and getting everything to actually render their parts will be the next big leaps for sure...

💬 BulletSponge, May 9th at 7:35 PM

Experiencing a failure to load config.

The error shows after first install, and each world load after. No crashes, everything seems to work fine regardless.

V1.1.4 Toolsmith, VS 1.20.10

https://pastebin.com/uaJfWZG0

💬 Solaire_Goshaven, May 9th at 4:48 PM

JonR 

Thank you for the update!! Im excited to see what you come up with for the weapons system, this mod has already become a must have in my playthroughs so I cant wait to see more. Keep up the good work!

💬 JonR , May 9th at 4:38 AM

BobEdJones | Haha, I'm glad! And thank you! I certainly wanted something like what you suggested from the start, but it certainly helped to refine the idea with feedback and stuff, and talking about it on the Discord some too.

💬 BobEdJones, May 9th at 3:13 AM

I just came back to check up on this amazing mod and was completely shocked to see my suggestion largely be implemented. Great work!

💬 JonR , May 9th at 2:49 AM

Galadge | Oh, that's fair! It should work fine on 1.20.9 - and I can probably just update the version to reflect that, but I believe Toolsmith should likely work on any 1.20 version. I just habitually marked the latest one since I didn't want to download every single version and just load it up to be sure, haha. But yeah, I believe you should be able to update the mod with no issues! If anything does change in vanilla that does require that to be different, I'll leave a notice at the top of the mod description like I have been.

Churburby | If you are running with the default configs of 5x Tool Head Damage, for an Iron Pick that's about accurate! With the Math Changes, most of the durability damage your tools will incur will come from the act of sharpening instead now. It mathed out to around like, almost 80-85% of the damage comes from the Sharpening, while when you are actually using the tool, it only has a 15% chance to damage the head of it. This got updated in both the mod description and the handbook pages that I added!

💬 Galadge, May 9th at 2:32 AM

JonR Pardon, we're still playing on 1.20.9 because other mods haven't updated, so our version of Toolsmith is 1.1.1

💬 Churburby, May 9th at 2:29 AM

Loving the mod, just some feedback, sharpening tools does CRAZY damage to head durability, sharpening my iron pickaxe from half sharpness took 1400 head durability.

💬 JonR , May 9th at 2:12 AM

Galadge | Ah! Are you using an older version of the mod? I was hoping I fixed that already, haha. If you are on the current version and able to reproduce it, how are you getting it to happen? Maybe I missed something, or the catch didn't work fully. But thank you though, and I'm glad you are loving it!

💬 Galadge, May 9th at 2:10 AM

Hey, Jon, only dipping my toes into the mod but loving it so far.

I see down in the comments you mention a bug where the sharpening sound doesn't end. I don't know where you're at on it but my partner and I have found out how to trigger it if that would help you out.

💬 JonR , May 8th at 8:33 PM

Solaire_Goshaven | Currently no weapons are set to work with Toolsmith as of yet, but that's because I plan on adding them later down the line with different parts and such that fit each weapon. It's planned! But because I want to handle weapon stats a little differently, it hasn't been finished yet. Been making sure that the core system is doing solid first, then I can expand on it further!

💬 Solaire_Goshaven, May 8th at 5:53 PM

Is there any way the tool handles can be made compatible with ancient armory? its the only mod in my pack that isn't compatible so far, great work on the long list of compatibilities!!

💬 CoffeeToffee, May 8th at 11:58 AM

JonR Its all good, was more worried I was bugging you and it was just me being dumb with a mod conflict smthn, thanks for the speedy fix. Didnt wanna make more work for ya

💬 JonR , May 8th at 11:48 AM

CoffeeToffee | Yeaaaah, I was actually getting that myself but only with my full modlist in, so I've already got an emergency patch ready - give me like, 5 minutes from posting this and 1.1.4 should be up.

💬 CoffeeToffee, May 8th at 11:37 AM

Getting a crash when generating a new world but I cant make sense of the log.

Running on 64 bit Windows 10.0.22000.0 with 32616 MB RAM
Game Version: v1.20.10 (Stable)
5/8/2025 6:35:08 AM: Critical error occurred in the following mod: toolsmith@1.1.3
Loaded Mods: aculinaryartillery@1.2.5, bettersticks@1.2.0, flourbags@1.1.1, flowers@1.0.1, hangingoillamps@1.0.3, immersiveorecrush@2.2.1, khanimaltweaks@1.0.0, linearpower@0.3.4, manualdough@1.1.3, manualquenching@1.0.4, manualscraping@1.2.1, naprecipe@1.0.0, overhaullib@0.2.8, primitivesurvival@3.7.7, sprintmomentum@0.1.2, stoneharvesting@1.0.5, game@1.20.10, vsimgui@1.1.8, betterfpcamera@1.3.0, blocksoverlay@4.4.0, butchering@1.8.2, chestorganizer@1.2.3, composter@1.2.1, configlib@1.5.3, expandedfoods@1.7.4, farseer@1.3.1, hidenametagsmod@1.20.7, hit@2.2.0, immersivetpscamera@1.0.7, immersivewoodchopping@0.8.1, immersivewoodsawing@0.2.8, infinitumpickupmod@1.1.1, JustTrapdoors@1.0.2, metalpots@1.2.0, oneroof@1.10.0, smithingplus@1.6.0-rc.2, stirlingage@0.10.0, storageoptions@1.0.2, thirdperson_crosshair@1.0.0, toolsmith@1.1.3, Verticality@0.3.1, creative@1.20.10, survival@1.20.10, em@3.2.1, bricklayers@3.0.2
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.API.Util.DictExtensions.Get[K,V](IDictionary`2 dict, K key, V defaultValue) in VintagestoryApi\Util\DictExtensions.cs:line 36
at Toolsmith.ToolTinkering.Behaviors.CollectibleBehaviorToolBinding.GetHeldItemInfo(ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\Behaviors\CollectibleBehaviorToolBinding.cs:line 20
at Vintagestory.API.Common.CollectibleObject.GetHeldItemInfo(ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1735
at Vintagestory.API.Common.Block.GetHeldItemInfo(ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo) in VintagestoryApi\Common\Collectible\Block\Block.cs:line 2343
at Vintagestory.API.Common.ItemStack.GetDescription(IWorldAccessor world, ItemSlot inSlot, Boolean debug) in VintagestoryApi\Common\Collectible\ItemStack.cs:line 400
at Vintagestory.Common.CreativeTab.CreateSearchCache(IWorldAccessor world) in VintagestoryLib\Common\GameContent\Inventory\CreativeTab.cs:line 45
at Vintagestory.Common.CreativeTabs.CreateSearchCache(IWorldAccessor world) in VintagestoryLib\Common\GameContent\Inventory\CreativeTabs.cs:line 48
at Vintagestory.Client.NoObf.GuiDialogInventory.<OnOwnPlayerDataReceived>b__6_0() in VintagestoryLib\Client\Systems\Gui\Dialogs\GuiDialogInventory.cs:line 58
at Vintagestory.API.Common.TyronThreadPool.<>c__DisplayClass13_0.<QueueTask>b__0(Object a) in VintagestoryApi\Common\TyronThreadPool.cs:line 121
at System.Threading.QueueUserWorkItemCallback.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()

💬 JonR , May 8th at 10:11 AM

CoffeeToffee | Just because I saw your message right as I was uploading this version as well, sorry to make you update twice but, I just uploaded another version for more ingame info and automatic updating configs :P If that helps you, feel free to grab it as well!

💬 CoffeeToffee, May 8th at 8:38 AM

JonR Ah sorry i didnt see a new version, amazing mod as always <3

💬 JonR , May 8th at 8:30 AM

CoffeeToffee | Ah yeah, I solved that in the latest update if you update your version!

💬 CoffeeToffee, May 8th at 7:24 AM

Its not game breaking or anything but it seems like Toolsmith makes the creative search function chug a lot. Not sure how or why, just something i noticed.

💬 JonR , May 8th at 12:22 AM

BaconHam | Huh really? From what I remember looking at the code for the Quality, it adds together the quality of the components then divides by the number of components that have a possible quality. That's what gets assigned to the Tool itself. But since I store the actual items themselves as attribute data on the tool, I would figure it would retain that quality... Strange but I can probably take a look at it again later on.

💬 BaconHam, May 7th at 10:25 PM

The new grindstone implementation is wonderful.

11/10 mod. i can't wait for tools to fully reflect their components.

EDIT: when dismantling a tool at the workbench, it seems to remove Xskills quality modifiers. very minor issue all things considered but i can see niche cases where it could be annoying

💬 JonR , May 7th at 8:33 PM

DilanRona | Not sure what you mean by the Whetstones? Are you using the most recent update? Because I've already fixed some problems with the Whetstone.

💬 DilanRona, May 7th at 1:06 PM

Well done with the latest update. The sharpness mechanic makes a definate improvement over the previous 'infinate' durability of previous versions.

 

PS: Might want to recheck the wetstones code. Doesnt seem to reliable.

💬 JonR , May 7th at 1:48 AM

yakkob | Yeah, haha. It should work fine for all versions of 1.20 I'm pretty sure, not too much has changed between them all. I just kept it updated to make sure really on my end.

💬 yakkob, May 6th at 11:34 PM

JonR I'm using version 1.1.0-rc. 1 since like a dozen mods I have specifically don't work on 1.20.9 or 1.20.10 (trust me I've tried), is the whetstone broken in older versions of this mod? or maybe its a conflict with one of the other 100 or so mods I have?


edit: ok turns out 1.1.1 works on VS 1.20.7, it no longer crashes when I place down tools and the whetstone actually works.

💬 JonR , May 6th at 9:36 PM

Clamatt | Ah, you mean like, specifically the Grindstone wouldn't wear down the head? I have been considering better grindstones and Whetstones later on that would make the durability use drop, so it's certainly being considered, I just need to get other things done first :P But at the same time after talking with Noland a bunch about the Math behind it all, the durability damage and everything is going to be changing because I screwed it up with the first go, haha. When Drawbacks come around as well, the Grindstone will be further differenciated from the Whetstones! It's complicated right now and in flux, but I hope to at least have an update out today with a few things and ideally the Handbook pages as well.

yakkob | Make sure your version of the mod is up to date, but you hold the Whetstone in your offhand and you take your tool in the main hand, then hold rightclick to sharpen it.

💬 yakkob, May 6th at 8:06 PM

Attac_Mage how exactly do you use the whestone? I can not figure it out for the life of me? also for some reason it crashes when I try and place a flint knife on the ground but that very well could be one of the hundred or so other mods In have installed not necessarily toolsmith.

💬 Clamatt, May 6th at 3:00 PM

Hey Jon! Me again!

 

Do you think there could ever be the addition of a config setting, that allows the grindstone to sharpen without wear on the tool? I think it would be lovely for whetstones to sharpen on-the-go with the drawback of reducing durability, whereas if you take your time going back to your workshop and sharpen carefully with better tools, it should reward you with no durability loss!

Even an upgraded grindstone, that features mid to late game materials that allows this feature!

 

I have seen Attac has commented a similar point below, but I just thought I'd throw in my 2 pence to how I feel about the functionality atm :)!

💬 JonR , May 6th at 8:22 AM

Attac_Mage | The Grindstone only will disassemble tools if you hold shift and rightclick while looking at the Grindstone. It plays the loud 'Messy Crafting' sound that plays when you construct a tool as well in your hands, and it won't actually take it apart until you have held rightclick for 4.5 seconds. There's an in-world interaction popup when you look at the Grindstone now that tells you that you need to hold shift. It'll never deconstruct it otherwise, and there is no difference yet between the Whetstone and the Grindstone, just the Grindstone doesn't take durability damage so it's great for leaving at home while the Whetstones are great for on-the-go. Later on there will be more varieties of stones though! (Also don't worry about having damaged your shears, as pointed out by Noland, I screwed up the math a bit and actually it's better to sharpen it earlier right now :P)

💬 Attac_Mage, May 6th at 7:20 AM

I'm confused on how grindstones work now. While they obviously still sharpen tools (I've done so both with my shears and chisel), I'm wary of the disassembly feature. How do I know if I'll disassemble my item or sharpen it when it comes to a tinkered tool?

Also, is the grindstone less efficient than the whetstone? I've only used the whetstone on a new world with flint, low durability tools and it obviously has the diminishing wear over a full sharpen but I was wondering if the grindstone's much larger and faster sharpness increases could end up ignoring that reduced damage over time aspect. I haven't been able to test it accurately because all of my tools are too sharp at the moment (I accidentally chunked the aformentioned shears because I miscounted the sharpness). 

💬 JonR , May 6th at 5:53 AM

ViathLean | Huh, that's interesting. Maybe something went on with the Remapper and it didn't fully work? I was able to successfully remap handles that were in a set of tool racks, but I'm guessing something must have gone wrong with the remapping. I'm glad it was able to be solved though! I've never seen it in any of my testing, so I believe it shouldn't happen again and might just be a quirk with the remapping system sometimes.

💬 ViathLean, May 6th at 5:39 AM

I found the cause of the crash, but I can only guess how it originated. Turns out our tool racks had invisible, invalid items with ID 0 in them. The first clue that it was an issue with the racks and not a Toolsmith tool, at least directly, is that trying to rack a longbow crashed as well. I'm thinking those invalid items were some of our spare tool rods (we liked putting them on racks to dry after waxing/greasing) and somehow being on tool racks caused them to become invalidated rather than converted when we updated the mod. I was able to get the invisible, invalid items off the racks by breaking the racks, and then threw the invalid items into a sinkhole to hopefully despawn. No crashes since, and I hope it stays that way.

💬 JonR , May 6th at 5:21 AM

Clamatt | Ah, the 'x' just means it can run on any of them, you can place any number there and it's going to work! It's just something to prevent needing to update it manually each time there's a small version bump really. Like, I saw 1.20.10 dropped, but I'm pretty confident even Toolsmith works on that version right now cause it didn't change much let alone anything that might effect it, heh. Though I am still considering adding my own version of the smithing with bits, just cause it's so useful to have here as I mentioned before haha.

💬 Clamatt, May 6th at 4:14 AM

JonR Thanks for clearing that up for me! I assumed with the majority of errors and with the "1.20.x" I just assumed not much was going on with it!

 

I'll install it on our server and see how I go, we used it in the past but just wanted to ensure we have a stable experience so we were weary!

 

Thanks again! :)

💬 JonR , May 6th at 2:50 AM

GhostComit | I'm sorry you don't like the update. I was talking a bunch in the comments here about my plans, I had it on the page before saying that I was going to be making it more in-depth, and I talked a bunch on the Discord about it. I always stated the goal of the mod was to make it more realistic in a fun way, and grinding away the metal slowly and maintaining it is certainly more realistic then free repairs forever. I didn't want to make the game and tools completely easy or free, that was temporary to begin with to make it usable and as a proof of concept I could then refine.

💬 GhostComit, May 6th at 1:11 AM

Not a huge fan of the change. The beauty of this mod was in it's simplicity. You could make a tool, make a grindstone, and very easily maintain it forever. If you wanted, you could upgrade it, or you could just stick with the vanilla tools. It added a reward for engaging, and didn't punish you for not engaging. It was basically perfect.

But now with the sharpness, you don't get a choice. You HAVE to make a grindstone to maintain your sharpness or your tool becomes useless. You HAVE to make a workbench if you want to maintain your tools. You (basically) HAVE to install an entirely seperate mod in order to keep the durability of your tools high.

I'm really disappointed.

💬 JonR , May 5th at 11:35 PM

Clamatt | What...? Smithing Plus is far from abandoned. Jayu's been around, and he updated the mod like, 15 days ago? Heck, it took me longer to push the Sharpness and Wear update for Toolsmith then it's been since his last update :P. I've been using that most recent update myself and had no problems at all, so I suspect some of those errors are either poorly explained, false reports (like one post mentioned they couldn't even replicate the issues as well) or some strange out-there mod conflict or user error. I'd say give it a shot yourself because almost 6k downloads and only two people claiming to have crashes likely means they are the outliers. Also the only reason I'm able to be more accessible is cause I have the lucky blessing of free time, not everyone can be able to handle all this for free in their own free time.

💬 Clamatt, May 5th at 10:11 PM

Thanks for confirming that for me! :)

 

With Smithing Plus looking pretty abandoned and most recent comments reporting it to be unstable, is there any alternative to making the repairing/reforging more efficient such as adding bits like the original mod does?

💬 JonR , May 5th at 10:01 PM

LunaGore | Ah sure, that's easy to tweak thankfully. I can try to have that handled for the next update push, if you have it installed I'll just rotate the recipe or something.

pngwn | Yeah! I do plan on having upgrades to the Grindstone and the Whetstones, so stuff like that is certainly plausible. It's on the list for the future!

Clamatt | Yeah, that is Toolsmith, I've noticed it rarely but also Dave on the Discord was testing it out for me and narrowed down the cause so I hope to have a fix for it out for the next update. I think it's a Server-Client desync issue? That's why it leaves the 'ghost tree', the client thinks it's completely gone, but it's not actually gone on the server.

💬 NolandVoyd, May 5th at 7:45 PM

JonR Pinged you on discord 

I assume a quadratic curve would further benefit repeated sharpening, since the chance of durability damage would start increasing more slowly. You'd probably need to do an integral to calculate the total sharpness consumption for the curve. I think you have a lot of leeway tweaking the math behind the scenes to give a specific feeling, without the need to add complications for the player. Adding items/parts that support these playstyles, however, could help guide players who arent familiar with the math.

💬 Clamatt, May 5th at 4:34 PM

Hey there, unsure if this is actually being caused by toolsmith, but worth noting in case anyone else has had this issue and is wondering what's going on. As well as, if it is causing it, a fix would be great!

 

I've found in our server in the early game with copper axes, when we break trees, everything is completely fine - However if you go ahead and chop a huge tree that has enough logs to break the axe completely when it breaks the tree, it seems to drop the logs on the floor, some float in the air, and if you place any block onto where the tree log used to sit, it sort of replaces the dirt in this case, for the original log? It's like a ghost tree!

 

It's a very odd thing and hard to explain, but I'd be more than happy to send over a video showcasing what is going on :)!

 

Amazing mod btw!

💬 pngwn, May 5th at 2:39 PM

I love how RepairMe uses gems to create higher-tier whetstones https://mods.vintagestory.at/repairme

It gives gems more utility, and means that I can spend less time knapping whetstones if they have more durability. I wonder if this is a mechanic you'd be interested in implementing?

💬 LunaGore, May 5th at 1:29 PM

Would it be possible to change the crude handle recipe so it doesn't conflict with "BetterSticks"?

💬 JonR , May 5th at 11:29 AM

CoffeeToffee | Copper Nails not being used for a binder is slightly intentional, because copper is a softer metal that's able to be cold-forged and I figured it wouldn't stand up too well as a binding, though perhaps when compared to rope or twine, why not - but maybe make it significantly worse then bronze. Steel though should be usable, make sure your configs have been regenned, and that you are on the most recent version? The idea of some sorta treatment for the heads is an interesting one though, maybe I can see about adding something later on. I do like the tempering idea though for sure, and did kinda want to see about branching in that direction later already.

NolandVoyd | I'll have to go over this better after I get some sleep, but it also might be easier to talk about it on the Discord thread or start an Issue on the Github to track it in one place :P I kinda like the idea of people gravitating to whatever hard breakpoint they might prefer like that, so it's not a bad idea to encourage it a bit more. At the same time softening the hard edges is kinda a nice idea as well, so maybe a mix of both. I'll have to double check the ingame math though later since I did a few tests that it seemed like the early honing used more durability - but I also wasn't fully using the tool as well I think... The chance to damage the head also isn't Linear, it starts low once it passes the threshold, but then scales up faster and faster as it gets closer to 33% sharpness. A quartic equation seemed to fit the points I plotted best, so I ran with that one in the code.

💬 NolandVoyd, May 5th at 9:43 AM

JonR

I agree that there doesn't necessarily need to have strict "style" of maintenance, but due to the various hard breakpoints (i.e 90% sharpness for the efficiency boost, 80% for no defects, etc.) I think people might naturally gravitate towards sharpening when they reach a certain sharpness level. If you do want to encourage these styles, it could be worthwhile to create items or tool parts that encourage specific sharpening patterns, or make certain durability ranges more attarctive.

Some ideas: A "High Grit Whetstone" Could sharpen more effeciently than normal, but sharpens extremely slowly if the tool is under 90% sharpness. A "Padded Binding" could take less damage than normal when the tool is at low sharpness, and reduce the chance of defects at low sharpness.

If you instead want to avoid these styles centered around specific breakpoints, you could replace the hard breakpoins with gradients of their own. For example, the 5% speed boost at 90% durability could instead scale from 6.66% to 0% speed between 100% and 80% durability, giving players more choice on where they want to start sharpening to maintain their desired speed boost.

 

Fianlly, I ran some math (see examples below) and it looks like it is actually more efficient to sharpen your tool repeatedly instead of letting the durability drop, which seems counter to your intentions. You may want to double check the equations you are using (or I just calculated wrong :P). 

 



MATH (please double check me!):

Using the linear equation below to calculate the durability gradient from 5% to 100% chance of durability loss between 100% and 33% durability (ignoring the negated durability loss at 98% durability):

y = -0.014179104477612(x - 100) + 0.05 

If we have a tool with 100 sharpness and spend 100 sharpness, then sharpen the tool back to full, we would spend 68.175 durability (35.175 + 33) while using the tool, and the same amount sharpening it for a total of 136.35 durability lost.

If we instead spend 100 sharpness in increments of 10, sharpening back to full between each, we spend 1.2 durability when using the tool and 10 durability repairing it during each increment of 10 sharpness, for a total of 112 durability lost ( (1.2+10)*10 ).

This means that you use almost 18% less durability if you sharpen your tool whenever it reaches 90%, compared to sharpening when fully blunt, not to mention all of the other benefits for high sharpness!

 

 

P.S. There is no threshold mentioned in the mod post for the 10% speed malus for low durability tools.

💬 CoffeeToffee, May 5th at 5:41 AM

I was a little concerned with the new changes because it felt like my tools were being sapped very quickly with the new sharpness mechanic, but when i went to reforge a really fucked up tool (the head had 3% durability left) it did only cost me about 4 nugs of material from smithing+ which was nice. 

I was curious if you had any plans for tool-head treatments the way you can treat handles. Like maybe greasing with animal fat, or oil to prevent oxidation on the toolhead and boost its durability until its reforged. Or maybe tempering or bluing (black oxide coating)

Also I noticed that Copper and Steel nails cant be used for binding. Is that intentional or just an oversight. Gold and Silver nails cant either but that makes sense bc theyre soft metal, but copper and steel are atleast tool-grade.

💬 JonR , May 5th at 5:41 AM

ViathLean | I'm not really sure why it's crashing there, but I can't replicate it with the same tool. If it's an older tool, it might've kinda weirded out from the big update, see if you can try and deconstruct it? But it could crash you, so I'd recommend backing up your save first just incase, or simply try replacing it with creative. I believe I heard of it happening before once, and it might be because it had an old tool handle as a part of it.

Churburby | I know Smithing Plus saves a copy of the original tool and then pastes it back on when it's repaired and crafted again, but I had to clear most of that data to prevent problems with the dynamic parts.

gatorr16 | I'm not really sure what's going on there, but I don't mess with any of the smithing mechanics, so I don't think it can be Toolsmith. I just generate a workpiece and set where the voxels are on it, so it shouldn't cause anything I'd think.

ElusiveEnigma | Oh, I thought that was just vanilla and having a lot of items loaded since it always seemed to be a bit laggy for me. But I'll see if I can just filter out certain things if it's in a CreativeInventory and that will probably help.

💬 ElusiveEnigma, May 5th at 4:40 AM

I am unsure how to report this as it is only really repeatable with a particular computer configuration, but I have noticed that the manner at which you have added your item ID's seems to make the creative inventory chug quite a bit. To the point that whenever I hit 'E' for creative and then start to type to search anything, it slows to a crawl. Is this some sort of memory leak issue?

💬 ViathLean, May 5th at 3:37 AM

I haven't yet updated from v1.1.0-rc.4, but I'm not seeing this particular crash I'm encountering on the changelog for the later versions. If this has been fixed already, ignore me.

 

My friend and I are crashing when trying to rack a well used Copper Shovel with a greased carved tool handle and rope binding. We're resorting to stashing it in a container instead for now. No other tools we've been using is causing this.

 

I can provide more of the crash log if needed, but this looks like the most important line as to the cause:
System.NullReferenceException: Object reference not set to an instance of an object.

💬 Churburby, May 5th at 3:10 AM

CAN jewelry no longer crashes, but when a tool breaks it loses its attached jewels.  This did not happen with SmithingPlus, is there something that needs added to that config?

💬 gatorr16, May 5th at 1:52 AM

I had some issues regarding Smithy plus today, where when I attempted to reforge a broken item, the voxels would "Slide" off the part, and refuse to be moved and or chipped off. I don't exactly know what caused this, but this only happens when Smithy Plus is added. This could be a Smithy Plus specific bug, but I'd still bring it up to you since you directly mention it. I think it's honestly best if you internally make a way to use bits or such, since using an entire copper block to repair 2 or 3 missing voxels is really annoying, to say the least.

💬 JonR , May 4th at 10:32 PM

NolandVoyd | You pretty much hit the nail on the head with that, yeah. There's not really any strict 'style' of maintenance, it's just whatever the player wishes to go with and you are free to choose at any time really. There's just a gentle push here and there through the mechanics to incentivize it, but I kinda like the freeform intent. If you mean further incentivizing here and there that might be possible, but what did you have in mind? It's a tough balance to keep it feeling like vanilla with a little extra on top, but straying too far from that feel might drive some people away.

💬 NolandVoyd, May 4th at 9:37 PM

Whats the expected balance between the durability loss from sharpening and the durability loss from using the tool as it dulls? I think a little more clarity would be nice on why you might want to keep your sharpness topped up vs why you would let it go lower, and maybe the intended sweet spot where it is most efficient to sharpen your tool. From the description in the math section, it seems like regularly topping up your sharpness (i.e. sharpening when you reach 90%) will drain durability quite quickly, but give the best tool performance, whereas I would expect that waiting until you reach 33% would be most efficient for overall durability, but at the cost of degrading performance and (eventually) defects. I think more separation and clarity on these styles of tool maintenance would give players more interesting choices, since the actual math can be somewhat obtuse.

💬 NolandVoyd, May 4th at 9:14 PM

@JonR thanks for clarifying!

💬 CoffeeToffee, May 4th at 6:58 PM

keijrex have a stick or handle in your offhand, and then right click a tool head in your hand

💬 keijrex, May 4th at 5:03 PM

how do u apply the tool handles?

💬 TakeoTheWolf, May 4th at 7:49 AM

understood, thank you

💬 JonR , May 4th at 7:12 AM

TakeoTheWolf | Not yet, no. Weapons will come in the future! I need time to work on it.

💬 TakeoTheWolf, May 4th at 6:26 AM

you can't tinker the falx?

💬 JonR , May 4th at 4:19 AM

NolandVoyd | You don't need to edit Smithing Plus anymore, patched it in to automatically handle it and I can just update it as needed. The honing math is based on the duration you have been honing the tool, the overall sharpness % you have regained during that honing session, not the sharpness levels itself. I'll try and clarify that a bit better! I might be able to patch in tool heads getting the bars but, hmm, I'll have to see cause I have felt similarly. And yeah, the knapped tools I originally wasn't even certain they'd have Sharpness but friends were like eh why not, and I was like Aight :P It's totally up to tweaking later, I just wanted to make sure the system worked solidly first.

💬 NolandVoyd, May 4th at 1:50 AM

Also also, a few suggestions: It would be nice if tool heads had the blue sharpness bar (and durability bar?), so that its easier to sharpen them separately from the tool. Secondly, it cold be worth mentioning somewhere that tool heads are forged with less than full sharpness (and knapped tools even less), so you need to sharpen them immediately. Finally It might be worthwhile to change some of the way sharpness works for knapped tools. It seems a bit odd that a knapped tool isnt already fully sharp (especially for flint and obsidian where knapping IRL makes very sharp edges). Maybe they could lose sharpness more quickly and lose more durability from grinding, to further differentiate them from metal tools? 

Regardless, I love the rework overall! Keep it up!

💬 NolandVoyd, May 4th at 1:17 AM

Also, In the math section for honing tools, It mentions that its is best to do long periods of honing. However, the math only mentions that the chance to lose durability is lower at higher % sharpness. So instead of doing long honing sessions, it seems better to sharpen your tools as often as possible. Am I missing something?

💬 NolandVoyd, May 4th at 1:11 AM

Do we still need to modify "ToolRepairForgettableAttributes" in the smithing plus config?

💬 JonR , May 4th at 12:45 AM

CoffeeToffee | That's odd, it shouldn't be required... I'll double check that I didn't accidentally use something from Smithing Plus when I didn't mean to. I just highly recommend it because it lets you smith with bits, but it shouldn't be dependant on it.

💬 CoffeeToffee, May 3rd at 10:33 PM

Cant seem to start a reforge on a shovel head. Its at 60% durability, and i get the prompt (hammer + m2 to start reforge) but it just doesnt do anything. Tried it with a pickaxe head as well and it didnt seem to work. Im not sure if im doing something wrong or its just bugged.

Edit: Just installed Smithing+ and it seems to work now, didnt realize it depended on that mod.

💬 JonR , May 3rd at 9:05 PM

LadyCassandra | Ah yeah that bug has been fixed in the first 'beta' version. It's pretty close to being relatively stable as of now, but I do plan on pushing an update in an hour or so when I get it done to address another issue with the Whetstones (from Toolsmith) and knives but either way, when you do choose to update, make sure to back up your save just in case and let the Remapper run it's thing, then restart the server. It's needed since I overhauled a good bit of the mod.

💬 LadyCassandra, May 3rd at 8:56 PM

Greetings, I just wanted to report a crash that we're experiencing on our dedicated server when clicking on the 'Iron Knife' in the handbook as well as the 'Whetstone' from 'The Working Classes' that seem to be linked back to Toolsmith.
We are on version .13 still from 9th of April because we don't really want to use unstable versions. Is this something that seems familiar?

https://pastebin.com/KU7aLywh

💬 JonR , May 3rd at 8:36 PM

Aronai | Thank you! They keep coming in, haha. Got another about sharpening knives on the whetstone, it sorta starts but gets interrupted and never ends the audio or actually sharpens, so watch out for that - I hope to have a fix out soon.

ProfKane | Are you running the latest version of the mod? That sounds like the issue I tried to fix a version or two ago, so if yours is out of date, try to update it! It won't clear the existing sticks, but it should hopefully help clear any future ones.

B0YAR | I saw Brain Freeze already updated to address this and it wasn't a compatability issue, so that seems fixed. About Smithing Plus, the error also only shows Smithing Plus and I've seen that bug before Toolsmith, are you sure your Smithing Plus is updated fully? I think it might also be unrelated to Toolsmith.

💬 ProfKane, May 3rd at 6:26 PM

so since you have updated to add the work bench and what not some sticks can no longer be used for pit kiln im not sure if anyone else is having this probnlem or if its just me 

 

💬 Aronai, May 3rd at 2:43 PM

Great mod and you've been super-responsive to all the bug reports! Keep up the good work

💬 B0YAR, May 3rd at 12:31 PM

v1.20.9

The
mod conflicts with the "Brain Freeze" mod by throwing the client off the server with an error when trying use whetstone to sharpen the chisel. Please add compability.

3.5.2025 14:50:08 [Error] Exception: Object reference not set to an instance of an object.
at BrainFreeze.Code.Behaviors.IceBreakerTool.OnHeldInteractStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handHandling, EnumHandling& handling) in D:\Modding\VintageStory\BrainFreeze\BrainFreeze\Code\Behaviors\IceBreakerTool.cs:line 19
at Vintagestory.API.Common.CollectibleObject.OnHeldInteractStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handling) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1291
at Vintagestory.GameContent.ItemChisel.OnHeldInteractStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handling) in VSSurvivalMod\Item\ItemChisel.cs:line 189
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

Without "Brain Freeze" mod - whetstone conflict with "Smithing Plus" mod, but without crash.

3.5.2025 15:24:17 [Server Error] Exception: Object reference not set to an instance of an object.
ingPlus/SmithingPlus/BitsRecovery/CollectibleBehavior ScrapeCrucible.cs:line 119
at SmithingPlus.BitsRecovery. CollectibleBehavior ScrapeCrucible.TryGetSelectedGroundStorage (EntityPlayer entityPlayer, BlockSelection blockSel) in /Users/jacopouggeri/workspace/VintageModding/Smith at SmithingPlus.BitsRecovery. CollectibleBehaviorScrapeCrucible.OnHeldInteractStop (Single secondsUsed, ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, EnumH andling& handling) in /Users/jacopouggeri/workspace/VintageModding/SmithingPlus/SmithingPlus/Bits Recovery/CollectibleBehavior ScrapeCrucible.cs:line 50 at Vintagestory.API.Common.CollectibleObject.OnHeldInteractStop (Single secondsUsed, ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel) in VintagestoryApi\Comm on\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 1180
at Vintagestory.Server.ServerSystemInventory.callonUsing (ItemSlot slot, ServerPlayer player, BlockSelection blockSel, EntitySelection entitySel, Single& secondsPassed, Boolean callStop) in Vintage at Vintagestory.Server.ServerSystemInventory.OnUsing Tick(Single dt) in VintagestoryLib\Server\Systems\Inventory.cs:line 125
storyLib\Server\Systems\Inventory.cs:line 504
at Vintagestory.Common.GameTickListener.OnTriggered (Int64 ellapsedMilliseconds) in Vintagestory Lib\Common\Model\GameTickListener.cs:line 31
at Vintagestory.Common.EventManager. TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in Vintagestory Lib\Common\EventManager.cs:line 170
at Vintagestory.Server.ServerMain. Process() in Vintagestory Lib\Server\ServerMain.cs:line 914

💬 JonR , May 3rd at 5:14 AM

qtpihayley | I'll probably need your full logs to figure anything out for sure, could you send those on the Vintage Story Discord or on the Github for Toolsmith? Also, do any new tools not crash? I can place tools fine, so it might be that it's an older tool - but even in my playtest world my tools are fine despite having old pieces in them as well. I suspect it has to be a more complicated mod conflict, so I need the full logs to look into it further.

💬 qtpihayley, May 3rd at 2:51 AM

JonR its been all the rc versions, on singleplayer, and so far it's been a flint knife and a tin bronze scythe. these are tools I've had since before the recent release candidates so it could possibly be something wrong with them, but it's every time I try to double up on a tool. 

System.NullReferenceException: Object reference not set to an instance of an object.
at Toolsmith.Utils.ItemStackExtensions.GetToolCurrentSharpness(ItemStack itemStack) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\Utils\ItemStackExtensions.cs:line 84
at Toolsmith.ToolTinkering.TinkeringUtility.ToolOrHeadNeedsSharpening(ItemStack item, IWorldAccessor world) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\TinkeringUtility.cs:line 540
at Toolsmith.ToolTinkering.Behaviors.CollectibleBehaviorTinkeredTools.OnHeldInteractStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handHandling, EnumHandling& handling) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\Behaviors\CollectibleBehaviorTinkeredTools.cs:line 308
at Vintagestory.API.Common.CollectibleObject.OnHeldInteractStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handling) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1291
at Vintagestory.GameContent.ItemKnife.OnHeldInteractStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handling) in VSSurvivalMod\Item\ItemKnife.cs:line 66
at Vintagestory.API.Common.CollectibleObject.OnHeldUseStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, Boolean firstEvent, EnumHandHandling& handling) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1127
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, EnumHandHandling& handling) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 844
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 820
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 617
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 85
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

💬 JonR , May 3rd at 2:07 AM

Eagle_ | I'm not sure. At first glance at the page it might be fine? But it doesn't have any specific integration so I can't be sure. It certainly won't change recipes or anything based on that mod though.

qtpihayley | I'll have to try that on my end, but it never had any problems for me before? I've placed down tools all the time so, I need more information from you to do anything about this. What version are you using? Is it a server or singleplayer? What tool?

💬 Darkwhip, May 3rd at 2:07 AM

I hate how there is no instructions or guide on how to interact with the mods and tools.
Likew how the hell do I sharpen a tool ? What are the controls ?

💬 Eagle_, May 3rd at 1:03 AM

Is this compatable with Stone Age Expansion?

💬 qtpihayley, May 3rd at 12:32 AM

trying to add a tool to ground storage crashes the game. it doesn't crash if you create a new ground storage, only when you try to add a tool to an existing ground storage

💬 JonR , May 2nd at 9:06 PM

Ouk | Ah okay! Thank you for letting me know, that's likely another place I need to filter out the Stick info. At the same time it might have given me another idea to reinforce things better.

SuperTeeJ | That's a patch just to bump up the number of support beams you get from the vanilla recipe from 3 to 4, so I suspect you might have another mod that might've disabled the recipe or changed it? It's not really a problem though, since that's all it does. And about the handles, I rewrote them entirely so I had to use the Remapper to shift them to "old" versions to let you then craft them into the new versions. Did you let the Remapper run and then restart your game or server? It should have worked fine after that, but if you just replaced them, that's fine too :P

Elijah_ | Thank you!

metasynthie | Hoes are not blunt, but, are you trying to sharpen a Flint or Stone hoe and are you still on version 1.1.0-rc1? I found a tiny issue that was preventing sharpening tools with too small of a durability, it was rounding down to 0, whoops. If you are not on rc2, try grabbing that one and it should be fixed already.

Aronai | Ah, thank you! I'm pretty sure I know exactly where all three of these are having problems so it's likely an easy fix I can get done in a bit. The invisible part of the sticks is entirely due to the rendering, but I realized I should be checking for a blank string in the Shape attribute, and otherwise default to nothing. The hammers is probably I'm accidentally intercepting the interaction again, whoops, and then the null is likely just when the slot is empty or the head has no stats assigned yet so... yeah :P

💬 Aronai, May 2nd at 4:01 PM

Three bugs (rc2):

1) It seems like disassembling vanilla-converted tools gives you an invisible stick in your inventory. It has a tooltip, but doesn't stack with other sticks (that was previously reported, but I don't remember reading an 'invisible' part to that).

 

2) You don't appear to be able to disassemble hammers on the disassemble tool vice on the workbench. Not sure why. Just doesn't perform any interaction.

 

3) I get a null reference exception (on the server, not client, in multiplayer) in rc2 when right-clicking with hammer sometimes on workbench. If I right-click on tool heads to turn them into work items, sometimes it happens (but not every time). Same if I just right-click on the empty 'convert to work item' slot.

 

2.5.2025 11:30:42 [Server Error] Exception: Object reference not set to an instance of an object.
at Toolsmith.ToolTinkering.Drawbacks.ReforgingUtility.IsBelowPercentDurability(ItemStack stack, Single percent) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\Drawbacks\ReforgingUtility.cs:line 37
at Toolsmith.ToolTinkering.Drawbacks.ReforgingUtility.TryGetSmithingRecipeFromCache(ItemStack stack, ICoreAPI api) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\Drawbacks\ReforgingUtility.cs:line 20
at Toolsmith.ToolTinkering.Blocks.BlockEntityWorkbench.InitiateReforgeAttempt(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\Blocks\BlockEntityWorkbench.cs:line 77
at Toolsmith.ToolTinkering.Blocks.BlockWorkbench.AttemptReforgingToolHead(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel, BlockEntityWorkbench bench) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\Blocks\BlockWorkbench.cs:line 268
at Toolsmith.ToolTinkering.Blocks.BlockWorkbench.OnBlockInteractStart(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\Blocks\BlockWorkbench.cs:line 176
at Toolsmith.ToolTinkering.Blocks.BlockWorkbench.MBOnBlockInteractStart(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel, Vec3i offset) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\Blocks\BlockWorkbench.cs:line 309
at Vintagestory.GameContent.BlockMultiblock.<>c__DisplayClass17_0.b__0(IMultiBlockInteract inf) in VSEssentials\Block\BlockMultiblock.cs:line 239
at Vintagestory.GameContent.BlockMultiblock.Handle[T,K](IBlockAccessor ba, Int32 x, Int32 y, Int32 z, BlockCallDelegateInterface`2 onImplementsInterface, BlockCallDelegateBlock`1 onIsMultiblock, BlockCallDelegateBlock`1 onOtherwise) in VSEssentials\Block\BlockMultiblock.cs:line 83
at Vintagestory.GameContent.BlockMultiblock.OnBlockInteractStart(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel) in VSEssentials\Block\BlockMultiblock.cs:line 236
at Vintagestory.Server.ServerSystemBlockInteraction.HandleBlockInteract(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\WorldInteraction\BlockSimulation.cs:line 429
at Vintagestory.Server.ServerSystemInventory.HandleBlockInteract(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\Inventory.cs:line 255
at Vintagestory.Server.ServerMain.HandleClientPacket_mainthread(ReceivedNetPacket cpk) in VintagestoryLib\Server\ServerMainNetworking.cs:line 238
at Vintagestory.Server.ServerMain.ProcessNetMessage(NetIncomingMessage msg) in VintagestoryLib\Server\ServerMain.cs:line 957

💬 metasynthie, May 2nd at 3:24 PM

The new sharpening is great! I can't seem to sharpen hoes for some reason, when I right click the hoeing animation plays but the sharpness does not increase! Hoes aren't blunt, are they?

💬 RoxyVee, May 2nd at 2:37 PM

JonR Glad I could be of assistance and thanks very much for all your hard work on the mod, it's a fantstic addition and I'm excited to see where it goes in future!

💬 Elijah_, May 2nd at 12:27 PM

Just wanna say that this mod is amazing, love it. Keep up the great work!

💬 SuperTeeJ, May 2nd at 12:13 PM

Hey there, I keep getting an error appearing even after updating to latest gamemode. Not sure what is causing it:

[Error] Patch 0 (target: game:recipes/grid/beams.json) in toolsmith:patches/supportbeam-output-to-4.json failed because supplied path /0/output/quantity is invalid: The json path /0/output/quantity was not found. No such element '0' at the root path.

 

I am able to load into the game fine and it hasn't caused any issues except for other handles I had crafted now appearing as error items but deleted them and playing fine. 

 

Also thank you for all of your work. I love this mod and the concept! 

💬 Ouk, May 2nd at 12:10 PM

Hi,  I just installed the mod. I  disassembled vanilla stone hoe with drystone and have the same problem with sticks like others plus the stick from the hoe is invissible. I can see tooltip for the stick in my inventory (if I hover over the slot) but not the stick. If I put something in the same slot, the stick is moved to another empty slot, but I can't take it and throw it away. My game is moded:

EDIT: Ican throw the invisible sticks away! Sorry. 

Spoiler!
💬 JonR , May 2nd at 11:26 AM

RoxyVee | Ah! Okay, that answers where it's coming from, I can likely have that fixed tomorrow then! Unfortunately you might have to replace the non-stacking sticks with creative spawned ones, but I see what's happening now. I'll set up filtering for the sticks and bones specifically, but since they are considered handles they were likely getting handle data assigned to them accidentally and making them not stack as a result.

💬 RoxyVee, May 2nd at 10:52 AM

JonR I am dealing with a similar issue with sticks not stacking, specifically when produced by a modded recipe for converting firewood into sticks - they are also no longer usable for things like kiln firing when produced this way.

Esjitu

💬 TakeoTheWolf, May 2nd at 9:52 AM

how much work would it be for me to make my vanilla armory compatible? I don't code I'm only a json

💬 JonR , May 2nd at 7:01 AM

Okay! Just pushed another release now which should fix all the bugs that got found today except for that Jewelry issue since I believe that's something either on their side of things, or I need to find a better time when I'm not dealing with other things to sit down and figure out how their system works to see how it could be going wrong. If anyone knows about the mod, I'd appreciate the knowledge! As always feel free to check the Changelog on the release or on the github for what changed. It might be a bit drawn out or technical though sometimes :P

💬 Churburby, May 2nd at 2:43 AM

It works on v1.0.13.  I also got a crash using the recent update when opening a chest with CAN Jewelry items and scrolling the handbook after searching "jewelry".  The crash log says nul value in the texture atlas and gives other errors for rendering and shapes.  I'll send the crash report on Discord.

💬 JonR , May 2nd at 2:29 AM

Churburby | Ah! Was it working fine before this? Though I should be able to add an exception and checks for those socket attributes... I can probably fix that if you are looking to use Jewelery with Toolsmith.

💬 Churburby, May 2nd at 12:36 AM

Most recent update is incompatible with CAN Jewelry, removes socket slots on tools

💬 Balaur, May 1st at 10:55 PM

@JonR I'am testing in single player world

💬 EndlessOats, May 1st at 9:40 PM

JonR Essentially when I deconstruct a tool it crashed my client (this was on a server I'm hosting/testing) but not the server. I don't have logs I don't think because it was a clientside crash and not a serverside so it's not backed up on the server. I just reverted to the previous update and I'll run that till this release is stable. Awesome mod btw

💬 JonR , May 1st at 9:14 PM

Hyomoto | Sorry, I couldn't respond last night, I was tired and needed to get some sleep :P But yeah! I wrote it from the start to be fully compatible with Smithing Plus, and now I can more confidently say that it is fully compatible now. The in-hand crafting is fairly flexible as for what can be used in it, but right now it's certainly a bit more strictly coded - as in like, to add to it you might have to code some elements. It currently looks for Behavior tags to determine what classifies as a proper 'part', but since right now it is only assuming "Tools" and no weapons as of yet, it's fairly strict in that it's looking for a Tool Head, a Handle, and an optional binding. It's kinda integrated with the mod's configs and system as a whole, but it's certainly possible to look into making it more universally accessible all around. It might be easier to talk about it in the Mod thread on the Discord though! But I'm certainly up for talking about expanding on it, since with the Workbench now it's worth upgrading it further!

Balaur | That's peculiar hmm. You are on a dedicated server instead of a singleplayer game? I realized when I was getting ready to snooze that I didn't get a chance to test things on a dedicated server setup so there could be issues there that I need to debug, apologies! For the rendering of the parts on the bench though I'll have a look into it, I probably have something wrong with the rotations and such.

Aronai | That helps a lot to hear about, thanks for figuring that out!

Esjitu | Just to make sure, did you completely reset your configs for the mod? I think at this point I need to code a system to allow the configs to force a regeneration based on a flag... I didn't consider that until now but please try deleting your mod cache and the configs if you haven't already. If it persists though, would you be able to ping me on the Vintage Discord? I'd need to see if you can grab pictures of the attributes on the sticks and such, since most likely that is what is causing the trouble. I tried to account for every place I needed to where I should reset the attributes, but I likely missed a place or two and that's causing the stacking issues. If they are not perfectly the same, they won't stack.

EndlessOats | I've described it a bunch in the mod thread on the Discord if you are in that, otherwise I was planning on updating the description today and trying to work on more Handbook pages. I needed to get some sleep after getting this out there, but this is why I marked it as a beta or release candidate, I expected some problems at first cause of the large reworks. Can you describe the crash a bit more though? What are you doing with the workbench? Do you have any logs as well?

💬 EndlessOats, May 1st at 6:54 PM

So what actually does the new update do? We need an updated description, I don't know what "sharpness" does and now my metal tools are breaking.

 

Edit: also this crashes my game whenever I use the workbench. I suppose it's wip so I'll let it cook a bit longer before I update.

💬 LivCi, May 1st at 6:12 PM

Aronai +1

💬 Esjitu, May 1st at 5:35 PM

New save with the updated version and it seems like now sticks don't stack properly. I've got a stack of 20, another stack of 8, and a stack of 4, and none of them will stack with any of the other sticks in my inventory. I do have other mods so I can't say for certain this is the cause but I've never encountered it before, and before the new update if a tool broke and refunded a stick with durability lost it also wouldn't stack (which makes sense) so I'm just going out on a limb and assuming it could be related. These are all fresh sticks though, never used in tools, nothing about durability mentioned in the tooltip, they just won't stack normally since I updated this mod. Anyone having similar issues?

💬 Aronai, May 1st at 3:40 PM

Seems like there's an X-translation issue on the workbench so that the further to the right you put a part, the further to the left it ends up sitting if the bench is oriented facing south.

💬 Balaur, May 1st at 1:53 PM

When disassembling the tool on the workbench, all resources except the handle are returned, but if you clamp the assembly on the head, the tool reassembles as if nothing had happened.

If you put a whetstone on the ground and pick it back up, a duplicate of it is created.

Update:

Tool parts are placed ‘crooked’ on the workbench (sometimes in the air behind the workbench).

Tool tips do not appear when working with the workbench.

💬 JonR , May 1st at 11:59 AM

Snajper312 | Make sure that you deleted your old configs and try clearing your mod cache as well! The update changed a lot and the config regeneration is mandatory.

💬 Snajper312, May 1st at 11:45 AM

For now it mosty crash the game, like i used the previous version of mod, and it was fine but as i moved a bit from my house, the game just crashed.. and I needed to downgrade the mod version to join my server.

💬 Hyomoto, May 1st at 11:13 AM

I've been using overhaul lib to manage this but I like what you are showing here. That it's based on Maltiez's work means I could probably slot it in pretty easily.

I use attributes to lookup a texture and models, as well as attributes on the handles as you are doing here so that's all right inline. Plus I heard toolsmith is compatible with smithing plus' broken tool heads but I haven't investigated. Sharpening tools is literally one of the last pieces of the puzzle.

The only thing that stands out is the in hand crafting. I like this idea but how flexible are the recipes? For example, for a sword i have the handle hilt/pommel and the blade you then use a hammer to put it all together. Can this work with your crafting system? How does it decide which items to use, etc...? This might be beyond the scope but the handle of a sword isn't like the handle of a shovel, so do we have control over how many layers of durability it has? Also, a press fit, for example, is used on more complex tools in my mod: there is no rope or twine to break. My pick axe is a handle plus the head and, again a hammer. Crude shovels are bound with rope or cordage, but a properly made shovel uses pins and a sheath. In short, while binds exist some tools should just be the handle and the toolhead.

These ate just my thoughts because I'm quite excited for what I just read, but can't mess with it right now. I will later, though!

💬 JonR , Apr 30th at 7:52 AM

CoffeeToffee | Ah yeah, both of those are planned, or in the case of bones, I actually got those working now instead. Initially I just was just blacklisting them and they were supposed to function like vanilla tools, but I did rework a good bit that I'm almost done with to release soon. But in the case of weapons, I didn't include those yet as I wanted to handle weapons slightly differently and also integrate with Combat Overhaul cause I love the mod.

💬 CoffeeToffee, Apr 30th at 12:43 AM

Looks like if you use a bone in the crafting square (instead of using your offhand) instead of a stick for your stone tools, you dont get your stone toolhead back, and it behaves like a vanilla tool instead. Its not the end of the world its just a small inconsistency i noticed

💬 CoffeeToffee, Apr 29th at 8:38 PM

Any plans to allow weapons like the metal spears or falx to use this handle/binding system?

💬 SoggyGravel, Apr 29th at 5:33 AM

BaconHam i think the mod dev of repairme has plans to implement all that

💬 BaconHam, Apr 28th at 10:11 PM

Cool mod but i don't like grindstone implementation.

In real life, a grindstone, whetstone, steel, or otherwise will function in one of two ways. It will either sharpen or hone the edge.
What is the difference?
sharpening will slowly strip away metal until the blade achieves a sharpened edge.
honing will straighten out the metal, which helps maintain an edge without stripping metal away. Honing however can only offset degredation by so much, and will never make the edge sharper than it was to begin with.

Realistically speaking, a grindstone will always sharpen a tool, not hone the edge. A Whetstone could also be used for sharpening, or it could be used for honing, depending on how hard the stone is and how fine the grit.

I would suggest that rather than repairing, the grindstone should give a semi-permanent (decaying based on durability) buff to your weapon's stats at the cost of maximumn durability, while durability could be refreshed with either a whetstone or honing steel.

💬 JonR , Apr 28th at 8:04 PM

ViathLean | It's absolutely not a dumb question! I don't think any are really. I need to badly rewrite both the mod description and add handbook pages though, it's very possible to add pages and it's fairly easy to do so, I've just been busy reworking systems a bit and adding in the Sharpness and Wear. I hope to have that done soon so I can work on the pages and such!

💬 TotallyNotASmurf, Apr 28th at 2:00 PM

MadPixie Low Durability Handle drops when you use High Tier Handle without using a binding or a good enough binding. Essentially it kinda forcing you to also tier up your binding together with your good handles, as most of the time binding breaks when your tool/handle breaks. For the moment, when your tool breaks and gives you a tool head and handle, just assemble it back without binding or burn the handle.

💬 MadPixie, Apr 28th at 11:39 AM

Hi, I've noticed that sometimes when a tool breaks, I get back a low durability handle, but I can't seem to figure out what the point is? Can I repair them? It's a bit hard to find info about the mod...

💬 ViathLean, Apr 28th at 3:50 AM

New to Vintage Story modding here. I don't know if this is a dumb question. Is there anything stopping you from adding a handbook guide to at least list the tiers for each component so that forgetful players don't have to check the mod page if say they forget whether wax or fat is better?

💬 JonR , Apr 27th at 11:23 PM

Lordbanana89 | I've been working on the update and such for a while now! It should be fixed already on my end but I need to finish this update before I can push it live cause it wouldn't be fully functional yet, but it's close to finished.

💬 Lordbanana89, Apr 27th at 9:16 PM

News for the handbook fix ?

💬 Zeekakkeloebes, Apr 22nd at 8:59 AM

JonR   The tooltip for the saw is broken both in handbook and in inventory, but it's purely visual. It also only affects the copper saw - all other saw types display their mining speed correctly.

💬 Sofcrew, Apr 21st at 10:43 PM

JonR oh okay thank you, sorry i completely missed that it updated

💬 JonR , Apr 21st at 9:07 PM

Alphalight | That's fair, thank you for the feedback! The initial system I had in mind was to make everything scale off of the base tool durabilities to keep that sense of progression from Vanilla Tools meaningful in the same way, which is why it scales based on the tool head material. So yeah, you are kinda right, there really is no point to attaching a good handle to a poor head cause of keeping that progression consistent... Hmm. I'm thinking about it a bit more now, but while it's not a change or planned yet, maybe it could change down the line. Sharpness and Wear does change things a good amount too, so I'd like to see how that feels as is but it's a good idea to consider! If you'd like, and are on the official Discord, feel free to talk more about the idea in the mod's thread!

Zeekakkeloebes | Yeaaaaah that issue has been plaguing things for a bit, and while I hopefully have a fix already in place, just gotta finish a few things so the mod is fully playable again after a pretty extensive rework, haha. Though the saw mining speed tooltip bit is new, is that just in the handbook or also the item tooltip itself? I might have more places I should add some checks to just not do things if it's in the creative inventory or such.

💬 Alphalight, Apr 21st at 11:29 AM

As of right now, I don't see a point in attaching a good handle to a bad toolhead.

If possible, I think it would be better if handles had durability independent of the toolhead tier/material.

For instance, an Oiled Professional Tool Handle with Sturdy Grip has 3267 on an Iron tool, but only 163 durability on a Stone tool. Whether that's realistic or not, I don't know. But from a gameplay balance standpoint, it feels disatisfying. A handle such as that, requiring such high investment, should long-outlive many stone toolheads, even if it only lasts as long as, maybe, one well-maintained Bronze tool, repaired and worn down to dust.

I do understand the mod is undergoing a rework, so I apologize if this is already a feature or an upcoming feature and I haven't noticed. 

That aside, thank you for making this mod! It's already one of my favorites, and I'm excited to see how it further develops!

💬 Zeekakkeloebes, Apr 21st at 10:22 AM

I'm on 1.20.7 and using 1.0.13 of Toolsmith on a server, and opening the handbook for any scythe or saw crashes the client. The System.NullReferenceException at Toolsmith.Utils.ItemStackExtensions.SetToolbinding(ItemStack itemStack, ItemStack binding) makes me think it's a toolsmith issue.

 

I've also noticed that when I mouse over the saws, the copper saw just says 'mining speed: ' instead of 'mining speed: leaves 3x' or somesuch, but it does still get a boost to its speed, and it does still saw when I take it to a log using Dappled Groves, so I think it's purely a handbook issue. I can work around it currently by just telling my players scythes and saws are forbidden knowledge...

https://pastebin.com/TQtCziwq is my crash log.

Other tools do work fine - I've tested hoes, pickaxes, axes and falxes, as well as a few modded tools.

💬 GB2101, Apr 21st at 2:49 AM

I would like to suggest something. I think that the head durability should be dependent on the tier of the material. So stone heads would have the same durability as the tool, as it is tier one. And cooper heads would have two times its tool durabillity, all the way up to steel, with five times, being tier 5 material.

💬 JonR , Apr 20th at 10:16 AM

JamesThraugn | Yeah, it's already coded and working on my end, but I've been waylaid by deciding it was a good time to try and make the tools and parts have a more modular renderer. I'll hopefully have this solved in a way where I can release it and continue working on it, but right now it's kinda fundamentally broken as I fix it.

💬 JamesThraugn, Apr 20th at 1:45 AM

I would like to suggest a way to forcibly "break" a tool. I have recipes that require a hammer, but both of my hammers are too low of durability to craft. It's aggravating to have to wait until I bust a hammer, or make a new one to craft what I'm needing.

💬 JonR , Apr 19th at 1:03 AM

Sofcrew | Make sure to update the mod! That issue has been fixed if you are using the most recent version. Sorry about that!

dasjester01 | That's odd, it shouldn't take more then 5 seconds. Could your server be lagging or something? I did a bit of tweaking on the crafting methods for the next version already, so maybe that helps fix it - but what is your modlist? Maybe something else is adding an interaction and it's causing trouble.

AzzyBunn | Thanks for the log and the report! It's likely on my end, probably. I THINK I might have addressed this similar issue based on another report I got earlier for the next version? But hopefully I can get that out soon. I'm getting a little carried away reworking and adding things, haha. But I'm really excited for the next release.

💬 Sofcrew, Apr 18th at 11:14 PM

i think this mod is preventing me from being able to give the treasure hunter the tin bronze pickaxe. it's the only mod i have that messes with tools. i tried going into creative to see if that'd work, but it automatically goes to toolsmith tools so there's no way around it

💬 dasjester01, Apr 18th at 5:30 PM

JonR | yeah im doing in hand crafting but it seems to be taking forever i had a shovel head (flint) and crude tool rod but nothing seemed to be happening 

💬 AzzyBunn, Apr 18th at 1:30 PM

Combining Toolsmith and Early Chiseling causes the game to crash whenever i open the handbook to read about Sticks, Logs and Axes.
Here's the crashlog: https://pastebin.com/z0vruqKy

How to reproduce:
-Load the game with those 2 mods
-Press H on a Stick, any kind of Log or any kind of Axe / open the handbook page for them

I have left the same comment over at the other mod's page. 

The crash appeared on a modpack of ~120 mods, but i have narrowed it down to just those 2. Without Early Chiseling it doesn't crash.

💬 JonR , Apr 18th at 2:41 AM

dasjester01 | Are you using the In-Hand crafting method or the Grid Crafting? Check the tooltip of your tool head to see a reminder! But you need to hold the Tool Head in your main hand, and a Handle in your offhand, with an (optional) binding material in your hotbar.

EvilBobDALMYT | Yeah! The Wear idea is pretty much functional right now, and it's just like that for all tools. I just need to finish up the Reforging and I can push a release candidate while I work on the Drawbacks.

💬 EvilBobDALMYT, Apr 18th at 2:40 AM

For weapons, I think the grindstone should lower the max durability in exchange for repairing the weapon upwards.

That way, there's still a reason to make new ones, but you can stubbornly use the same sword you made until it's ground to dust.

💬 dasjester01, Apr 18th at 1:40 AM

hey so im using this mod and the tools dont seem to want to go onto the tool rods?

sorry if this is anoying but this mod sounds so good i just cant figure it out

 

💬 slads, Apr 16th at 11:40 AM

JonR

Thank you for this information, I will follow this closely. Congratulations again for the work accomplished.

💬 Ilappy666, Apr 15th at 11:04 PM

JonR

I just red the section where you mention you dont know how to balance the mod with the wepons, but id be happy just being able to grind my sword to repair it. :)
I red through the mod files, but i cant seem to grasp how items can interact with the grindstone.. If i can make a local patch to see how it works, id be very happy :)

Lets say i want to make a simple sword (which would be a single part tool for the case of it working on the grindstone), where do i have to write its a SinglePartTools ?

Ive been running through the github, and i'd guess i have to make my item work with the type/class "CollectibleBehaviorSmithedTools‎"? (sorry if im imprecise, im not that used to c#)
Or should i just try to make it fit in the description i see in ToolsmithConfigs.cs:17, like making it a "cleaver"?

💬 JonR , Apr 15th at 10:37 PM

slads | Glad you are enjoying it! And also the Grindstone has been entirely reworked with the upcoming version that adds sharpness and wear, it'll be a lot more like that, for the most part. It's hard to find any information on the different material levels it adds, but I did have some ideas regarding that as well that are sorta in progress. Currently I added in Whetstones and plan to have a few levels for them which last longer, but the possibility of a better/finer grit stone being more efficient is an interesting idea. I'll write down a note, but the efficency stuff might come later since I got a lot on my plate and I want to get the Wear system shipped soon if I can!

💬 slads, Apr 15th at 3:31 PM

Hello @JonR
First of all, thank you for this mod! I've been waiting a really long time for a worthy replacement for Toolworks.
A quick idea, I haven't seen anyone suggest it here... regarding the use of the grindstone, would it be possible to take inspiration from the Still Necessaries' Grindstone mod ? Or perhaps consider compatibility with the mod?
I find the idea of ​​the grindstone in Still Necessaries' very interesting and particularly realistic. It allows you to restore the durability of the object while reducing its maximum durability, which corresponds to the realistic use of a grindstone that will remove material from the tool to restore it. In addition, the mod integrates different materials accessible at different levels of play (granite, basalt, diamond, etc.) to create more efficient grindstones.
Sorry for the rough translation, I'm French and Google Translate is my best friend XD

💬 Nyaaa_Natchi, Apr 15th at 4:52 AM

Just coming back to say I adore this mod. Even in the copper age I feel as if I am getting proper use out of metal tools. Looking forward to this awesome mod developing more!

 

💬 Unuson, Apr 15th at 2:52 AM

JonR Thanks! I was using version 1.0.5 so I have updated them to 1.0.13

💬 JonR , Apr 14th at 11:22 PM

Krombee | Make sure you are updated to the latest version! That should be fixed in version 1.0.13

💬 Krombee, Apr 14th at 10:58 PM

Love the mod! Having an issue thoughthat I saw someone else mention that the Tin Bronze pickaxe that the Treasure hunter needs to get to the archives isn't being registered.

💬 JonR , Apr 14th at 10:57 PM

EstherWidget | Yeah, that's all fair criticism, thank you for taking the time to say it all! I still need to rework this some more, take a look at a few other mods out there and make it look visually nicer as well. I did include a tooltip on every valid tool head automatically which should mention the in-hand crafting, is there a way to clean that up better if it was missed? The binding use is limited to just the hotbar, and it works from left to right, stopping at the first valid option it finds. But, hmm... A partial intermediary step might work out and might not be too hard to add in either, that's a good idea, thank you! I do also like that it gives the player much more direct control and choice there.

Currently there is no handbook yet mostly cause I was swamped with bugfixes at first, and then when it calmed down I tried to continue with the Sharpness and Wear mechanics currently, but I'll write down a note to try and have some handbook entry cause it is long overdue and you are far from the first to ask about it. Oh, now that I'm re-reading this bit of your message yeah, there is a tooltip on every 'Head' that is valid for the mod, but I can totally see about adding more information to the handles or handle pages as well.

Finally, the whole crafting grid separation was somewhat intentional because I wanted it to be compatable with any mod and only needing a config tweak. I do not know if I can generate grid crafting recipes through code, but the real hitch is just how many recipes might be needed for each tool, and if I can't add them through code that's a lot of recipes to make. On top of that, it'd also make it harder to add full compatability for any other tool mod out there just because then recipes would be required for those tools as well. The grid crafting is very... strictly looking for specific items to match to the recipes, so it is very rigid in that sense. I wish I could have it be able to just check the behaviors of the input items for these specific recipes... but I'd likely have to just go about making my own crafting code for that either way. I've been considering a Workbench of sorts to pair with the Grindwheel for further interactions and possible alternate crafting method, so maybe it could show up there.

And yeah, I can see about showing the stats a bit more ingame, I didn't want to fill the mod description with a wall of numbers already :P Probably the best bet is a few handbook pages maybe, but since the stats are fully configurable as well, it might be just the default stats at first.

💬 EstherWidget, Apr 14th at 12:34 PM

Can I suggest a slight change to the crafting rules or more emphasis on the crafting method in the mod description? My friends and I were really frustrated trying to figure out how to attach a handle to a tool head last night and chalked it up to a mod incompatibility. It wasn't until I was going through the incompat list the morning after, to try and figure out what was going on, that I even realized in-hand crafting was a part of this. Possible solutions, from (probably) easiest to hardest:

1) Mention it in the first paragraph of the mod description. The first mention of this (fundamentally important) feature is one sentence, six paragraphs deep, inside a spoiler. Second (vague) mention is all the way at the end describing compatibility with another mod. And that's it. When I'm trying to throw something together on a tight play schedule, picking mods entirely off vibes, I won't really get that in-depth in reading. I'm just gonna be skimming along. It's also unclear how binding materials are applied from a hotbar. What if there are multiple options? Does it pick the first? Last? Highest or lowest quality? In a game with tight inventory space and very restrictive early game resource availability this kind of arcane feature can be... upsetting. Maybe make it a two-step process where the binding is added in a second round of crafting?

2) In-game handbook guide, even if it's just a couple paragraphs. Even if it's just the information on this page copied and pasted. Sorry if there is one, but I simply do not see it. If not a handbook guide, at least add "hold right click with handle in off hand and tool head in main hand" to the item pages for the tool handles.

3) Just let us do it in the crafting grid as well. Or force in-hand crafting for stick handles. It's confusing to be able to craft with the stick through the crafting grid, but then all other handles work a different way.

 

Also, mentioning the stat bonuses of the handles and wrappings in a guide or on the item pages would be awesome. Kinda hard to justify the time and/or material cost in game without a clear idea of the expected benefits. Even on this mod page, actual values aren't listed and it's unclear what is meant by "strike true."

💬 WolfricThorsson, Apr 13th at 1:42 PM

Foxtrot88 That's a really great idea! JonR Is that something you might consider implementing at some point? Could still need those same ingredients to make a sheet of sandpaper, but then being able to get a dozen or so uses out of it. Seems a little more immersive than having to use an entire sandstone block to make one handle. Really loving the mod so far.

💬 JonR , Apr 13th at 9:55 AM

Unuson | Make sure that you and the server have updated the mod fully. That sounds like a bug I've already fixed a few versions back with an accidental infinite loop.

💬 Unuson, Apr 13th at 6:42 AM

I found a bug on a multiplayer server with using a Toolsmith copper saw while trying to make a pulverizer frame. the game instantly hitches and freezes, and I have to force-close the game client. No crash logs are generated and the game never unfreezes, and the server does not recognize any issues other than the player disconnecting. I was using a slightly-used copper saw made from the carved tool handle wrapped with twine and greased. After the server uninstalled the Toolsmith mod I was able to make the pulverizer frame using the vanilla copper saw.

💬 JonR , Apr 12th at 11:01 PM

FatherSarge | Ah! Thank you for the descriptive report and the logs and everything! At quick glance it does look like it's something more on my end cause it's the 'GetHeldItemInfo' tooltip additions that I added that might be causing it, so I might be able to fix it on my end. I'll have to look into it more, but I do really appreciate the report and how you gave me all the steps and everything!

💬 FatherSarge, Apr 12th at 10:57 PM

Hi jon, have an error here you might be interested in, compat issue with Chest Organizer (https://mods.vintagestory.at/chestorganizer) looks like.
Occurred when I tried to use the CO search function (all area inventories) when there was a tinkered tool in one of the inventories. The tool in question was a tinkered Flint Mallet from Ancient Tools.

https://pastebin.com/F5ZDP2fQ

Easily repeatable

1. Tinker a tool
2. Put it in a chest
3. Open all area chests with CO
4. Use the search function

The crash occurs with your code but let me know if you want me to report to CO as well, probably some improved exception handling might have helped on their end.
Non-critical, just avoiding the search function if there are tinkered tools in inventories.

💬 Hyomoto, Apr 12th at 6:37 AM

So, unrelated to this I was trying to write a patch for barbershop that would add the metal/wood variants for the various items in that pack and yeah, it's annoying but it's totally doable. 

  "ingredients": {
    "K": {
      "type": "item",
      "code": "game:knifeblade-*",
      "name": "metal",
      "allowedVariants": [ "copper", "tinbronze", "bismuthbronze", "blackbronze", "gold", "silver", "iron", "meteoriciron", "steel" ]
    },
    "S": { "type": "block", "code": "game:debarkedlog-*-ud", "name": "wood", "allowedVariants": [ "acacia", "aged", "baldcypress", "birch", "ebony", "kapok", "larch", "maple", "oak", "pine", "purpleheart", "redwood", "walnut" ] }
  },
  "output": {
    "type": "item",
    "code": "barbershop:razor-{wood}-{metal}"
  }
}
 
Here we have our variant which I assume you basically already have.  Then the texture swap,
 
  "textures": {
    "wood": { "base": "game:block/wood/debarked/{wood}" },
    "metal": { "base": "game:block/metal/ingot/{metal}" }
  },
  "variantgroups": [
    { "code": "wood", "states" : [ "acacia", "aged", "baldcypress", "birch", "ebony", "kapok", "larch", "maple", "oak", "pine", "purpleheart", "redwood", "walnut" ] },
    { "code": "metal", "states": ["copper", "tinbronze", "bismuthbronze", "blackbronze", "gold", "silver", "iron", "meteoriciron", "steel" ] }
  ],
 
As far as I can tell this can be extended to custom models and the whole shebang.  It's a little clunky but it does seem to work.
💬 Shion, Apr 11th at 4:35 PM

Separate mod for the grindstone, which would work with weapons too?

💬 Shogunbenny, Apr 11th at 11:34 AM

Just a suggestion, could you add a simple mill-powered grindstone? Maybe works faster than a regular grindstone (depending on windspeed), works with a horizontal axle like the helve hammer or pulverizer. 

💬 JonR , Apr 10th at 8:03 AM

Yeah, that's fair! That's similar to why I kinda made it so sometimes some bindings can be recovered when/if you destroy the head or handle. I was kinda thinking of like, if it's at max hp at least you can recover all of them, otherwise breaking it down sacrifices the binding. That way it doesn't penalize an accident, cause that wouldn't be fun if it accidentally uses the wrong binding on you when you craft a tool :P Then otherwise the Handle and Head return with their current durability.

💬 itselre, Apr 10th at 7:35 AM

I for one would go with not having any binding recovery, as it's closest to the real life. Wedges get broken, nails or screws eat at the material, twine or rope gets eaten themselves. I'd say the binding is pretty cheap to get and can be ignored. A handle however, especially one that has been tender really well, I would like to use it a few more times.

💬 JonR , Apr 10th at 4:01 AM

Weerum | That's very wonderful to hear, thank you very much! I'm glad it's working well and you are enjoying it!

Hyomoto | Ah, yeah! I have seen Black's Tools, Blackmare posted on here as well before too! It certainly will be helpful to peek at it, and I know Maltiez's Armory uses a way to assign textures based on attributes so that's another thing I'm going to look at. And thank you for the first comment as well! Disassembling tools is certainly coming next with the Wear and Sharpness changes, mostly just need to figure out how to best return a Binding or not... Leaning towards a small window on a fresh binding means you can take it back off without breaking it, to account for accidents but prevent abusing free durability on bindings :P

itselre | I'm glad you are enjoying the idea as well! As above, disassembling tools is certainly next on the list along with Wear and Sharpness changes. I still wanna keep that longevity to tools, but them dulling and needing re-grinding just makes so much sense, and I think can add an interesting element to gameplay.

Ligmus | This might be easier to explain on the official Discord, do you think you could message in the Toolsmith thread and I can help with pictures of my own config files and such? ... Or heck, even just send you mine, hah.

 

💬 Weerum, Apr 10th at 1:27 AM

I was very skeptical at first because I use a very tailored 100+ mod pack for my own private server; but after using it all day and experiencing nothing but flawless performance from it and a load of new content relegating my tools a longer lifespan while keeping it within the constraints of fairness, I can say that I am very pleased by your work and greatly impressed with the level of skill put into it's stability and synchronicity with other mods.

 

Well done, and I hope you never tire of your work.

💬 Hyomoto, Apr 10th at 1:16 AM

Random thought, Blacks Tools seems to do, at some level, what you are trying to do here.  They have custom handles/heads based on the ingredients used which includes different binds (I think).  In case it's passed you by, https://mods.vintagestory.at/bmt, might be worth a collab or perhaps it's just possible to learn from their work?

💬 Ligmus, Apr 9th at 6:59 PM

Hey im very new to this stuff so could you please explain it simply. If I choose to still use this mod with xskills what will happen? Also could you please explain more about using this mod with smithing plus? im not sure how to make the changes you said are required or how id know it was done correctly.

💬 itselre, Apr 9th at 4:15 PM

Thank you very much! I am loving the mods that breathe life into this game that's already amazing as it is. Indeed, being able to dissassemble would be awesome, but still. You've done an amazing job with this mod! Thank you again!

💬 Hyomoto, Apr 9th at 2:04 PM

This is a very promising project.  Disassembly is high on the list of wants right alongside the visual aspect.  Any 'variants' option that adds a bit more to the 'ownership' of an item makes it more appealing.  I think one of the strengths of VS is the ownership you can take over things, and being able to make 'nice knives' or whatever only adds to that.  Functionality is nice, but it's the effort that goes into it that makes it matter.

💬 JonR , Apr 9th at 5:27 AM

Thank you very much!

💬 dimwit105, Apr 9th at 5:03 AM

I like your ideas, but adore your commitment to this project. Very interested to see where it goes. Take care friend <3

💬 DilanRona, Apr 9th at 12:41 AM

Tried to remove the stick from the config files, but every time I load the game, the stick gets put back to the configs. Making it impossible to make the vanilla tools.

Ideally it would be better to use the tool handles from your mod on the heads for the improved versions, and using the stick for vanilla tools.

💬 JonR , Apr 8th at 9:29 PM

HaraiseTenshi | Oh yeah, certainly. That should be easy to add support for! Honestly at a glance a good number of oils there make a lot of sense too. That's a really nice mod.

itselre | Ah, Art of Growing adds tools? It shouldn't be a problem at all to add support with the default configs! Thanks for giving me the heads up.

 

Edit: Just a quick edit on this message to let you two know that I just pushed a quick update adding both of those! If you use Art of Growing though, make sure to let your configs regenerate!

Double Edit: It's still near the top, so whoops. Almost forgot to fix the Treasure Hunter issue as well. But pushed v.13 that fixes that as well! Took down .12 cause basically there's no reason to grab that one over .13 and it's still new enough.

💬 HaraiseTenshi, Apr 8th at 8:35 PM

Hey any chance you could add the oils from https://mods.vintagestory.at/oils for handle treating?

💬 itselre, Apr 8th at 8:01 PM

Is it possible to add support for Art of Growing tools?

💬 JonR , Apr 8th at 11:45 AM

Well, for Corvo as well as anyone else who asked about XSkills or ItemRarity, I managed to get them working for the most part. There is one hitch with each mod, but it is mostly functional on my side of things, and if you are interested in using those mods with Toolsmith, please check the Mod Compat section above for the details! I think the issues unique to each mod will have to be solved on their end of things, so I'll have to get in contact with the developers eventually, but it should be functional for the most part. The only oddity that comes from using either of them is that their patches break the rendering of the Damage Bar, but it is only purely visual. If anyone knows where that Damage Bar is rendered in the code, please let me know! I've been trying to locate it to fix this, but agh, I can't find it.

💬 Corvo_Attano, Apr 8th at 1:00 AM

I really, really love how this mod is implimented, but we use xSkills. We just started a fresh server so I don't know how it interacts between the two, but I hope its no big deal. Will update with more feedback soon.

💬 JonR , Apr 7th at 11:14 PM

Kaschperle | I already have plans for a more accurate 'Wear' system likely involving sharpness and stuff. I posted more details about it earlier below if you scroll down and check it out.

Danzio | That might have been fixed already if only cause it sounds similar to the issue causing Smithing Plus to crash out, but I'll try a quick test of that today to be sure. Thanks! I've never made Soldering in my playtesting yet so I can't say for sure, I take things SUPER slow when I chill in games :P

DefiledMage | It might be similar to XSkills and the Quality system there, I think it might be those mods are modifying things after the tool is constructed on Toolsmith's end. I'm not sure, I've not used those mods myself so I'll need to look into it. Since it seems like a consistant issue for a few similar mods, I feel like I can better account for changes like this on my end to make things more compatable.

💬 DefiledMage, Apr 7th at 4:27 PM

I noticed that this mod doesn't work well with the Item Rarity mod. When you get rarity, the maximum durability of items increases, but not the current one. Because of this, items are created immediately "damaged". Is there a way to fix this?

💬 HaraiseTenshi, Apr 7th at 3:56 PM

Sad... can't copy paste into VS apparently so gotta do it in the actual config file xD

💬 DilanRona, Apr 7th at 2:49 PM

I actually enjoy the sharpening mechanic. Even newly made tools needs sharpening before they can be used. Although I would add a config option to have it 100% on new created tools and repairs, for those that do not enjoy sharpening the tools first.

💬 Danzio, Apr 7th at 2:30 PM

Hello! I am not quite sure, but few versions ago there was a bug, when crafting soldering (saw+soldering alloy ingot) caused internal server to crash (or, rather, not responding continously).

I'm not sure, did I describe that issue correct and completely, moreover maybe this one already been fixed in recent updates...

💬 Kaschperle, Apr 7th at 12:26 PM

I know your vision isn't necessary as of many other people. But perhaps if we consider everyone uses smithing plus and so on perhaps the grinding stone should only be used to sharpen weapons. Alas you smith something or repair a broken toolhead from smithing plus and having to sharpen it before usage and making a handle is a gameloop people would enjoy rather the "seemingly" infinite tool durability (even with config) as many other people stated some material can't just be reused like it's steel where you hypothetically use a knife for 30 years as long as you reshapen it.

Another idea would be to make the sharpening usage related to the tool speed / dmg bonus. If you don't sharpen your tools you need longer to destroy rocks and so on starting at 100% sharpness then 50%,each stage you get a percent debuff on block dmg or whatever its handled as code. But if you keep your sharpness above 70% you should get a block destroy speed buff something to keep people busy and we play all vintage story for the simple but pleasurable grind.

 

Hopefully it makes sense.

💬 Vrael, Apr 7th at 11:08 AM

Does the grindstone let you infinitely repair tool head durability? If so, what is the thought process of increasing the base tool head durability? Thank you for adding config options. How would I decrease the tool head durability value? Thanks for all your hard work!

💬 JonR , Apr 7th at 9:12 AM

XurxoMF | Yeah, the Spears and any weapons just function like Vanilla for now. I wanted to kinda make it a bit, well, it didn't seem to make complete sense to make it worked 1 for 1 exactly the same as Tools do. I have ideas to work on to handle them slightly differently, both in the code sense and the gameplay sense since there'd be a few issues with the code side of things. Ah! I also included that Wildcraft Trees patch so it'll work with that now in 1.0.9!

Lightpowder | Yeah, I'll eventually get on it but I have a few other things first. It's on the Todo list though!

Kosmu | Right now that specific mod wouldn't work with the system as I have it, but I'm trying to think up a way to handle cases like that where a tool head shares multiple tool crafting results. But if you mean to ask for like, decorative options to add to tools? That could be a possibility, like freely adding guilded flourishes. That would likely come when there's more proper graphics though for the constructed tools.

lugia | I'm not entirely sure what happened there, but it doesn't even look like the mod is loaded according to that bit of log. Try clearing the cache and redownloading the latest version? It might've corrupted on download or something.

Scornfulsix Swordzofgodz |

Version 1.0.9 should address both of these issues with Smithing Plus! I thought it was working already, but it wasn't so I fixed that bit. It was erroring and kinda crashing out Smithing Plus if you used a repaired tool head because I was sending a spoofed recipe into the OnGridCraft call to hook into that, but Smithing Plus wasn't checking for if something was null first. It'd be safer to just fill out as much as I can there to prevent this in the future.

Kaschperle | It's configurable now, as I said earlier here it was next on the list really.

 

Finally, I'll try looking into the whole Treasure Hunter trade issue and see what I can do about that next. Seems a bit odd that it's oddly specific like that, but huh. Just wanted to get this update out to deal with the pressing issues making things not work where they should be. Sorry about that! When you grab version 1.0.9, you will likely want to regen your configs, and if you use Smithing Plus, please check the Mod Compat dropdown above since you will need to edit that mod's configs to ensure everything works fine with Toolsmith! I'll be seeing if I can work with Jayu and get this automatically handled though in the future.

💬 Swordzofgodz, Apr 7th at 4:50 AM

Hello!

I get an exception crash when trying to add toolhead onto a handle.

 

This is the error I get:

6.4.2025 22:44:57 [Error] Exception: Object reference not set to an instance of an object.
at SmithingPlus.ToolRecovery.ItemDamagedPatches.Postfix_OnCreatedByCrafting(ItemSlot[] allInputslots, ItemSlot outputSlot, GridRecipe byRecipe) in /Users/jacopouggeri/workspace/VintageModding/SmithingPlus/SmithingPlus/ToolRecovery/ItemDamagedPatches.cs:line 38
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 66
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.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

 

Any help would be greatly appreciated!

💬 DilanRona, Apr 7th at 12:31 AM

Maybe the solution for now regarding the problems with both Kaschperle (durability on heads), and Comrade_Toothpik (Treasure hunter not accepting tin bronze pickaxe), is to revert to the vanilla tools regarding the head, and sticks. With the actual enhanced version (as implemented now) to be exclusive to the tool handle that can be crafted. JonR

💬 Kaschperle, Apr 6th at 11:16 PM

i looked into them but didn't see a easy swoop on terms of durability on pickaxe heads  / any tool just the handles and as such I believe i can play around the handles but not the tool durability which is to much.

 

💬 DilanRona, Apr 6th at 10:14 PM

The config files are ToolsmithPartsStats.json, and Toolsmith.json. You will find both under the ModConfig folder.

Kaschperle

💬 Kaschperle, Apr 6th at 9:19 PM

no config to change tool durability just makes this mod just to op.

💬 DilanRona, Apr 6th at 9:08 PM

Tested tinbronze pickaxes as well, head returns well. Repairs with the grindstone works great, no issue putting on the new handle. Only issue now that I can see on my end is the treasure hunter not recognising the new pickaxe now. Whether it was freshly made, or repaired.

💬 DilanRona, Apr 6th at 6:05 PM

Ok, Tried the mod again, the axe head that I used for testing returned every time now whenever the handle broke, putting a new handle (standard stick) wasnt any problems. Did a repair on a copper axe head (Smithing plus mechanic), and when I put a stick on the head, i noticed that the durability wasn't at 100% (1250 durability for the copper axe), but at 1. Making it neccessary to use the grind stone on the axe first. Going to assume that was intentional, and does make more sense also from a repairing point of view.

Didnt have any problems with the grind stones (both versions). Heads (granite and copper axes only tested so far) were returned properly, including the sticks that were used for handles when the head breaks. In the case of the metal axe heads, the broken tool head returned properly as well, and I had a successfull repair using the Smithing Plus mechanic. In light of the comment from Scornfulsix, I made a point to use the sticks that had a partial use on it (sticks from an axe where the granite, and copper heads broke). Didnt have any problems there.

 

Also found that the treasure hunter will not accept the tinbronze pickaxe now. So maybe a patch for the treasure trader.

 

Your mod has a very great potential. Thank you.

💬 Comrade_Toothpik, Apr 6th at 4:51 PM

I'm having an issue turning in a tin bronze pickaxe in for the treasure hunter. I tried making one and spawning one in from the creative menu and neither seem to be recognised by the trader. 

💬 Scornfulsix, Apr 6th at 4:09 PM

Maybe I'm doing this wrong, but I just repaired my broken tool head on my anvil with Smithing Plus like normal, but I can't seem to put the repaired head on any handles, just a normal stick.

💬 lugia, Apr 6th at 1:25 PM

so im getting this error on world load with latest version

 

Running on 64 bit Linux (EndeavourOS) [Kernel 6.13.6.1] with 32018 MB RAM
Game Version: v1.20.7 (Stable)
06/04/2025 23:21:19: Critical error occurred
Loaded Mods: aculinaryartillery@1.2.5, bertazzostickmod@1.0.0, betterloot@1.1.4, bowtornbalance@1.0.0, chargedjump@1.0.4, driedgrasstothatch@1.0.2, golden-wolf@1.1.1, MoveLikeKaji@0.0.6, OresAPlenty@3.3.0, OresAPlentyAddon@1.1.0, overhaullib@0.0.2, proximityprospectingpick@1.0.3, ragnamans-seeds-from-crops-recipes@1.0.0, ripened_wild_crops@1.0.0, rlldtco0001@1.2.0, scrapblocks@1.2.6, spyglass@0.5.2, temporal_gears_stack@1.0.0, tprunes@1.1.1, usefultraders@2.2.0, game@1.20.7, zoombuttonreborn@2.0.0, ancienttools@1.5.25, awearablelight@1.1.31, betterruins@0.4.9, blocksoverlay@4.2.0, bradycrudebuilding@1.2.0, bullseyecontinued@3.0.0-pre.7, carryon@1.8.0-rc.4, chestorganizer@1.2.3, commonlib@2.6.1, connectedstairs@1.0.0, egocaribautomapmarkers@4.0.1, expandedfoods@1.7.4, farmlanddropswithnutrients@1.2.0, farseer@1.0.2, glidierglider@0.0.3, kemono@0.0.27, krpgenchantment@0.6.25, krpgwands@0.5.0, metalrecoveryrevived@0.1.20, mobsradar@2.1.6, neverwinter@1.6.3, rivers@4.1.0, rustboundmagic@2.4.1, statushudcont@3.2.6, creative@1.20.7, survival@1.20.7, woodenfortifications@2.0.5, xlib@0.8.16, extraoverlays@1.5.0, rustboundmagiceasy@0.1.0, wkfa@0.0.96, xskills@0.8.17, rustboundmagicxskills@0.2.1
System.Exception: Don't know how to instantiate collectible behavior of class 'toolsmith:TinkeredTools' did you forget to register a mapping?
at Vintagestory.Common.ClassRegistry.CreateCollectibleBehavior(CollectibleObject collectible, String code) in VintagestoryLib\Common\ClassRegistry.cs:line 265
at Vintagestory.Common.ItemTypeNet.ReadItemTypePacket(Packet_ItemType packet, IWorldAccessor world, ClassRegistry registry) in VintagestoryLib\Common\Network\ItemTypeNet.cs:line 53
at Vintagestory.Client.NoObf.ClientSystemStartup.PopulateItems(List`1 items, Int32 listSize) in VintagestoryLib\Client\Systems\Startup.cs:line 627
at Vintagestory.Client.NoObf.ClientSystemStartup.LoadItemTypes() in VintagestoryLib\Client\Systems\Startup.cs:line 435
at Vintagestory.Client.NoObf.ClientSystemStartup.HandleServerAssets_Step1() in VintagestoryLib\Client\Systems\Startup.cs:line 377
at Vintagestory.API.Common.TyronThreadPool.<>c__DisplayClass13_0.<QueueTask>b__0(Object a) in VintagestoryApi\Common\TyronThreadPool.cs:line 121
at System.Threading.QueueUserWorkItemCallback.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()

💬 Kosmu, Apr 6th at 12:33 PM

Would it be possible to get something like gilded tools? https://mods.vintagestory.at/gildedsteel

💬 Lightpowder, Apr 6th at 11:16 AM

The quality for blacksmith affects durability but it seems to stop doing so with your mod (the hammer head at around 7.5 quality for example has 5k durability which to me seems like what you put it at). It doesn't really affect gameplay, just does make the skill kind of useless. Would be cool if you can sort it out tho.
JonR

💬 Guildorath, Apr 6th at 11:09 AM

@JonR | Yeah that was a typo, silex is the french word for flint, sorry! Just installed v1.0.8 on the server, will test it out. Thanks!

💬 XurxoMF, Apr 6th at 11:07 AM

Sadly I know almost nothing about json patching on VS. I can try tho. If I can't do it I'll wait for the next big update ^^

I've been playing with this mod for a few hours and I love it. I hope to see new cool stuff on the future ❤️

EDIT: I've also found that spears can't use different handles and they are like vanilla ones, idk if it's a bug or intentional.

EDIT 2: Oh and I've found another bug(not this mod's fault I think). Wildcraft: Trees and Shrubs patches the stick to make it possible to store them on that mods baskets. This will overryde Toolsmith patch making it impossible to place it on the offhand. I've asked the Wildcraft author to check it too, hope there is a way to fix it and make both mods work.

💬 JonR , Apr 6th at 11:03 AM

XurxoMF | Not currently but I don't see why not just add it in. I've been considering it, and it's as easy as just adding to the default configs, so I might just do it for the next big update. In the meantime if you look at the two config files, you could add it yourself to function just like the Stick. Ah, and it would also need a patch written to be able to put it in the offhand slot.

💬 XurxoMF, Apr 6th at 10:51 AM

Little question. Can you craft tools with bones like in vanilla? If so, can you do it with the offhand bone like with Salty's Mod?

💬 JonR , Apr 6th at 10:15 AM

Lightpowder | Ah, huh. That does sound likely it might be caused by XSkills. It's just a visual issue with the bar? Do the tools function properly otherwise? Also - what about vanilla tools? I can write a note down to check it out when it comes to getting things working better with XSkills, but right now I expect there to be some issues if you use XSkills. Worst case some skills might not work if they involve tool damage or durability, but I consider the quality one a bit more important to address sooner.

💬 Lightpowder, Apr 6th at 10:06 AM

Tools from the Stone Quarry mod are crafted already damaged (the parts are all at max durability, but the bar is at like 75%).
Might have something to do with quality from XSkills.
JonR

💬 JonR , Apr 6th at 9:46 AM

stormtrooper_34 DilanRona -
Just pushed another patched version - it should fix that issue with the tools being unbreakable. I managed to notice it happening with Dilan's list but otherwise it works fine now on my end. Sorry about that!

💬 stormtrooper_34, Apr 6th at 9:02 AM

It seems, tools are now unbreakable if all their durability wasn't used in one go. Got flint shovel that mends itself back to full health after beeing used

💬 DilanRona, Apr 6th at 6:10 AM

Ok, made a fresh batch of tools (with the mod removed), before installing the updated mod. Ran into a massive problem with the axes again.

When the handle durability reaches 0, it does drop a head this time, But I still have the original axe in my hand. And the moment I pick anything up, the axe head that was dropped immediately dissapears, and is replaced with whatever I pick up. Also, the axe that is in my hand (after the original broke) doesnt have any of its durability decreased. Stays at max the entire time.

As per your suggestion, RepairMe was removed.

💬 Taeo, Apr 6th at 5:13 AM

Also got the client crash when skinning with a fancy knife. Will try to recreate in a bit to see if I can snag an error log
EDIT: oop, was looking at an outdated version of the comment section, will try 1.0.7 first

💬 JonR , Apr 6th at 2:58 AM

Guildorath Magmarashi -
Okay good news, it was an easy catch on that one and I just uploaded a fix for that! Thanks for reporting it well, too! Turns out, oops, I was catching things in an infinite loop, cause I forgot to increment the counter... A stupid mistake led to it just locking everything up any time a tool took more then 1 damage at a time with a handle that has a chance to not damage :P

Also for everyone in general, grab the most recent 1.0.7! It hopefully has a more aggressive way to ensure that tools are properly initialized any time something calls 'GetDurability', it should help with some oddities I think.

💬 JonR , Apr 5th at 11:58 PM

I'm currently working on reorganizing and rewriting the resetting of null parts to run a check if it needs to be done when the value is 'Get'-ed, it's mostly working so far but I think it could be causing some of these issues people have been having where another mod is attempting to get the durability but none of the tool has actually been initiated. Certainly seems to be a better way to handle it here, but, I've ended up coming across an oddity with Axes now that I need to figure out - and it might be related to crafting with saws and the knife issue posted earlier, not sure though, since it wasn't happening before I rewrote things. I'm working on it though and hope I can get it out soon, then I can try and look more into these other individual issues and try to replicate them. Hoping this rewrite will fix them though :P

Guildorath | In your previous message, you said 'silex' knife? Was that a typo or is it a modded knife from something? The above might pertain to the issues you are still having though, so hopefully I can get this done soon. In the meantime, make sure your client is using the same version as the server, and try to delete the Mod's cache on the clientside just to be sure. I had it happen once with More Piles where it was somehow not extracting the new version at all until I did that.

Magmarashi | Hmm, interesting. I could have sworn I tested a wrapped handle, but I'll give that a shot with v.5 real quick. Was it singleplayer or multiplayer, since Guildorath is playing Multi already, but I'll check both on my end too.

DilanRona | I can't go through the whole list quite yet since I'm busy with the aforementioned stuff, but I saw you have RepairMe added in - If you have time before I can finish this update, try removing that first thing since I already heard it had problems.

Matsan | I'll have to read this more later but, one quick bit is that the metals do determine the base durability already. Every tool is pulling from the base durability of the basic tool, then doing math on that to get the elevated values. It's why I set the Tool Head to be just x5 to start, so that with the better handles and bindings, the head won't shatter before the handle since that didn't make too much sense :P So at least in that sense, yeah, the better metals give their base mining speed buffs and their much larger pools of health for each step up. I'll certainly allow that Head durability multiplier to be configurable though, that'd be easy at least. And we have seen copper and broze tools that have survived until this day, copper not so much cause of oxidation but bronze definitely, and medieval iron tools (which is where the game's kinda tech level was at I figured) still are in pretty usable condition today if they were kept well and likely passed down. Trees themselves are an outlier for sure cause of how it counts every single block, they really are the ones that benefit the most as is - but before this I would chew through like 3 tin-bronze axes cutting down 1 'turbo oak' as I called it. I think it generated from Wilderlands Forests? It was huge but, it felt wrong and a little tiring to just chew through 3 or 4 ingots of bronze to cut down a single tree. I just made over 8 flint axes and just sat there for 5 minutes chopping instead. I honestly might consider just changing the Axe durability use to be 1 per tree (or log since you gotta split the trunk) actually chopped down, and the tree still fully collapses since, that's all you are chopping anyway. But dunno, bug fixes come first :P

 

I really gotta see about getting a thread on the official Discord... That will help immensely.

💬 Matsan, Apr 5th at 9:31 PM

Tried the mod with some friends in a server, and gave some valuable feedback. (Glad I didn't experience the crash below.) Actually didn't experience any crashes, or that durability bug that one person mentioned.

A large part of the core loop of Vintage Story's gameplay loop is the planning on how to keep getting metals, progressing further and further to the next tiers. The need for such metals, and need to keep smithing, is basically gone with what the mod currently does in buffing the tool's durability by such a massive amount (5x?)

Instead of a buff, it'd be more fun if this mod was an "overhaul", like how the butchering mod changes how meat is processed to make it realistic. this should be an overhaul on how tools are made and handled, making it more realistic, but the gameplay loop should still be kept intact, that is being the next tier of metal is what makes it so you don't need to go out as often, just like how it is by default in vanilla.

I helped flesh out the idea with the Durability and Sharpness, but in terms of balancing, you should be (ideally) needing to get metals at the same rate with the need to sharpen it to maintain its effectiveness, reforging it to add durability back, and then sharpening again. It'd still be the same toolhead, but you'd still need to get the same amount of ores. It's that the bonuses that a better handle provides is what would make you need to go out less often, but at the same time gives you more stuff to overall do because of the existence of these better handles.

Then this is where a big improvement can be made: compatibility. I feel like if you were to reforge the same toolhead again and again, the more you'd be able to "perfect" it, where xskills come into play. You could make it so when a toolhead is reforged, it'd basically be like if you were able to reroll it for a better quality. Like the quality could be reduced by a range of 0.5, or increased to 1.

Another thing, the grindstone should definitely be a mechanically powered tool, with whetstones being the item that's used to do sharpening maintenance before that.

Of course, it can still be configurable if people do want the durability buff, to make it truly "realistic" like the maintenance of IRL tools, but the gameplay loop is just as important! Also, people don't really use copper pickaxes IRL.. they use steel! If they want their tools to last longer, they need to use the metals that we use today.

If a buff to the toolhead durability itself is a must, then 1.5x the vanilla durability should be good, but with your friend "if I got scammed out of an axe after breaking down six trees, I would want a refund!" Well.. if it was a steel axe? Definitely a scam, but a copper axe? Not so much. (Also, when chopping trees it takes into account the leaves as well, and it will soak up even more durability if the leaves are connecting to adjacent trees, trying to cut it all down at once.)

💬 Guildorath, Apr 5th at 9:15 PM

The problem might not be exclusive to knives, but really on handles. We were trying to make some gears for a windmill and everytime we used the modded saw for the craft, we crash..

💬 Magmarashi, Apr 5th at 6:11 PM

Guildorath

JonR

 

Can confirm that this crash happens when Toolsmith is the only mod loaded, I threw together a series of knives to try and figure out what the problem was, and the crash seems to trigger on handles with wraps on them

💬 Guildorath, Apr 5th at 5:28 PM

Hi @JonR ! Me again. I stumbled upon something curious. 

First of all, my friends and I love your mod! We think it's great! Thanks for the work.

But now I have a problem. My friend made me a copper-tin bronze knife with a waxed (with bees wax or fat he doesn't remember) professional handle with leather and either metal, nails or cordage (he doesn't remember) and when I go to skin a mob (tried on a drifter and a wolf), our server crash. It doesn't even restart properly and I'm forced to kill the process to force the shutdown for it to boot up correctly.

That was under 1.0.4. I installed since v1.0.5 and now it doesn't crash the server (good thing!) but it crashes my game and I can't get any crash log unfortunately. I tried to skin a wolf with a silex knife that I gave myself in creative and it works fine.

(The modlist is the same as in my previous message)

💬 DilanRona, Apr 5th at 4:50 PM

Ok, logs were sent to you via private message on the forum. Mod list is here.

 

'ACulinaryArtillery 1.2.5.zip', ClaimRadars-1.1.0.zip, FromGoldenCombs-1.20-v1.8.11-rc.7.zip, primitivesurvival_3.7.6.zip, tradie_1.0.2.zip
Aged1.0.8.zip, CommonLib_VS1.20.0-rc.1_net7_v2.6.1.zip, GrassierGrass_v1.0.0.zip, PrimitiveTools.zip, translocatorlocator_v1.0.2.zip
AlloyCalculator-v1.0.0.zip, Composter-v1.2.1.zip, icyexc.zip, propagatingreeds.zip, treetapper_v1.0.0.zip
AncientTools_V1.5.24.zip, configlib_1.5.1.zip, ImprovedHandbookRecipes_1.1.3.zip, remotetradercheckmod_0.2.3.zip, tulepropagation.zip
animalcages_v3.2.1.zip, coolinbarrel_0.5.3.zip, Knapster_v2.14.3.zip, resregrow2-1.0.0.zip,
barstotemporal.zip, craftableJonasParts_v1.0.0.zip, largercrock_v1.0.2.zip, rifteye_0.4.2.zip, usefultraders-v2.2.0.zip
bedspawnv2_1.4.0.zip, craftablerocks.zip, LimestoneSpeleothems-1.1.0.zip, R.Meat_v0.0.4.zip, VSCreativeMod.dll
BetterChisel-1.0.0-rc.4.zip, CraftableTemporalGears-1.1.0.zip, medievalexpansionpatch-1.0.1.zip, rockchisel_1.0.1.zip, VSCreativeMod.pdb
BetterFirepit-1.1.5.zip, morecalcinedflint.zip, smithingplus_1.5.5.zip, VSEssentials.dll
BetterJonasDevices-Fixed-v.2.0.2.zip, domesticanimaltrader1.1.0.zip, MoreTreesMoreSeeds_v1.0.0.zip, SpearsPlus_v1.1.0.zip, VSEssentials.pdb
betterloot1.1.1.zip, DryableGroundStorage.zip, mushroomtrader1.0.5.zip, SticksFromFirewood-1.1.0.zip, vsimgui_1.1.7.zip
BetterRuinsv0.4.8.zip, 'EasyFruitTrees 1.0.1.zip', ndlvillagers_1.3.2.zip, StickyMouseButtons-1.1.1.zip, VSSurvivalMod.dll
BigNailMold-1.0.5.zip, 'ExpandedFoods 1.7.4.zip', ndlwoodentorchholder_1.3.3.zip, stonebakeoven_1.1.6.zip, VSSurvivalMod.pdb
blockoverlay-4.2.0.zip, ExtraInfo-v1.9.7.zip, Normalizer-2.0.0.zip, StoneQuarry_VS1.20.1_net7_v3.4.3.zip, wildanimalstrader1.0.8.zip
butchering_1.8.1.zip, ExtraOverlays_VS1.20.1_net7_v1.5.0.zip, PaperLanternRecipe_v0.2.1.zip, SuperFuelResume-v2.1.4.zip, wildfarmingrevival_1.3.6.zip
ButcheringPatch_1.0.4.zip, FarmlandDropsWithNutrients.dll, PlayerCorpse_VS1.20.0-rc.1_net7_v1.11.0.zip, 'temporal_gears_stack v1.zip', workbench-expansion-patch-1.0.0.zip
CarryOn-1.20.0-pre_v1.8.0-pre.1.zip, Foundry_v1.0.0.zip, potashboneashfertilizer1.2.zip, traderssellborax.zip, Xcore-0.0.5.zip
AgingBarrels-1.0.0.zip, BetterProspecting_1.7.0.zip, fixcratemod_0.1.0.zip, instantTemporalmobdrops_v1.0.1.zip, PanCassiterite.zip, tablet_v0.2.0.zip, viescraftmachines_2.4.0.zip
axleinblocks_1.20.1-rc.5.zip, clayprocessing_1_to_4_1.0.3.zip, FlexibleTools-3.4.0.zip, 'Molds v0.1.7.zip', RepairMe1.0.3.zip, toolsmith_1.0.5.zip
BetterBloomery-1.0.5.zip, Foundry_v1.0.0.zip, MonsterDropsv1.0.0.zip, substrate_1.1.2.zip, undergroundmines_1.0.4.zip

💬 Damonicus1986, Apr 5th at 10:43 AM

Updated and stiull getting same crash 

Running on 64 bit Windows 10.0.19045.0 with 65457 MB RAM
Game Version: v1.20.7 (Stable)
05.04.2025 11:42:34: Critical error occurred in the following mod: toolsmith@1.0.5
Loaded Mods: acorns@0.7.2, aculinaryartillery@1.2.5, aloysiasagriculture@1.0.0, barkbeetle@1.0.3, bedrespawn@1.1.0, betterloot@1.1.4, scrapblocks@1.2.6, bettertraders@0.0.9, Ceramos@0.5.1, ceramoscontentfix@1.0.0, clickuptorches@1.1.1, combatoverhaul@0.2.9, rlldtco0001@1.2.0, driedpeat@1.1.0, expandedmolds@1.1.2, extendedcreation@1.0.1, floralzonescaribbeanregion@1.0.12, floralzoneseastasiaticregion@1.0.7, forestsymphony@1.0.2, geoaddons@1.4.1, hangingoillamps@1.0.3, juicyores@1.0.0, lanternsarelighters@1.0.0, lettherebelight@0.0.2, linearpower@0.3.4, manualdough@1.1.3, manualscraping@1.2.1, materialaging@1.2.0, meadsmust@1.0.0, millwright@1.1.9, mymodestagriad@1.0.0, morebanners@1.2.1, moreftsat@1.0.0, MoreShingles@0.0.3, MoreTorchHolders@1.0.0, mushroom@1.0.3, OresAPlenty@3.3.0, OresAPlentyAddon@1.1.0, TA_plainsandvalleys@1.0.9, primitivesurvival@3.7.6, quicklimepk@1.1.0, reedlesspacks@1.0.3, rlmoonsun@0.1.3, saddleblanketbeds@0.0.3, SmokingChimneys@1.3.0, sortablestorage@2.3.0, specialexpandedbags@1.1.1, temporalcontainers@1.0.0, temporalgearsmithing@1.0.0, terraprety@6.0.2, vintageengineering@0.3.5, game@1.20.7, vsimgui@1.1.7, weedgardens@1.0.1, zoombuttonreborn@2.0.0, agingbarrels@1.2.0, animalcages@3.2.2, apegrapes@1.2.6, armory@0.2.3, augplantlib@0.0.4, egocaribautomapmarkers@4.0.1, flags@1.1.7, beesmoker@1.0.1, betterfirepit@1.1.5, betteritemflags@0.1.1, BetterProspecting@1.7.0, betterruins@0.4.9, butchering@1.8.1, canmarket@0.4.13, carryon@1.8.0-rc.4, cartwrightscaravan@1.2.0, commonlib@2.6.1, compatlib@1.0.1, configlib@1.5.2, coreofarts@0.2.3, customtransitionlib@1.0.0, decayingcreatures@0.1.4, infrastructureextension@1.0.5, exclusiveunlocker@1.0.2, expandedfoods@1.7.4, extrainfo@1.9.8, foodshelves@1.5.3, hydrateordiedrate@2.0.18, ksrealisticfarming@1.0.5, liquidcontainers@1.3.1, maketea@0.3.1, maltiezfirearms@0.11.3, mannequinstand@1.0.5, moreanimals@1.4.1, morepiles@2.1.3, pewter@1.2.3, claywheel@1.1.2, powdermanufacturing@0.0.3, removeprimitivesurvivalstairs@1.0.0, repairme@1.1.0, rockstratavariety@0.0.1, scorelogs@0.0.6, soilupgrade@1.20.1, substrate@1.0.1, th3dungeon@0.4.1, toolsmith@1.0.5, creative@1.20.7, survival@1.20.7, warpnetwork@1.0.0, wearandtear@1.3.7, wildfarmingrevival@1.3.6, woodenfortifications@2.0.5, xlib@0.8.16, artofgrowing@0.5.3, autoconfiglib@2.0.6, brainfreeze@1.1.1, em@3.2.1, moreblueclay@1.0.1, newworldcrops@0.0.9, pabrass@1.0.2, paelectrum@1.0.1, pagoldsilver@1.0.2, sausages@0.0.8, shearlib@1.1.2, th3dungeontopentrance@0.4.1, wpanning@1.0.0-dev.2, zippysreseedingreeds@1.0.0, zippysthatchpatch@1.0.0, bricklayers@3.0.0-pre.9, tailorsdelight@1.9.4, wool@1.6.1, dressmakers@1.5.2
Involved Harmony IDs: repairme, canmarket.Patches, brainfreeze
System.NullReferenceException: Object reference not set to an instance of an object.
at Toolsmith.Utils.ItemStackExtensions.SetToolbinding(ItemStack itemStack, ItemStack binding) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\Utils\ItemStackExtensions.cs:line 90
at Toolsmith.ToolTinkering.CollectibleBehaviorTinkeredTools.OnCreatedByCrafting(ItemSlot[] allInputslots, ItemSlot outputSlot, EnumHandling& bhHandling) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\CollectibleBehaviorTinkeredTools.cs:line 126
at Vintagestory.API.Common.CollectibleObject.<>c__DisplayClass81_0.<OnCreatedByCrafting>b__0(CollectibleBehavior bh, EnumHandling& hd) in VintagestoryApi\Common\Collectible\Collectible.cs:line 807
at Vintagestory.API.Common.CollectibleObject.WalkBehaviors(CollectibleBehaviorDelegate onBehavior, Action defaultAction) in VintagestoryApi\Common\Collectible\Collectible.cs:line 3034
at Vintagestory.API.Common.CollectibleObject.OnCreatedByCrafting_Patch1(CollectibleObject this, ItemSlot[] allInputslots, ItemSlot outputSlot, GridRecipe byRecipe)
at Vintagestory.API.Common.GridRecipe.GenerateOutputStack(ItemSlot[] inputSlots, ItemSlot outputSlot) in VintagestoryApi\Common\Crafting\GridRecipe.cs:line 637
at Vintagestory.Common.InventoryCraftingGrid.FoundMatch(GridRecipe recipe) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 189
at Vintagestory.Common.InventoryCraftingGrid.FindMatchingRecipe() in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 184
at Vintagestory.Common.InventoryCraftingGrid.OnItemSlotModified(ItemSlot slot) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 139
at Vintagestory.API.Common.InventoryBase.DidModifyItemSlot_Patch1(InventoryBase this, ItemSlot slot, ItemStack extractedStack)
at Vintagestory.Common.InventoryCraftingGrid.DidModifyItemSlot(ItemSlot slot, ItemStack extractedStack) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 144
at Vintagestory.API.Common.ItemSlot.OnItemSlotModified(ItemStack sinkStack) in VintagestoryApi\Common\Inventory\ItemSlot.cs:line 423
at Vintagestory.API.Common.ItemSlot.ActivateSlotLeftClick_Patch1(ItemSlot this, ItemSlot sourceSlot, ItemStackMoveOperation& op)
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 127
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 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.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

💬 Zeronis, Apr 5th at 10:38 AM

Wanted to come and compliment on the mod cause I really like the idea and direction of this and I'll be looking forward to it's continued development, it's actually something I (Recently into the game) wanted to see! Though after reading through some of the recent comments, this DilanRona person seems to really be pursuing everything but the instructions that'd actually help. You just gotta actually give him the modlist, logs or something otherwise if he can't replicate your issue then there's something he can't perceive on your end that's going to continue preventing him from actually helping you. There is a rhyme and reason, heck I'd say that until like there is something substantial provided there is no way at all that JonR could manage to help!

💬 JonR , Apr 5th at 10:33 AM

I have been. It's how I've tested it from the start. I just grabbed a fresh download of 1.0.5 myself and did it just now. I'm telling you, I cannot replicate this with my mod and only my mod and you've mentioned you are using other mods, so I need your modlist to have the same state that you do.

💬 DilanRona, Apr 5th at 6:43 AM

In order to replicate the problem you actually have to completely remove the mod first.

Then make new tools from scratch (including new heads), and use standard sticks for handles. Havent got around to using bone just yet.

Then and only then do you reinstall the mod. The toolhead bug will then show up when the handle breaks before the head.

💬 JonR , Apr 5th at 4:59 AM

DilanRona | I cannot replicate your issue on my end no matter how many times I try to, so I need your modlist and logs if I'm going to be able to help with anything.

💬 DilanRona, Apr 5th at 4:22 AM

Ok, before reinstalling the mod, I made a series of test shovels and axes (Flint, Granite, Andesite, and Copper). I then reinstalled the mod, and went to work chopping the trees.

In the case of the Flint, Granite, and Andesite axes; no head was returned when the handle broke. Still busy testing the copper axe, and havent tested the shovels yet. So there is a definate case of tool head loss when tools were made before the mod was installed, when a head was supposed to be returned.

I made a point to empty my inventory completely, so there was plenty of space for the tool head to return to.

💬 JonR , Apr 5th at 12:35 AM

Vanargand | Aaah, thank you. I remember that happened to me once during my testing so if it's specifically only when the axe breaks, that helps narrow it down a good deal. Time to go cut down a bunch of trees, hah. I probably need to refine when it's doing a large chunk of damage to the tool, or it's something specifically with the tree chopping detection.

💬 Vanargand, Apr 4th at 11:11 PM

There's an odd issue where using an axe to fell trees would break the axe entirely, and not leave the head. Not only that, it also for some reason leaves logs spinning in midair. No other tools act like this.

💬 JonR , Apr 4th at 10:01 PM

Damonicus1986 | You are running an old version of the mod, try updating it.

Weerum Shizukesa | The latest version has default support added to the configs. Just regen your configs and it should work fine.

Songbird1 | Huh, alright. Thanks for letting me know! I'll see if I can do anything about it on this end, or if it's just a hard incompatability. Though at a quick glance, it's likely not all too required since the Grindstone kinda does the same and eventually I'll be adding the Wear system so it will be further separated from needing it. But whetstones would be a neat addition to the Wear system, too... For now, I'd probably recommend removing RepairMe.

💬 Damonicus1986, Apr 4th at 9:40 PM

Running on 64 bit Windows 10.0.19045.0 with 65457 MB RAM
Game Version: v1.20.7 (Stable)
04.04.2025 22:36:51: Critical error occurred in the following mod: toolsmith@1.0.2
Loaded Mods: acorns@0.7.2, aculinaryartillery@1.2.5, aloysiasagriculture@1.0.0, barkbeetle@1.0.3, bedrespawn@1.1.0, betterloot@1.1.4, scrapblocks@1.2.6, bettertraders@0.0.9, Ceramos@0.5.1, ceramoscontentfix@1.0.0, clickuptorches@1.1.1, combatoverhaul@0.2.9, rlldtco0001@1.2.0, driedpeat@1.1.0, expandedmolds@1.1.2, extendedcreation@1.0.1, floralzonescaribbeanregion@1.0.12, floralzoneseastasiaticregion@1.0.7, forestsymphony@1.0.2, geoaddons@1.4.1, hangingoillamps@1.0.3, juicyores@1.0.0, lanternsarelighters@1.0.0, lettherebelight@0.0.2, linearpower@0.3.4, manualdough@1.1.3, manualscraping@1.2.1, materialaging@1.2.0, meadsmust@1.0.0, millwright@1.1.9, mymodestagriad@1.0.0, morebanners@1.2.1, moreftsat@1.0.0, MoreShingles@0.0.3, MoreTorchHolders@1.0.0, mushroom@1.0.3, OresAPlenty@3.3.0, OresAPlentyAddon@1.1.0, TA_plainsandvalleys@1.0.9, primitivesurvival@3.7.6, quicklimepk@1.1.0, reedlesspacks@1.0.3, rlmoonsun@0.1.3, saddleblanketbeds@0.0.3, SmokingChimneys@1.3.0, sortablestorage@2.3.0, specialexpandedbags@1.1.1, temporalcontainers@1.0.0, temporalgearsmithing@1.0.0, terraprety@6.0.2, vintageengineering@0.3.5, game@1.20.7, vsimgui@1.1.7, weedgardens@1.0.1, zoombuttonreborn@2.0.0, agingbarrels@1.2.0, animalcages@3.2.2, apegrapes@1.2.6, armory@0.2.3, augplantlib@0.0.4, egocaribautomapmarkers@4.0.1, flags@1.1.7, beesmoker@1.0.1, betterfirepit@1.1.5, betteritemflags@0.1.1, BetterProspecting@1.7.0, betterruins@0.4.9, butchering@1.8.1, canmarket@0.4.13, carryon@1.8.0-rc.4, cartwrightscaravan@1.2.0, commonlib@2.6.1, compatlib@1.0.1, configlib@1.5.2, coreofarts@0.2.3, customtransitionlib@1.0.0, decayingcreatures@0.1.4, infrastructureextension@1.0.5, exclusiveunlocker@1.0.2, expandedfoods@1.7.4, extrainfo@1.9.8, foodshelves@1.5.3, hydrateordiedrate@2.0.18, ksrealisticfarming@1.0.5, liquidcontainers@1.3.1, maketea@0.3.1, maltiezfirearms@0.11.3, mannequinstand@1.0.5, moreanimals@1.4.1, morepiles@2.1.3, pewter@1.2.3, claywheel@1.1.2, powdermanufacturing@0.0.3, removeprimitivesurvivalstairs@1.0.0, repairme@1.1.0, rockstratavariety@0.0.1, scorelogs@0.0.6, soilupgrade@1.20.1, substrate@1.0.1, th3dungeon@0.4.1, toolsmith@1.0.2, creative@1.20.7, survival@1.20.7, warpnetwork@1.0.0, wearandtear@1.3.7, wildfarmingrevival@1.3.6, woodenfortifications@2.0.5, xlib@0.8.16, artofgrowing@0.5.3, autoconfiglib@2.0.6, brainfreeze@1.1.1, em@3.2.1, moreblueclay@1.0.1, newworldcrops@0.0.9, pabrass@1.0.2, paelectrum@1.0.1, pagoldsilver@1.0.2, sausages@0.0.8, shearlib@1.1.2, th3dungeontopentrance@0.4.1, wpanning@1.0.0-dev.2, zippysreseedingreeds@1.0.0, zippysthatchpatch@1.0.0, bricklayers@3.0.0-pre.9, tailorsdelight@1.9.4, wool@1.6.1, dressmakers@1.5.2
Involved Harmony IDs: repairme, canmarket.Patches, brainfreeze
System.NullReferenceException: Object reference not set to an instance of an object.
at Toolsmith.Utils.ItemStackExtensions.SetToolbinding(ItemStack itemStack, ItemStack binding) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\Utils\ItemStackExtensions.cs:line 90
at Toolsmith.ToolTinkering.CollectibleBehaviorTinkeredTools.OnCreatedByCrafting(ItemSlot[] allInputslots, ItemSlot outputSlot, EnumHandling& bhHandling) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\CollectibleBehaviorTinkeredTools.cs:line 215
at Vintagestory.API.Common.CollectibleObject.WalkBehaviors(CollectibleBehaviorDelegate onBehavior, Action defaultAction) in VintagestoryApi\Common\Collectible\Collectible.cs:line 3033
at Vintagestory.API.Common.CollectibleObject.OnCreatedByCrafting_Patch1(CollectibleObject this, ItemSlot[] allInputslots, ItemSlot outputSlot, GridRecipe byRecipe)
at Vintagestory.Common.InventoryCraftingGrid.FoundMatch(GridRecipe recipe) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 189
at Vintagestory.Common.InventoryCraftingGrid.FindMatchingRecipe() in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 157
at Vintagestory.Common.InventoryCraftingGrid.OnItemSlotModified(ItemSlot slot) in VintagestoryLib\Common\GameContent\Inventory\InventoryCraftingGrid.cs:line 138
at Vintagestory.API.Common.InventoryBase.DidModifyItemSlot_Patch1(InventoryBase this, ItemSlot slot, ItemStack extractedStack)
at Vintagestory.API.Common.ItemSlot.OnItemSlotModified(ItemStack sinkStack) in VintagestoryApi\Common\Inventory\ItemSlot.cs:line 423
at Vintagestory.API.Common.ItemSlot.ActivateSlotLeftClick_Patch1(ItemSlot this, ItemSlot sourceSlot, ItemStackMoveOperation& op)
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 120
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 1958
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

 

 

 

💬 DilanRona, Apr 4th at 8:41 PM

Ok, I made fresh tools to test with before reinstalling the mod again to see what it does to tools made before the mod was installed and compare it to how it handles tools after it was installed (New tools made after installation). Will provide feedback tomorrow once I tested them all and see what your mod can do when pushed.

💬 Weerum, Apr 4th at 5:51 PM

I would also like to know if this is compatible with dappled groves

💬 Songbird1, Apr 4th at 4:36 PM

Loving the basic concept of the mod, didnt toy around with it enough to really write anything of value here, just wanting to say that the mod "Repair Me" causes hand toolbuilding to break, it doesnt crash the game or anything, it just prevents the crafting process from finishing, you just endlessly hear the crafting noise but it never finishes.

Edit: Right, been playing around with it a bit more, its definetively fun and gets you alot more attached to the tools you make, so i'll continue to use it, and regarding the Repair Me Mod, yea, i didnt ask for compability, just wanted to provide you a name to put on the incompabilities list so people like me dont have to go through trial and error of disabling mods, that bit was just a public service announcements, both mods effectively achieve similar results through different means so it'd be pointless to use both (which you already said)

💬 Shizukesa, Apr 4th at 12:56 PM

Should we expect compatibility with In Dappled Groves?

💬 JonR , Apr 4th at 12:06 PM

Guildorath | Ah, I think I might have already fixed that in version 1.0.5, if you or whoever runs your server can update it, I think it won't happen again. Hopefully that version does work better though for you! Thanks for including the crash and everything as well.

💬 Guildorath, Apr 4th at 11:57 AM

Hi! On a multiplayers game, I tried to repair a tin-copper bronze hoe that I made before installing the mod. It had around 5 durability. As soon as I right-clicked on the granite grindstone, the game instantly crashed. Here is the crash report that I got :

 

Running on 64 bit Windows 10.0.19045.0 with 32678 MB RAM
Game Version: v1.20.7 (Stable)
04/04/2025 13:50:44: Critical error occurred in the following mod: toolsmith@1.0.4
Loaded Mods: aculinaryartillery@1.2.5, combatoverhaul@0.2.9, millwright@1.1.9, primitivesurvival@3.7.6, terraprety@6.0.2, game@1.20.7, vsimgui@1.1.7, animalcages@3.2.2, armory@0.2.3, betterruins@0.4.9, blocksoverlay@4.2.0, carryon@1.8.0-rc.2, commonlib@2.6.1, configlib@1.5.2, cooperativecombatrework@1.0.0, expandedfoods@1.7.4, extrainfo@1.9.8, maltiezfirearms@0.10.9, rpvoicechat@2.3.16, toolsmith@1.0.4, traitacquirer@0.9.6, creative@1.20.7, survival@1.20.7, autoconfiglib@2.0.6, em@3.2.1, moreblueclay@1.0.1, playercorpse@1.11.0, theworkingclasses@1.0.4
System.NullReferenceException: Object reference not set to an instance of an object.
at Toolsmith.Utils.ItemStackExtensions.ResetNullHead(ItemStack itemStack, IWorldAccessor world) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\Utils\ItemStackExtensions.cs:line 133
at Toolsmith.ToolTinkering.BlockGrindstone.OnBlockInteractStep(Single secondsUsed, IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\BlockGrindstone.cs:line 33
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleHandInteraction(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 316
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnGameTick(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 113
at Vintagestory.Common.GameTickListener.OnTriggered(Int64 ellapsedMilliseconds) in VintagestoryLib\Common\Model\GameTickListener.cs:line 31
at Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in VintagestoryLib\Common\EventManager.cs:line 170
at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 825
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 161
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 127
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

 

Thanks!

💬 JonR , Apr 3rd at 11:31 PM

I'm looking into the issues still happening from time to time, namely the 0 or 1 durability then the tool breaks shouldn't be the case. I might have two ideas for where it might be going wrong, but if anyone is still getting that problem are you playing on Singleplayer, or Multiplayer? And while some people did mention it already, are you crafting them using the Grid Crafting or the In-Hand crafting? I'm having trouble replicating the issue on my end so it makes it hard to bug test it.

Edit: Also for anyone still having issues with the above stuff, I see that multiple people are using XSkills, or comment about it when they have these other issues. If you are having this problem, are you using XSkills? It would help if I recieved some modlists from people as I cannot replicate these problems with just Toolsmith, Smithing Plus, and the few mods in question.

Edit 2 Electric Boogaloo: Grabbed In Dappled Groves and was able to figure out what might have been going wrong there, and discovered where a possible recipe getting checked with a null ingredient partway through would break everything following it. Hopefully this will fix a few issues resulting from items being marked that wasn't expected, and further reinforces the recipe parsing code. Didn't realize that an empty ingredient simply would have a null ingredient in the array, huh. Makes sense though. But - this might have been why mods loaded later down the line were not working for some modlists. Please regen the configs if you use In Dappled Groves for that proper support!

💬 KnewOne, Apr 3rd at 10:48 PM

While i understand the logical standpoint of rope being better than twine, progress-wise it should probably worse, since rope is achievable earlier. Perhaps we can have twine-incorporated rope specifically for this ?

💬 DecaByte, Apr 3rd at 8:42 PM

I like the grind stone, but I don't think it should increase the durability as you are literally grinding away metal. I think it should take away durabilty, but add sharpness. Like the way the whetstone mod does. mods.vintagestory.at/whetstone

💬 BobEdJones, Apr 3rd at 7:35 PM

This reminds me of my own idea for a tool rework, were tools would have three stats, A static hardness value based on the material that determines the max sharpness and how offensive the tool will lose sharpness or mass.

Sharpness is the second value, incrementally increasing the speed, and every five Sharpness equals a damage/minning level. As long as your minning below the current mining level the tool will only lose Sharpness when being used. You can use a sharpening stone or a sharpening kit to increase the sharpness at the cost of Mass.

Mass is the durability of the tool. At 50% Mass your tool will brake giving you a randomized broken tool item you can reforge.

💬 JabAspie, Apr 3rd at 5:47 PM

Is there any thought to allowing tool heads to drop from Smithing Plus in the config?  Thats the only thing that is preventing me from using on my current game.

💬 AcidNight, Apr 3rd at 3:14 PM

Hello, after testing on my server, I'm still undecided...
The grindstone doesn't always work. After adding the mod, all the tools had 0 durability, and if you're unfortunate enough to use it on the grindstone, it crashes. You have to use the item to get the "right" durability back.

I made the best handle possible, treated with grease, and added leather, but I haven't seen any visible change, and the usage speed is much slower than advertised. I don't remember which mod adds quality to forged items (Smithing Plus or xkills, or both, xD).

At what level do the binding and handle wear out?

💬 Churburby, Apr 3rd at 3:07 PM

Incompatible with 'Sticks from Firewood'.  They share the same recipe.

💬 Tetsune, Apr 3rd at 2:19 PM

I watch this mod with great interest!! Tinker's was always my favorite mod playing MC.

Moreover, I would love to use this with Salty's Manual Tool Crafting... Super immersive way of building tools.

💬 SariN, Apr 3rd at 1:02 PM

Stone quarry mod's tools arent craftable with the handle in offhand method, and when crafted with a stick only have 1 (game) durability that breaks after one use, despite their head handle and binding durability being proper.

Additionally: I'd like to see support for "in dappled groves" axes to be crafted with this mods methods, theyre functional as is but its weird for it to be odd man out.

💬 Snajper312, Apr 3rd at 1:00 PM

Another thing, but not like crashing the whole game but breaking game a bit.. I play with mod "In Dample Groves" and it seems that the mod don't recognize the tools from it as it should, like it is forcing the tools to become those from Toolsmith, and while crafting it is fine, but it can't be done manualy in hands or with modded handles, and all tools that are crafted remain on 1 durability even if it shows like 400(full durability on head, handle and binding), yet for example adze from "In Dample Groves" breaks instantly after on use. like i use pretty lot of mods that add tools like for example metal tongs and honestly even if i love the mod for putting more work into making tools, I may uninstall it later if it would be causing problems with others mods.. like it is a bit annoying if every tool break after one use..

💬 Matsan, Apr 3rd at 12:47 PM

I understand. When it comes to the model itself, if it's possible, maybe see if you can get into contact with the author who made ToolsPlus, @Jozhin_z_bazhin, and ask permission to use their existing models? Their mod itself doesn't work anymore, so I figured their models could get some use instead of going to waste. It should work to fill in the missing pieces, for leather strips you can recolor the existing rope on the vanilla model, for the grips you'd need to edit the hex values, and then there's the screws.

You'd need to isolate those parts to their own vertex group so they can be used dynamically, but it'd save on a lot of work. The only thing that's technically missing is the unique shape of the professional handle. It looks like the toolsplus tools are just the vanilla tools with slight edits, and the professional handle is already modeled itself; then you would need to position the handle to line up with the pickaxe in the 3d modelling software.

There is already the vanilla system of changing the hex value of the metal part of the item, so that functionality would need to also affect the vanilla visible rope binding (it could be set to "transparent" instead of removing the voxels), which I imagine would be the system to also have all the other parts rendered. They would already be there, transparent, and then attributes relating to it would add a hex value to it.

Another thing I just realized about the pickaxe!! It can get dull, yeah, but the thing is.. it has two ends on it. Maybe allowing you to press X (the off-hand keybind) to swap which side you're using would be cool!
Lastly, thought about the sharpening tiers some more. "Fully Sharpened" (tool heads made in a mold can't reach this until reforged), "Sharp", "Worn", "Dull", and then "Blunt" (neglectful blacksmith if you let it get to this tier..)

💬 Foxtrot88, Apr 3rd at 12:41 PM

Have you thought about just outright making a new "sandpaper" craftable tool-like item with durability, whose sole use is to grind wood on the crafting grid for a professional handle, instead of having to always use 1 sand, 1 pitch glue and 1 parchment every time you want to craft a handle?

💬 JonR , Apr 3rd at 12:16 PM

Ironscale | Aah yeah, I was planning on making the amount repaired through the grindstone configurable. No real reason why I didn't already, haha, just hardcoded that and only that despite knowing I should config it. And huh, that would make sense for having to use the tool once, it's because it technically has no mod data yet and I have to initialize it on the Serverside only so... I need to figure out a better way to fully kinda trigger on tools. It currently can be initialized by using the tool on a Grindstone or just have the tool take damage (or attempt to!). There's a half-solution in place to stop crashing once I realized that was a problem, and still generating basic durability info so it visually doesn't look broken, but hopefully the grindstone option would help in the meantime for most tools?

KnewOne | Yeah! Likely something like that is needed soon, I agree completely there. It'll also work really well with the Sharpness and Wear ideas and reforging the tool heads will require it. I've added it to the list for sure.

Matsan | Ah! I'll have to check your message then, it looks like you did edit it since I last checked, hah. But yeah, I might have to make it a chance or garenteed loss of the binding or else I could see some people just frequently re-crafting their tools and sorta abusing the free binding stuffs. It technically doesn't store the binding's HP on the binding item itself (while handles and heads do when taken apart), I didn't want to flood inventories with like, 4 different bits of twine each with a different attribute attached so it cannot stack - so it's all or nothing where you either get the full binding back or not. It might've been rare since often it's the binding that breaks first, but it was a slight concern I had. Similarly, I left it just 1 option for a binding for simplicity sake and getting it all working.

And yeah, I did have a mention in the future plans section about the graphics. I'd like to get it done sometime, but that's going to be difficult to do. Right now, the tools are the vanilla/modded tools themselves, I just add data to their itemstacks and use that. This keeps easy compat with recipes and other mods that might add functionality, but I'll have to intercept the rendering and add my own functionality in a similar way... And yeah, making models is hard :P Should be possible cause I've seen both Tabletop Games and Combat Overhaul have similar rendering based on Attributes, so I might be able to expand on that and change models ontop of that too. Or layer some models together? Right now though yeah, I wanted to get at least the Durability Bar visually working so it shows the lowest part durability, and otherwise there's the Tooltip haha. But yeaaaah, I want pretty visuals some day, just since it's form and not function, it's low priority. Oh - And I almost forgot. It's also going to be something that will be hard to have a one-solution-fits-all tools kinda deal, so it's going to need individual care for certain tools now and again, and that's a never ending race to keep up with :P

💬 Matsan, Apr 3rd at 11:07 AM

Glad I was able to solve that conundrum! I edited the comment a couple of times, this is my first time commenting on mods, so I don't know if you're notified of edits to a comment.

I definitely agree with KnewOne , it should be possible to remove the binding to maintain the toolhead, allowing you to reforge if it's too low on durability without sacrificing the handle in order to do so, as you said earlier yourself in your reply. Which the old handle could be used on a new tool, which could then be traded away, with your new better handle going onto the tool you want to use it on. The only binding that wouldn't be recoverable would be glue, ofc. Speaking of bindings, don't quite see why we aren't able to combine them? Like, I feel like it makes sense to add nails, glue, and twine/rope/leather strips all at once

If you don't mind me asking, aside from working on fleshing out the wear mechanic, when will the actual ingame item display, of you holding the tool, and icon; display the actual model? Cause currently, if you aren't holding the actual item, and you're another player, you wouldn't actually know how good their tool is. Imagine wanting to do a trade, but the visuals of the tool could be the best combination of items possible (but you wouldn't be able to actually tell), when in reality it's a 1 durability with a crude handle and no binding. People would be out for blood, lol.

💬 KnewOne, Apr 3rd at 10:38 AM

An ability to disassemble tools would also be greatly appreciated. For cases when you get technology to make a new tier of handles but don't really want to spend time breaking the tool. Perhaps with a hammer ?

💬 Ironscale, Apr 3rd at 10:33 AM

Seems to work pretty well. Only oddity I've noticed is that when using a vanilla tool that existed before the mod was applied, I need to spend one point of durability before it can be used in recipes. E.g., mine out a block with a saw before I can use it in the crafting grid to make planks. Not a problem, just confusing at first.

 

Only real suggestion I have is that it would be cool if the grindstone speed was configurable, or automatically took account of the toolDurability world config setting. It can take a while, otherwise.

💬 JonR , Apr 3rd at 10:13 AM

Matsan | Ooh, I do really love these ideas, thank you! I was absolutely somewhat stuck on the idea of 'Durability' of the head still maintaining that same constant drain and tacking on a Wear value that raises ontop of that, but I like your inverse of that instead - that it's consumed more to re-sharpen the tool head again and reduce the Wear, or increase the Sharpness as you said in your example. It's a much more complete shift in how head durability is handled and I really like it. Of course if the durability of the head ever runs out, it'd be nice to just fall back to other mods, and vanilla kind of mechanics to keep parity - and namely like, the idea for Smithing Plus to still shatter the hell out of the head.

It even goes better with how I was considering to maintain wear, and like previously requested by another comment earlier, more reason to go back to the Forge with the tool. When the Durability of the head is low enough, or really any time you want to fully restore the durability, being able to take the head off the Tool and 'Reforge' it at your forge by heating it up, perhaps a similar system to how Smithing Plus converted it to a Work Piece again with bits missing or moved around, but instead how many need fixing is based on the amount of durability left on the tool head... The less there is the worse off it is through an exponential curve. So it'd be easier to reforge it earlier on, pound those few pieces back into place and repair anything missing, and then the Grindstone can instead maintain the Sharpness value, which makes loads of sense. Ah! This can even carry over to Smithed Tools as well... Yeah I think this is going to be my next goal with the mod for sure, haha. I'm really getting into this idea now. What you said was basically very similar to what I was already considering, but agh, that swap to how I should consider utilizing the durability changes a lot to make it both realistic and fun I think...

💬 KnewOne, Apr 3rd at 9:46 AM

This looks great; adding a guide into a survival handbook would be great, since it would allow easier parsing of tool types/etc. Check out Stone Bake Oven and how it does the links in the guide

💬 Matsan, Apr 3rd at 9:06 AM

This mod seems awesome so far, and I love the idea of the possible "wear" system and wanted to contribute some ideas to it. Keep in mind I haven't watched any smithing videos in awhile, so I'm going off what has been trapped in my brain from various media over the years.

I believe (by default) the tool head should require sharpening first before assembly to teach the sharpening mechanic, and to mimic real-life cause smithing it is just a step, after that it always requires sharpening before it's actually used. (Among many other steps, which I can't remember specifically.)

Another thing is that metals do have a "grain" too, like wood, and through molding you can't really "direct" that grain like you can with smithing, as well as folding the metal while smithing to give the parts that actually need that strength the strength they need. While it isn't right to (and shouldn't) nerf tools durability in a mold, it would make more sense to instead buff the durability of smithed tools to have more by default because of this. Making something with a mold it'd just all be in a.. equilibrium, no part specifically strengthened to handle its purpose properly, and no proper grain to reach the best sharpness tier (which I talk about next.)

As like someone said, it should take years to wear down a tool head if properly managed, I believe there will be the durability stat, and then the "sharpness" tier. The durability barely goes down at all, until it reaches a certain "tier" of sharpness until it starts affecting the durability lost with a multiplier, as well as increasing the amount of hits it takes for the tool to break the block in later tiers. Sharpening basically exchanges that durability stat, to reach back to a certain sharpness tier. The greater jump in going back to the best sharpness tier, the less efficient it is at keeping durability loss to a minimum, cause you'd have to shave off a larger chunk of deformed material in order to get it back to proper sharpness.

Sharpening it too often though when it doesn't need it would be a waste of material as well ofc! While it could be displayed with like a flat value, as a stat like durability, I personally believe tiers would be better. Like food with "Spoiling (50%)", it could be like "Fully Sharpened (25%)", no affected stats with the percentage, only when it jumps to the next tier like "Sharpened (50%)", or then to like "Dull (100%)" is when a stat change would happen. It's up to you how many tiers there are, but there should be a "Partially Sharpened", which would make it so the durability loss multiplier would be randomized within a certain range, because there would be uneven material loss if a sharpening attempt is left unfinished before a tier could reach 100%.

Ofc that's just the visuals for displaying it, in reality I imagine it would just be like a total value of 1000 (depends on what metal the tool is), and it'd go down from "fully sharpened" to "sharpened" when the value is at 800, then to "dull" at 400. Unless you can actually do percentages! In which case, I imagine to make it work with modded tools, just copy what total value the durability stat is, and make it go down to certain tiers depending on the percentage of the current value compared to the total value. The threshold points, the one that gives debuffing stats, should line up with the amount of uses it takes for a vanilla tool to usually break. Maybe a bit before?

All of this work, but it'd only really be a stat that's used for the slashing and piercing tools. Blunt tools, like the hammer, or a mace, would be a different story. Sharpness doesn't really apply for these, instead it would be displayed as "deformation" instead, requiring reheating in order to smith it back into shape. The more deformed a tool is like the hammer, the less chance to get a good result from like rarity with xskills blacksmith skill, or gives the a hammer a chance to move the pixel in the wrong direction, or maybe even split it; the more deformed it is.

💬 DilanRona, Apr 3rd at 8:30 AM

its a single player world. Had to remove your mod as I was in the middle of testing Smithing Plus, and giving feedback to its developer. Will send fresh logs to you once I reinstalled the mod for toolsmith. If you could contact me on https://www.vintagestory.at/profile/241685-dilan-rona/ though so I can send the logs to you from there.

What I can tell you though was the tool handle was a normal stick. Maybe that can help to narrow down the problem.

💬 JonR , Apr 3rd at 6:26 AM

Yeah, exactly what I was thinking for a "Wear" system like that! Maybe as it builds up wear, it could slowly lose effectiveness at first, and the higher it gets, the faster the penalties pile on. So it's easiest to repair it or keep using it when it's not too worn down, but if you let it get out of control it might take more effort to fix it up (Or let it break and use like, Smithing Plus instead :P) Was perhaps thinking like, maybe something similar to Smithing Plus in the Work Piece creation... To 'Patch' the missing metal chunks but create them based on the Wear value, and have it slightly exponential scaling. And recommended settings for Smithing Plus to make it even worse if you fully crack it in half, haha.

💬 Zorvan, Apr 3rd at 6:13 AM

Had an interesting idea for balance, while adding realism. Would be cool to have the maximum HP of an item go down by a certain percentage, every time it's sharpened/ground, to simulate the material loss/removal that happens during that process. I have no idea how the code would work for that change tho XD

Looking at a knife or hatchet that you've owned for a while, or one that was passed down to you, you notice that the edge has been pushed back from repeated use and sharpening 

💬 JonR , Apr 3rd at 6:11 AM

Nyaaa_Natchi | No worries! I'm using Expanded Foods myself in my own pack and have no issues on my end, so I wonder if it's something else interfering. Are you able to chop up veggies, or is it another step that you are trying to do? Technically the knife is the Vanilla item but with added data on it, so in theory this shouldn't happen, except for if something else might be interfering with Durability checks maybe... To be absolutely certain though, it's a vanilla knife that you are trying to use as well, right? :P But, do you know where you can find your logs, and would you be able to upload those somewhere for me to read them? I should really see about asking for permissions to make a Mod Thread on the Vintage Discord since it would help a lot for this.

Edit: Oh- Haha, I should have refreshed before sending that. Strange though, but I'm glad it's fixed in this case.

DilanRona | Hmm. Generally the handles or bindings should break before any heads with a fresh tool head. Could you upload your Client and Server logs somewhere for me to check through them? And is this Multiplayer (Dedicated Server or not?) or Singleplayer?

💬 DilanRona, Apr 3rd at 6:03 AM

Inventory had plenty of space. No tool dropped. Lost a steel shovel, and a steel axe. I didnt think much about the shovel being lost as I thought it was another mod at fault, but when I tested it with an axe, I got confirmation as to where the problem was. So I tested again with tin bronze axes , and the handle broke before the head. Resulting in the entire tool dissapearing.

💬 Nyaaa_Natchi, Apr 3rd at 5:52 AM

Not sure if this has been posted about so bear with me but when using the knife for example to craft expanded food it doesnt seem to work. Also for the art of growing mods, you cannot use the knife to craft their recipies. I am not a modder nor know how to help but I'd like to at least bring this up as another mod, Blacks tools works like yours but your mod has a little more polish. Thank You!

 

EDIT: Seems like after testing, new tools created after mod creation work in Crafting recipies. Also tested, compatable with dappled groves work stations as well!

 

💬 JonR , Apr 3rd at 4:38 AM

DilanRona | If the tool's handle broke, then Toolsmith should have dropped the head with the remaining durability. Was your inventory full and could it have been dropped in the world instead? As I mentioned in the Mod Compat section, Smithing Plus won't kick in unless the Tool's Head itself breaks. What tool were you using?

💬 DilanRona, Apr 3rd at 3:55 AM

Ok, when the durability of the handle reaches 0, instead of getting the tool head back as expected, the entire tool breaks, and you get nothing back (which breaks the intended funcion of Smithing plus that allows repair of toolheads).

💬 JonR , Apr 3rd at 3:09 AM

MystXeno | Some other mod you have is likely causing something to go wrong. I tried it on my end with no issues, it doesn't improperly register them when it shouldn't so they function like vanilla even after I add the mod. Since you mentioned Xskills earlier I'd have to bet it's something to do with that one or another mod causing something to go wrong. But could you open an issue on the Github tracker and include your server and client logs so I can see everything you are using and try to replicate it?

💬 MystXeno, Apr 3rd at 1:48 AM

JonR So the tool durability is set to 0 when in inventory and breaks on use. Guess I didnt read enough about the modded weapons or something but it's https://mods.vintagestory.at/show/mod/19507 these are the weapns that cant be used from what I found so far.

💬 JonR , Apr 2nd at 11:57 PM

zizzler | Ah yeah, that sounds like it might be a result of my quick patch to at least stop it from crashing flat out. I need to find a more elegant solution, but it shouldn't be more then a visual desync from what's actually on the server. Hopefully you didn't actually lose any tools, since I'm not entirely sure what you mean by 'broke into a new version'? I was expecting the game would send an update packet for the items in question after they were used once and then you'd see everything fine on the client side. Let me know if you actually encountered troubles using the tools though! I'm going to be testing things on my end more today since at least it's not hard crashing everyone now.

Heckacoolmon | Sorta yes, sorta no! Basically, since there are different durabilities now on the tools, I made changes so that it passes to Smithing Plus only when the Tool's Head breaks and not when the Binding or Handle does. That's because if the handle breaks first, and the head still has durability left, you can still reuse that tool head as is! But if you keep on using it and using it until even that runs out, it will actually shatter and need to be repaired through Smithing Plus. Currently the Grindstone is a bit of a catch-all for the idea of "Maintenance" for your tools, but I hope to expand on that with a few ideas for a Wear system I had to still need bits of metal and such to patch it now and again. The idea was that in a realistic sense, tools last you a very long time, and it's only the survival crafter gamification that brought us tools that break like Minecraft - and I strove to more represent a 'realistic' enough tool that you can keep around forever as long as you keep it taken care of. I'll see about updating the description to better reflect this! Thank you for your questions.

MystXeno | It should work with some modded tools already, and anything that is similar in naming to vanilla ones should automatically be caught by the detection, but since mods can name their tools anything, some configuring of the configs is going to be required. It's why I left a message under the Mod Compat dropdown, what mods tools are not being caught already? I can check those mods out and add them to the default configs as well, it's an easy change! For tools having a durability of 0, that- Oh wait, I think I have a lead on what caused that now that I'm typing this up. It shouldn't be anything more then visual though, so please let me know if they actually do entirely break. I wanted it to be a seamless change adding it in, so this isn't intended for sure! As I said above though, I'll test things more on my end today and try to clean it up.

Snajper312 | Ah, that's interesting, thanks for letting me know - it does look like it's RepairMe, but I'll have to look at that later after some of these other things first!

 

Edit: Editing my top comment again to hopefully have another issue dealt with. In running a local dedicated server, I had no issues adding Toolsmith to an existing world with tools in inventory, ground storage and a chest. They all maintained durability like they should, and simply gained Handle and Binding stats. If anything persists, please make sure you are updated to 1.0.4, and also clear the Server's cache files as well just to be safe. Beyond that it might be mod compatability from something I don't use myself, so please open an Issue on the Github Issue Tracker with your server and client logs!

💬 Snajper312, Apr 2nd at 6:12 PM

Edit: Checked it.. it really was a issue with RepairMe mod, but i will leave that comment for information that it is a thing that it cause crashes with using this two mods.

 

I don't know why, but I am always getting kicked from server during puting up tool together, like carved waxed with leather handle in off-hand, bizmunith bronze pickaxe head and metal parts as binding... I suspect that the error may be with repair me mod, but i am not sure.. 

 

2.4.2025 19:51:00 [Server Event] Gracz Snajper312 został usunięty. Powód: Threw an exception at the server
2.4.2025 19:51:00 [Server Error] Exception: Object reference not set to an instance of an object.
at RepairMe.ItemPatch.OnCreatedByCrafting(ItemSlot[] allInputslots, ItemSlot outputSlot, GridRecipe byRecipe) in H:\worky\VintageStory_mods\RepairMe\RepairMe\ItemPatch.cs:line 17
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 66
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 1372
at Vintagestory.Server.ServerSystemInventory.callOnUsing(ItemSlot slot, ServerPlayer player, BlockSelection blockSel, EntitySelection entitySel, Single& secondsPassed, Boolean callStop) in VintagestoryLib\Server\Systems\Inventory.cs:line 504
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
💬 MystXeno, Apr 2nd at 5:13 PM

Ok from some testing it works with all vanilla tools, any modded tools will not get the same treatment and be considered as if the mod wasnt in the game (still can use them just cant put custom handles). Any premade tools before adding this mod will have durability of 0 and will be basically broken so toss them out if you plan on adding this mod mid playthrough. Also all crafting recipies do work just dont use the broken tools as stated before.


Mods to note:


Smithing plus - you will not get back any broken toolheads anymore

Xskills - (Metalworking) Blacksmith quality now only changes damage now, durability gets overridden by mod

 

Overall like what it holds, maybe want to tweak durability for handles and heads and how repair works cause from what I tested it just repairs everytool minus wrench for each tick on the grindstone, would like to see this expanded with how smithing plus does it where you can resmith the head to make it last longer since grinding so much will make would make the head into a stub of its original self. 

Also like to see Xskills compatability with smithing for durability, as well as easy mod weapon intigration without the need to go into the config and add them manualy

💬 Heckacoolmon, Apr 2nd at 4:33 PM

As someone who loved toolworks this is great!  I am still a bit confused on how it is supposed to work with smiting plus.  Like if the tools handle breaks do you get a broken head back or a damaged tinkered head?  also if the tool heads can just be repaired at a grindstone is the tool repair functionality from smiting plus defunct?

💬 Blackmare, Apr 2nd at 3:58 PM

Looks great! Models are really nice too! Definitely gives me an idea on how to better balance my own tool mod, though mine goes in a more minecrafty direction of just durability gains overall rather than different parts.

💬 zizzler, Apr 2nd at 1:40 PM

i did a quick test on existing save on multiplayer server. 

all the existing tools had 0 durability when i logged in. if i use them it broke into the new version i guess which is ok if it works like that?

i tested hammer and i use it with the Rustbound Magic to make some magic blocks and that didnt work anymore. in that mod there is separate workbench to craft these blocks with hammer and chisel and they didnt work anymore. Also i use hammer to flatten meat with the Expanded Foods mod and it didnt work anymore. 
edit: might have been broken hammer I tested with. I'll try again when others leave the server.

💬 Cowent1n, Apr 2nd at 12:58 PM

Thanks a lot, friend! Let's see if it works!

💬 JonR , Apr 2nd at 9:35 AM

Cowent1n | Ah, dang. That looks similar to the earlier issues. Can you make sure that your server and client is updated to the most recent version now just to be sure? Is it happening when you mouse over the item in your inventory? If it's still happening even after updating and clearing the cache just to be safe, can you upload your server logs somewhere so I can read through it? I added an error message where it should be catching this, unless somehow the Itemstack being passed has no CollectableObject.

Edit: Since this is still at the topmost comment, I'll just edit this instead of posting a new one. Just uploaded another fix to hopefully with some certainty fix this issue! It was probably the case that everyone having it was attempting to play multiplayer, and I was having the Client attempting to access something that is only ever loaded on the Server. This worked in singleplayer without a problem, but whoops.

💬 Cowent1n, Apr 2nd at 9:05 AM

Hey there!

Your mod brings a lot of valuable features, I love the idea.
Unfortunately, we're getting this error while playing with friends: pastebin crash log

 

Any idea what that could be due to?

💬 JonR , Apr 2nd at 8:56 AM

Sorry for another update so soon but I believe I did have an idea to fix any Smithing Plus issues, and I think now all tools should function with all of Smithing Plus's features! Also tried to fix a possible desync issue I was having during testing, and it seems to be gone for now.

Costardine | I've not used Black's Tools, but from the look of it, Black's Tools seems similarly inspired by Toolworks, which is what I was going for (and the similarity of name too, hah) so yes but with differences. The main difference that I can see at a glance is that the way I wrote things means that the tools you craft are the base vanilla or modded tool with added attribute data, and not a new tool added by Toolsmith. This means any other mod that looks for, patches the json, or even changes the code of those tools should have no compatability issue here but might need extra explicit compatability work on Black's Tool's side of things. I hope this isn't even more confusing though of an explanation, haha, but use whatever you find the most enjoyable! Black's Tools does have some good looking visuals, that's for sure, Toolsmith here needs work on that front :P

💬 ManaWei, Apr 2nd at 7:58 AM

Imma pay good attention to this..
getting rid of the crafting grid to some extend would be amazing..
I know it can be a stretch but, some of us use Salty's Manual Crafting for this.. 

💬 mj_outlaw, Apr 2nd at 7:27 AM

would be great to make it compatible with smithing plus / meaning when a tool breaks it doesnt give broken head back

💬 Costardine, Apr 2nd at 7:19 AM

question, because I'm having a hard time parsing it: is it similar in concept to black's tools?

💬 JonR , Apr 2nd at 5:05 AM

I use Smithing Plus as well, and it's part of what got me to make this. Any Smithed Tools should work with Smithing Plus when they break if you mean the converting back into a Work Item, but currently any tool marked as a Tinkered Tool won't work with that option quite yet. I plan on seeing if I can pass it any broken tool heads though and adding direct compatability eventually -- Strike that, I might have had inspiration for getting it working right now. No promises but I'm seeing if this idea might work.

💬 ManaWei, Apr 2nd at 4:58 AM

Many of us use smithing mods like Smithing Plus.. does your mod work with any of those ? because that would be amazing

 

💬 JonR , Apr 2nd at 3:59 AM

Yes! I use both of those as well, and in my playtesting it worked fine with those tools!

💬 Aloy, Apr 2nd at 2:36 AM

tysm!! also does it have compatibility w/ ancient tools/primitive survival?

💬 JonR , Apr 2nd at 1:30 AM

Aloy SariN

I released a patch to hopefully at least stop it from crashing on you, and better report the issue to the log! Sorry about that! Let me know if it helps, since I believe something is getting marked as a TinkeredTool when it shouldn't, and it just means I can account for it in the default configs. Or at the very least get a better understanding of what is going wrong! Please check your server logs for any errors logged by Toolsmith with this version, and if you find any feel free to open up an issue on the Github and I can take a look at it! Worst case - anything not handled should revert to Vanilla Behaviors for now.

💬 JonR , Apr 1st at 11:10 PM

I'll see what I can do about this crash, it's seemingly the same issue for all three, and likely due to adding it to an existing world from the looks of things - or perhaps improper handling of failure cases. I believe it's an issue entirely on my end though, so hopefully I'll be able to make it more robust today. Also I've been using Extra Info with no problem, but not XSkills, so I can't be sure if anything is going wrong with that. Thanks for the reports though!

💬 Aloy, Apr 1st at 10:48 PM

fatal error crash:
Running on 64 bit Windows 10.0.19045.0 with 32718 MB RAM
Game Version: v1.20.7 (Stable)
4/1/2025 3:47:30 PM: Critical error occurred in the following mod: toolsmith@1.0.0
Loaded Mods: aculinaryartillery@1.2.3, Allclasses@1.2.3, aloysiahatesdwarfbirch@1.0.0, aloysiasagriculture@1.0.0, aloysiaslocustassembly@1.2.0, americanfrontiersman@1.5.4, ancientarmory@1.0.6, antlershorns@1.0.1, bastionofcivilisation@1.0.1, scrapblocks@1.2.0, bettertraders@0.0.9, bignailsmold@1.0.0, bushyknife@1.0.11, clickuptorches@1.1.1, craftablecompanion@1.2.1, decor@1.2.1, destitute@1.0.0, dressedtokill@1.0.3, explosive@0.0.8, fastpicklencure@1.0.0, fernslikegrass@1.1.0, firestarters@1.4.3, hotspringheal@1.0.1, icyexc@1.0.0, ifozclothes@1.1.1, immersiveorecrush@2.2.1, increasedstoragecapacity@0.0.2, lettherebelight@0.0.1, linenreturn@1.0.0, litshield@1.0.0, morefuel@1.0.6, moreicons@1.1.0, morecalcinedflint@1.0.0, mr@0.0.1, moretreesmoreseeds@1.0.0, nudemod@1.0.3, plasterwashes@1.0.0, primitivesurvival@3.7.5, rstick@0.0.1, theremnantslite@1.0.3, repairablelocust@1.4.0, rustandrot@1.0.6, saddleblanketbeds@0.0.2, seasalt@1.0.0, she1fish@1.2.1, somedisassemblyrequired@1.0.0, specificclutter@1.0.0, sletharm@0.1.0, temporal_gears_stack@1.0.0, traderssellcrowbars@0.0.1, translocatorengineeringredux@1.5.6, undertangledboughs@1.0.2, upgradeablelocust@1.0.3, usefultraders@2.2.0, Vanilla_PlusWorldGen@1.3.5, vpemmican@1.1.0, game@1.20.7, vsimgui@1.1.7, wetlandharvest@0.0.1, wwaymarkers@1.0.0-dev.1, rtrullywoods@0.0.44, offhandpenalty@1.2.1, ancienttools@1.5.20, animalcages@3.0.3, apeflowerpots@1.2.0, apewindows@1.2.0, awearablelight@1.1.31, betterruins@0.4.9, bradycrudebuilding@1.2.0, BreakOreWithRocks@1.0.0, plaindyeing@1.1.0, composter@1.1.1, configlib@1.4.4, configureeverything@2.1.3, CraftableCartography_fork@0.1.6, earlychiseling@1.0.1, evenjugincrements@1.0.0, expandedfoods@1.7.4, expandedskins@1.0.1, freedomunits@1.1.4, fromgoldencombs@1.8.10, hardcorewater@1.3.2, herbarium@1.4.0, hieronymusreptiles@1.0.1, hydrateordiedrate@1.8.5, kevinsfurniture@1.6.5, maketea@0.1.4, marximusmedievalmap@1.5.0, metaltongs@1.2.1, morepiles@2.0.0, nooceantranslocators@1.0.1, pomnotes@0.7.3-rc.1, postsandbeams@1.4.0, resmeltableslight@1.1.0, realisticwetness@0.0.3, scarecrow@1.6.4, sc@1.0.0, simplefootstepsredux@1.0.1, smithingplus@1.2.5, somethinginthewater@1.2.5, substrate@1.1.0, tarmod@1.1.0, temporaltempest@0.2.2, toolsmith@1.0.0, trailmodcupdate@1.2.1, traitacquirer@0.9.6, Verticality@0.3.1, creative@1.20.7, vsquest@1.2.0, survival@1.20.7, vsvillage@2.0.0, wildfarmingrevival@1.3.5, woodenfortifications@2.0.4, woodstain@1.3.0, bugnetcompatibility@1.0.1, chemistrylib@1.1.5, instantfirepits@5.0.0, cookie12000stickbeam@1.2.0, vsvillageviking@1.0.0, vsvillageaged@0.0.5, vsvillageindustrial@0.0.5, wildcraftfruit@1.3.0, wethology@1.0.0-dev.7, kosphotography@1.4.3
Involved Harmony IDs: com.chronolegionnaire.hydrateordiedrate
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.API.Common.AssetLocation.ResolveToDomainAndPath(String domainAndPath, String& domain, String& path) in VintagestoryApi\Common\Assets\AssetLocation.cs:line 194
at Toolsmith.Utils.ItemStackExtensions.ResetNullHead(ItemStack itemStack, IWorldAccessor world) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\Utils\ItemStackExtensions.cs:line 137
at Toolsmith.ToolTinkering.CollectibleBehaviorTinkeredTools.GetHeldItemInfo(ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\CollectibleBehaviorTinkeredTools.cs:line 29
at Vintagestory.API.Common.CollectibleObject.GetHeldItemInfo_Patch3(CollectibleObject this, ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo)
at Vintagestory.GameContent.GuiHandbookItemStackPage..ctor(ICoreClientAPI capi, ItemStack stack) in VSSurvivalMod\Systems\Handbook\Gui\GuiHandbookItemStackPage.cs:line 33
at Vintagestory.GameContent.ModSystemSurvivalHandbook.onCreatePagesAsync() in VSSurvivalMod\Systems\Handbook\SurvivalHandbook.cs:line 86
at Vintagestory.GameContent.GuiDialogHandbook.LoadPages_Async() in VSSurvivalMod\Systems\Handbook\Gui\GuiDialogHandbook.cs:line 418
at Vintagestory.API.Common.TyronThreadPool.<>c__DisplayClass13_0.<QueueTask>b__0(Object a) in VintagestoryApi\Common\TyronThreadPool.cs:line 121
at System.Threading.QueueUserWorkItemCallback.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()

💬 Lilgast, Apr 1st at 10:12 PM

JonR Both ways seems fine. Perfect solution in my head would be wear value plus integration with smithing plus. After wear value is maxed (for example after repairing tool 1-2 times fully) using grindstone would be disabled and when the tool head is destroyed it can be restored in forge using tool recovery system from smithing plus.

Ofc simple blocking grindstone usage after maxed wear value would be great too. Additionally it would be nice to have configurable indestructible hammers and other blunt tools.

In summary im in love in the idea of putting effort into preparing handles and bindings for more durable tools but im worried that nearly indestructible tool take away reasons for heating up my forge :D

I hope this mod will grow because it has a lot of potential.

💬 MrTango, Apr 1st at 4:37 PM

👍 Love the sound of it, really missing toolworks for 1.20.x 😢

 

Could use a better descritpion more in depth and with images etc. instead of a wall of text. 

💬 AcidNight, Apr 1st at 2:53 PM

Hello, this is a really interesting mod, and I've been looking for a while now for ways to efficiently repair tools or get stronger ones and make the forge a little more realistic, like "Thrifty Smithing" to get the metal you remove, or "Smithing Plus" to repair tools that break, and recently "BlackSmith Enhancements" which gives you gloves to pick up parts, a bellows to heat up, and the mandatory cooling for crafting. But there wasn't much for repairing or improving tools. There was a mod with a grinstone, but it took way too long to do everything for iron tools and higher...

I'll wait a little longer, as I see people are having problems. Finally, SariN has two mods that I already have on my server x) and see if it doesn't cause problems with "itemrarity."

💬 Filvandrel, Apr 1st at 1:47 PM

Nice concept, I like the mod! Does it work with Combat Overhaul?

💬 SariN, Apr 1st at 1:34 PM

Keeps crashing on world generation, Also doesnt seem to like "extrainfo" or "xskills" mods.

(This log is with those two removed)

4/1/2025 9:31:29 AM: Critical error occurred in the following mod: toolsmith@1.0.0
Loaded Mods: aculinaryartillery@1.2.5, agiclasses-v0-9@0.9.8, backpackpackStandardcontinued@1.0.0, bettercrates@1.8.0, bowtornbalance@1.0.0, chiseltools@1.14.14, clicktopick@2.0.0, extrachests@1.9.0, hangingoillamps@1.0.3, immersiveorecrush@2.2.1, indappledgroves@2.1.2-rc.1, instantpickup@1.0.3, knifecrossguards@1.0.0, lightlevelone@1.0.0, lumbersling@1.2.2, millwright@1.1.9, molds@0.1.7, primitivesurvival@3.7.6, repairablelocust@1.4.1, rustandrot@1.0.6, temporal_gears_stack@1.0.0, torchrelitcontinued@1.0.2, upgradablecrates@1.0.1, usefultraders@2.2.0, game@1.20.6, vsimgui@1.1.7, AbsoluteProspecting@1.500.02, agingbarrels@1.2.0, alchemy@1.6.49, offhandpenalty@1.2.1, augplantlib@0.0.4, egocaribautomapmarkers@4.0.1, autolootreforged@1.0.3, betterfirepit@1.1.5, betterjonasdevicesfixed@2.0.2, blacksmithenhancements@1.1.4, butchering@1.8.1, carryon@1.8.0-rc.4, Clumps@1.0.1, commonlib@2.6.1, configlib@1.5.2, danatweaks@3.4.1, electricalprogressivecore@0.9.1, expandedfoods@1.7.4, flowerfarming@1.1.0, foodshelves@1.5.3, fromgoldencombs@1.8.12, herbarium@1.4.0, hidenametagsmod@1.20.6, hudclockpatch@1.0.0, kemono@0.0.27, knapster@2.14.4, ndlwoodentorchholder@1.3.3, petai@3.3.1, resmeltableslight@1.1.1, rustboundmagic@2.4.1, scorelogs@0.0.6, smithingplus@1.4.1, tentbag@2.2.0, toolsmith@1.0.0, Verticality@0.3.1, creative@1.20.6, survival@1.20.6, xlib@0.8.16, autoconfiglib@2.0.6, electricalprogressivebasics@0.9.1, indappledgrovesfirewoodbuff@1.0.1, mechanicalwoodsplitter@1.1.2, newworldcrops@0.0.10, passiveanimals@1.0.0, playercorpse@1.11.0, rustboundmagiceasy@0.1.0, sandwich@1.2.7, stonequarry@3.4.3, tpnetpatched@1.14.6, wkfa@0.0.96, wildcraftfruit@1.3.2, wildcraftherb@0.0.1, wildcrafttree@1.3.0, xinvtweaks@1.8.0, electricalprogressiveqol@0.9.0, electricalprogressiveequipment@0.9.0

System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.API.Common.AssetLocation.ResolveToDomainAndPath(String domainAndPath, String& domain, String& path) in VintagestoryApi\Common\Assets\AssetLocation.cs:line 194
at Toolsmith.Utils.ItemStackExtensions.ResetNullHead(ItemStack itemStack, IWorldAccessor world) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\Utils\ItemStackExtensions.cs:line 137
at Toolsmith.ToolTinkering.CollectibleBehaviorTinkeredTools.GetHeldItemInfo(ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo) in D:\Vintage Story\Modding\Toolsmith\Toolsmith\ToolTinkering\CollectibleBehaviorTinkeredTools.cs:line 29
at Vintagestory.API.Common.CollectibleObject.GetHeldItemInfo(ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1581
at Vintagestory.API.Common.Block.GetHeldItemInfo(ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo) in VintagestoryApi\Common\Collectible\Block\Block.cs:line 2320
at Vintagestory.API.Common.ItemStack.GetDescription(IWorldAccessor world, ItemSlot inSlot, Boolean debug) in VintagestoryApi\Common\Collectible\ItemStack.cs:line 399
at Vintagestory.Common.CreativeTab.CreateSearchCache(IWorldAccessor world) in VintagestoryLib\Common\GameContent\Inventory\CreativeTab.cs:line 45
at Vintagestory.Common.CreativeTabs.CreateSearchCache(IWorldAccessor world) in VintagestoryLib\Common\GameContent\Inventory\CreativeTabs.cs:line 48
at Vintagestory.Client.NoObf.GuiDialogInventory.<OnOwnPlayerDataReceived>b__6_0() in VintagestoryLib\Client\Systems\Gui\Dialogs\GuiDialogInventory.cs:line 58
at Vintagestory.API.Common.TyronThreadPool.<>c__DisplayClass13_0.<QueueTask>b__0(Object a) in VintagestoryApi\Common\TyronThreadPool.cs:line 121
at System.Threading.QueueUserWorkItemCallback.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()


There was also mention of a failure at line 32 but that was during the actual client.

I -really- want to use this mod, love the idea of better tool building.

💬 zizzler, Apr 1st at 1:22 PM

i really like the idea of the mod. tried it on existing server and it crash. i made new issue with some logs. let me know if need more info!

💬 JonR , Apr 1st at 11:45 AM

Lilgast | Yeah, I was considering something like that. I expected it might be requested, but I'd personally probably leave it off myself since it was intended to indefinitely sustain the tool - so long as you take proper 'maintenance', just cause that's fairly realistic, tools are very dang sturdy, haha. But I don't see why it couldn't be a config option perhaps, ticking up a stacking reduction every time it is fully repaired or something like that... Or perhaps a 'Wear' value that goes up as it's used.

TimSithis | Hah, no worries about that, I promise it's a serious mod. Can check the source up at the top as well!

💬 Lilgast, Apr 1st at 11:35 AM

Great concept, after quick testing it works great. Love the idea of grindstone but i think it have one issue. It restores tools head durability up to its max value. Would be great if it was possible to decrease max durability in that process. That way we have prolonged life of the tool without extending it up to infinity.

Otherwise great mod, good job :)

💬 TimSithis, Apr 1st at 10:36 AM

Ah..Nono I don't really care about the Icon more worried it being a troll mod. But Overall I love the mod idea.

💬 GermanKursk, Apr 1st at 9:48 AM

Very nice, we will watch your career with great interest.

💬 JonR , Apr 1st at 9:02 AM

Haha, if you mean the icon, it was just a joke between a friend and I. I wanted at least something to put for an icon and he jokingly made an incredibly unsettling gradiant as the background, so I came back and told him make it Fireblu. Thought it'd just be funny to toss that one up there, but the mod is simply just the mod as described up above! I'll just replace it tomorrow with a basic transparent background :P

💬 TimSithis, Apr 1st at 8:46 AM

Love it...And worried haha

 (edit comment delete)