Mods / Wear And Tear
- Tags:
- Author:
- TheInsanityGod
- Side:
- Both
- Created:
- Nov 26th 2024 at 12:43 PM
- Last modified:
- Jun 20th at 9:26 AM
- Downloads:
- 20960
-
Latest release (for Vintage Story 1.22.0 - 1.22.3, potentially outdated):
wearandtear_1.5.23.zip 1-click install
Part based durability system with maintenance for blocks.
UPDATE NOTICE:
Remember to update InsanityLib as well
Requires:
- InsanityLib (required for wearandtear 1.5 and up)
Features:
- Automaticly creates parts for most mechanical blocks (even from other mods) including but not limited to: Axles, Gears, Windmills (can be rolled up), Helve hammers (both block and item), Pulverizers (both block and item), Molds, Querns
- Visual Tearing on windmill sails and non mechanical powered blocks
- Decay dependent on circumstances such as: Time, Wind, Humidity, Usage, Shelter, Protective Parts (like wax)
- Protective parts such as Wax (can be applied on wooden parts) and Metal Reinforcements (these are automaticly assigned)
- Maintenance system that allowes for repairing parts to a certain degree
- Durability affects efficiency (only current implementation is windmill sails)
- Rubble & Scrap gets produced when blocks break (Vanilla Variants is recommended to make blocks more wood and metal specific)
- Handbook integration for displaying the Parts & Scrap
- Class bonuses/limitations such as: exact percentage instead of approximate (enabled by default) and limiting who can do maintenance (disabled by default)
- XLib skill tree
- extendible & configurable
- Sawdust & charcoal bricks
For more information on maintenance, read the ingame handbook page.
Compatibility:
- Vanilla Variants & Wildcraft: Trees and Shrubs (This will cause better and more specific metal/wood parts to show up)
- Millwright (passthough axle is usefull for keeping mechanical devices sheltered) *Sailcentered doesn't have a custom model for rolled up sails (because I couldn't come up with a good model)
- In Dappled Groves / Immersive Wood Sawing (Sawdust will be obtainable through in world sawing instead)
- Helve Axe addon for In dappled Groves (Helve axes will also have durability)
- Axle in Blocks (These last longer, but you can't do maintenance on them)
- Linear Power
- And most other mods that add mechanical devices (since this mod dynamically adds parts to blocks)
Translation:
- Polish by Pawelot
- Ukrainian translation by UA_Shaman
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 1.5.23 | wearandtear | 1436 | Jun 20th at 9:26 AM | wearandtear_1.5.23.zip | 1-click install | ||
| |||||||
| 1.5.22 | wearandtear | 559 | Jun 4th at 10:32 PM | wearandtear_1.5.22.zip | 1-click install | ||
|
Fixed sail drop logic so new large windmill rotor actually drops the large sails rather then the normal sails. | |||||||
| 1.5.21 | wearandtear | 493 | May 10th at 5:36 PM | wearandtear_1.5.21.zip | 1-click install | ||
|
Updated In Dappled Grove compatibility | |||||||
| 1.5.20 | wearandtear | 301 | Apr 28th at 9:39 PM | wearandtear_1.5.20.zip | 1-click install | ||
|
fixed reinforced windmill rendering stuff (decay and rolledup shape) | |||||||
| 1.5.19-pre.1 | wearandtear | 158 | Mar 10th at 11:17 AM | wearandtear_1.5.19-pre.1.zip | 1-click install | ||
|
Initial update for 1.22 | |||||||
| 1.5.17 | wearandtear | 3051 | Nov 4th 2025 at 8:26 PM | wearandtear_1.5.17.zip | 1-click install | ||
|
add compatibility for new millwright pass through axle #4 | |||||||
| 1.5.16 | wearandtear | 581 | Oct 14th 2025 at 4:00 PM | wearandtear_1.5.16.zip | 1-click install | ||
|
added extra config option to help deal with potential recipe chains that can cause small concentrations of metal to end up in places they don't quite belong. (solves edge case where Dana Tweaks and Toolsmith combined with certain configuration could cause stuff made with sticks to become gold reinforced) | |||||||
| 1.5.15 | wearandtear | 310 | Oct 7th 2025 at 9:46 AM | wearandtear_1.5.15.zip | 1-click install | ||
| |||||||
| 1.5.14 | wearandtear | 1036 | Sep 3rd 2025 at 9:47 PM | wearandtear_1.5.14.zip | 1-click install | ||
|
fix compatibility patch so it doesn't crash on InDappledGroves-1.21-v2.2.1-rc.1 (note: will still work with older versions of In Dappled Groves) | |||||||
| 1.5.13 | wearandtear | 167 | Sep 2nd 2025 at 9:06 AM | wearandtear_1.5.13.zip | 1-click install | ||
|
Fixed annoying to find issue where both ingot molds would break due to faulty innitialization logic if WearAndTear was not present on previous load. | |||||||
| 1.5.12 | wearandtear | 197 | Aug 30th 2025 at 7:36 PM | wearandtear_1.5.12.zip | 1-click install | ||
| |||||||
| 1.5.11 | wearandtear | 617 | Aug 22nd 2025 at 2:34 PM | wearandtear_1.5.11.zip | 1-click install | ||
|
Helve items, pounders and BlockEntityContainer items now end up in rubble pile instead of dropped normally when rubble is created. | |||||||
| 1.5.10 | wearandtear | 119 | Aug 20th 2025 at 9:18 AM | wearandtear_1.5.10.zip | 1-click install | ||
|
Fix issue where wax can disapear during reload due to weird load order | |||||||
| 1.5.9 | wearandtear | 906 | Jul 2nd 2025 at 9:17 PM | wearandtear_1.5.9.zip | 1-click install | ||
|
Further reworked/optimized old AutoRegistry code, not that noticible if only using WearAndTear but greatly noticeable if using Vanilla Variants + Wildcraft: | |||||||
| 1.5.8 | wearandtear | 406 | Jun 19th 2025 at 5:55 PM | wearandtear_1.5.8.zip | 1-click install | ||
|
Some extra handling for bad/invalid recipes and an addition catch so it will atleast continue trying to analyze other blocks | |||||||
| 1.5.7 | wearandtear | 442 | Jun 17th 2025 at 5:35 PM | wearandtear_1.5.7.zip | 1-click install | ||
|
Attempt to increase performance (Load Time) on larger modpacks | |||||||
| 1.5.6 | wearandtear | 198 | Jun 10th 2025 at 10:56 AM | wearandtear_1.5.6.zip | 1-click install | ||
|
Fixed weird incompatibility edge case with Double Slabs (WearAndTear would end up loading room before Double Slabs finished it's initialization code) | |||||||
| 1.5.5 | wearandtear | 158 | Jun 8th 2025 at 10:03 PM | wearandtear_1.5.5.zip | 1-click install | ||
|
Fixed some stuff that broke with millwright update | |||||||
| 1.5.4 | wearandtear | 332 | May 29th 2025 at 11:59 AM | wearandtear_1.5.4.zip | 1-click install | ||
|
Some minor ingot mold fixes:
| |||||||
| 1.5.3 | wearandtear | 105 | May 28th 2025 at 2:11 PM | wearandtear_1.5.3.zip | 1-click install | ||
| |||||||
| 1.5.2 | wearandtear | 377 | May 15th 2025 at 5:17 PM | wearandtear_1.5.2.zip | 1-click install | ||
|
Fixed sails not dropping when breaking rotor. | |||||||
| 1.5.1 | wearandtear | 147 | May 12th 2025 at 5:44 PM | wearandtear_1.5.1.zip | 1-click install | ||
|
fixed the expanded molds anvil patch that I broke | |||||||
| 1.5.0 | wearandtear | 148 | May 9th 2025 at 3:22 PM | wearandtear_1.5.0.zip | 1-click install | ||
| |||||||
| 1.4.2 | wearandtear | 996 | Apr 6th 2025 at 9:13 AM | wearandtear_1.4.2.zip | 1-click install | ||
|
Polish translation update (only a translation update, so not needed unless you use Polish as language) | |||||||
| 1.4.1 | wearandtear | 151 | Apr 5th 2025 at 7:38 PM | wearandtear_1.4.1.zip | 1-click install | ||
|
Forgot to add the wildcrafttree variants of wood scrap last time -_- (also forgot to capitalize the 's' of scrapper) | |||||||
| 1.4.0 | wearandtear | 108 | Apr 5th 2025 at 5:38 PM | wearandtear_1.4.0.zip | 1-click install | ||
| |||||||
| 1.3.7 | wearandtear | 2029 | Feb 18th 2025 at 6:45 PM | wearandtear_1.3.7.zip | 1-click install | ||
|
ingot molds have durability as well now | |||||||
| 1.3.6 | wearandtear | 276 | Feb 16th 2025 at 8:14 PM | wearandtear_1.3.6.zip | 1-click install | ||
|
Attempt to fix NaN issue (the big negative percentage issues) | |||||||
| 1.3.5 | wearandtear | 836 | Feb 12th 2025 at 9:42 PM | wearandtear_1.3.5.zip | 1-click install | ||
| |||||||
| 1.3.4 | wearandtear | 561 | Feb 5th 2025 at 11:37 AM | wearandtear_1.3.4.zip | 1-click install | ||
| |||||||
| 1.3.3 | wearandtear | 207 | Feb 3rd 2025 at 10:16 PM | wearandtear_1.3.3.zip | 1-click install | ||
| |||||||
| 1.3.2 | wearandtear | 204 | Feb 2nd 2025 at 2:12 PM | wearandtear_1.3.2.zip | 1-click install | ||
| |||||||
| 1.3.1 | wearandtear | 426 | Jan 31st 2025 at 8:14 PM | wearandtear_1.3.1.zip | 1-click install | ||
| |||||||
| 1.3.0 | wearandtear | 113 | Jan 31st 2025 at 7:29 PM | wearandtear_1.3.0.zip | 1-click install | ||
| |||||||
| 1.2.2 | wearandtear | 412 | Jan 28th 2025 at 6:13 PM | wearandtear_1.2.2.zip | 1-click install | ||
| |||||||
| 1.2.0 | wearandtear | 223 | Jan 27th 2025 at 8:00 PM | wearandtear_1.2.0.zip | 1-click install | ||
| |||||||
| 1.1.6 | wearandtear | 358 | Jan 22nd 2025 at 5:55 PM | wearandtear_1.1.6.zip | 1-click install | ||
| |||||||
| 1.1.5 | wearandtear | 314 | Jan 18th 2025 at 9:58 PM | wearandtear_1.1.5.zip | 1-click install | ||
| |||||||
| 1.1.1 | wearandtear | 241 | Jan 12th 2025 at 5:52 PM | wearandtear_1.1.1.zip | 1-click install | ||
| |||||||
| 1.1.0 | wearandtear | 391 | Jan 4th 2025 at 9:27 PM | wearandtear_1.1.0.zip | 1-click install | ||
|
Fixed some minor issues (with ImmersiveOreCrush compatibility) and tested stuff in 1.20 rc8 | |||||||
| 0.9.0 | wearandtear | 333 | Dec 11th 2024 at 4:18 PM | WearAndTear_0.9.0.zip | 1-click install | ||
| |||||||
| 0.8.0 | wearandtear | 170 | Dec 8th 2024 at 1:30 AM | WearAndTear_0.8.0.zip | 1-click install | ||
| |||||||
| 0.5.1 | wearandtear | 226 | Nov 27th 2024 at 9:18 AM | WearAndTear_0.5.1.zip | 1-click install | ||
|
Now also supports Wildcrafttree variants added by Vannilla Variants | |||||||
| 0.5.0 | wearandtear | 141 | Nov 26th 2024 at 10:31 PM | Empty | WearAndTear_0.5.0.zip | 1-click install | |








How safe is this mod to remove from an active world?
you will have some of the usual artifacts leftover (missing item that looks like a black squares and question mark blocks where rubble is supposed to be), but on average it should be fairly save.
So our pulveriser exploded and now getting anywhere near the debris causes clients to crash and a flood of errors in the server console.
Toksyuryel this is not enough information to reproduce the issue, please provide the server-main and client-main log ideally of when it initially happend. (can be done either in a github issue or on the vintage story discord)
Correction: getting near the rubble pile does not cause the crash, it's attempting to break it. I am also unable to reproduce this situation in my test world, it seems to be specific to the server somehow. I don't have any logs from when the machine first broke, but I can send you logs of triggering the crash? Are Discord DMs ok?
Discord DMs are fine if you don't like the WearAndTear thread in the official vintage story discord server for whatever reason.
This mod does not seem to like the new large sails and turns them into normal sails when you break the rotor.
Thanks for letting me know, should be fixed in newest release.
add wear and tear to main building blocks like quarter logs, wood, thatch roofs importantly, and planks, but make them last a lot
This is outside the scope of the mod.
(there would also be a variety of issues with doing this with the current framework I have created)
i understand, thanks for responding
Hi. When using combination of [Wear And Tear] and [In Dappled Groves] for [1.22] when u chop tree log using axe, instead of 2 slabs of tree logs, u get infinite ammount of them - literal stream of half logs.
How to recreate:
1. Get any axe
2. Place any Wood Log
3. Hold right click while holding axe on a Wood Log
4. After second it creates infinite stream of blocks - Wood Log isn''t consumed/destroyed in the process.
(Same comment has been posted in both mods in case it's a issue in either of them)
Well I'm not really supprised since I haven't had the time yet to update the compatibility I made since IDG got updated 17 hours ago.
Fixed now that I have updated IDG compatibility
Thanks for quick fix!
If anyone is experiencing issues with the waterwheel: I just found an issue in the base game regarding it throwing errors when broken by something that is not a player, which this mod happens to do when durability runs out.
https://github.com/anegostudios/VintageStory-Issues/issues/9392
Kainda you can ignore that error, it's complaining that it would not be able to propperly generate wood scrap for mechanical devices that have a darkaged variant. I should probably change it to a warning.
Hello! Thank you for the mod!
Quick note: the mod runs on v1.22.2, but I get the following error on startup:
[Error][WearandTear] No plank for darkaged variant and this is required for wearandtear:woodscrap to function propperly
Thank you very much for this mod, I love how it makes you handle a lot of items more realistically.
Would love a toolsmith/smithing plus compat, where we can repair metal parts when broken. Like the helve hammer dropping a work piece instead of being destroyed.
Can you make sawdust a food filler item?
You are awesome :) thank you so much for the quick and thorough response :D
ArmoredStone decay from Time, Wind and Humidity already is higher outside and windmill sails only take damage when they are not rolled up and in the wind. As for configuration, there is far too much you can configure for me to mention here but you will likely want to look at the following:
In the `DecayModifierConfig` you can:
In the `SpecialPartsConfig` you can configure custom (non generic) parts:
And in the `AutoPartRegistryConfig` you can configure lifespan/decay of the generic parts (frames and wax).
(documentation on what the config options do can be found in the code, in the config file and in configlib)
Is it possible to remove the damage from time, and increase the damage from being used?
I'm trying to plan out a server for my community, but I don't want people to have their workstations destroyed as they're offline
Ideally, I want the work station to take more damage if they're outside while being used
Caelthran, although being "sheltered" doesn't really affect vanilla molds (it can affect modded molds if they for instance are made with metal) it should still show as being "sheltered", you might want to use `/debug rooms hi` to check if the game actually considers it a room (stuff like crude doors can actually make something that looks like a room not be considered a room by the base game)
Glue, pitch, any adhesives and basic materials of what its made of (metals, wood, linen, etc) would be great for generic maintenance costs, maybe requiring the new parts only if they drop below a certain threshold?
@TheInsanityGod
Oh, i see, and it make sense... The only thing is that it's not really explained well, i tought it was a bug cause it said (unsheltered) in the tooltip, so maybe removing the shelter part could help misunderstandings?
Caelthran, molds only take damage from usage so it being sheltered wouldn't actually affect it.
as for using glue for repairs... that's actually not a bad idea, I should probably look into that.
@Silhouette
Oh yeah! Building stability would be awesome!
The game already has a similar system with the instability and blocks that fall, and probably it just need to extend the instability to all the blocks in game, with different base instability, and blocks that fall automatically if placed on a surface that would make them instable
@TheInsanityGod
It's normal for clay mould to always be considered unsheltered ileven if they are in a room? I'm burning trough ingot mould quite fast
This made me think about: do you have any plan for adding glue as a way to slightly fix something or for some other use? It would be nice to have some more glue use for people that play with no glue for recovering clutter
Super cool!
This seems to me the closest thing to the logic required to setup a valheim-like system where wooden building parts decay in the rain if not covered by a roof.
Cooler with the included ability to wax parts that are meant to be exposed in the rain like porches, ect.
In combo with the real smoke mod, the only thing missing would be some form of building stability.
@Frostb1t3, technically speaking you could edit the modinfo.json file to have it use the xlib mod id though I'm unsure if this will have side effects.
Alternatively you could wait for me to add support for it, won't have time to look at it today though
Ya im using the unnoficial xskills/xlib for 1.21. can i change the mod id for it or something to get it to work?
Frostb1t3, the mechanics skill tree is actually dependant on XLib, not XSkills.
Are you using the unnoficial xskills/xlib for 1.21 by chance? If so then that makes sense as it is actually a different mod ( has a different ModId) meaning other modders have to explicitly add support for it.
(unless ofcours they where using reflection to check based on assembly name)
Xskills doesnt show me the mechanics skill tree
TheInsanityGod Ah! Coool Thank you!
potoes, 0w0 I think I finally found it... if there are ingot molds already placed down when this mod is added then they end up not getting their durability assigned (meaning 0 durability) making them both break when you grab the ingot.
(note: if you ever disabled WearAndTear temporarily or had some kind of conflict that made WearAndTear not load and saved then this could also happen)
Should be fixed in new release.
0w0 Also getting the bug where two ingot molds break and only get one ingot. In 1.21 on current mod version
Giovanni_MIS, please send log file(s) (server-main being the most important one) as this sounds like a startup/compatibility issue. (most of that stuff hasn't been touched at all)
1.5.11 (1.20.12) The wax stopped working on the mechanisms, as did the Wood Filler. Xskills skills also stopped working.
MrApothic, that would be because this mod isn't updated for 1.21, I'm still working on that.
(1.21 reworked molds to support multiple ceramic variants, hence all my mold code requires reworking)
I wanted to show an error I'm getting when using this mod in V21 - unsure why it suddenly fails when I try to remove my current plate from the mold.
Involved Harmony IDs: wearandtearSystem.MissingMethodException: Method not found: 'Void Vintagestory.API.Common.Block.SpawnBlockBrokenParticles(Vintagestory.API.MathTools.BlockPos)'.
at WearAndTear.Code.Behaviours.Parts.MoldPart.OnBreak()
at WearAndTear.Code.Behaviours.PartController.UpdateDecay(Double daysPassed, Boolean updateLastUpdatedAt) in D:\Modding\VintageStory\WearAndTear\wearandtear\Code\Behaviours\PartController.cs:line 176
at WearAndTear.Code.Behaviours.Parts.MoldPart.Damage(IPlayer byPlayer) in D:\Modding\VintageStory\WearAndTear\wearandtear\Code\Behaviours\Parts\MoldPart.cs:line 67
at Vintagestory.GameContent.BlockEntityToolMold.TryTakeContents_Patch1(BlockEntityToolMold this, IPlayer byPlayer)
at Vintagestory.GameContent.BlockEntityToolMold.OnPlayerInteract_Patch0(BlockEntityToolMold this, IPlayer byPlayer, BlockFacing onFace, Vec3d hitPosition)
at Vintagestory.GameContent.BlockToolMold.OnBlockInteractStart(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel) in VSSurvivalMod\Block\BlockToolMold.cs:line 240
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseBlock(Block selectedBlock, BlockSelection blockSelection) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 886
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 544
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 87
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1024
at Vintagestory.Client.GuiScreenRunningGame.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 250
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 760
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 663
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 113
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 338
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 133
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95
I beleave it was 1.5.10; because it popped up on my feed on sort by newest update
What about mod version 0w0?
TheInsanityGod
GV: 1.20.12
I Don't think I've got any mods that affects Ingot molds, other than those that add extras and auto clayformer
Giovanni_MIS curently no, I'll see about adding a config option for this.
Dagurmawth you can't set a metal type, this is automatically decided based on recipe. Since base game does not care about what metal is used for fruit presses it ends up as 'Unknown', I'll see about making the repair also not care about metal type in that scenario.
(if you can't wait, the fruit press can be specifically disabled by changing 'IncludeFruitPress' in 'ModConfig\WearAndTear\Server\AutoPartRegistryConfig.json' to 'false')
We had a disagreement on the server about the mod. Many people do not like that their mechanisms break down while they are not online. Is there any way to stop or slow down the breakdown when chunks are not loaded? I know that there is wax, but some players come in very rarely and everything breaks down anyway.
I've got a question. On our server we can't repair fruit presses. We aren't running anything that adds varient presses so they are vanilla. The reinforcement type is always (unknown). How do we set a metal type so we can have these repaired instead of replaced bi-yearly?
Giovanni_MIS, this actually wasn't a bug but a planned feature (that I forgot about 😅), pounders where stilled dropped just not part of the rubble.
(Game is a bit inconsistent in how items are dropped from code, I covered normal block drops but everything beyond that was planned)
Helve items, pounders and BlockEntityContainer items should now all end up in the rubble.
GreenSage, I can't get this reproduced.
0w0, I can't get this reproduced either.
Gathering an Ingot from a single ingot mold in a pile of two ingot molds; breaks both molds and you lose one of the ingots. This doesn't make sense to me but losing a fully cooled and ready to use ingot is very painful
I'm not sure if it's a bug bug or a visual bug, but all of my mechanical parts and devices are shown "unsheltered" when they are indoors (HUD mod shows indoor icon, and previously they showed "sheltered" status).
I also double-check the rooms in ".debug".
I also had another bug. After my Pulverizer rotted, a Rubble appeared in its place, I broke it and two toggle pulverizers fell out of it, and the pounders did not fall out.
Thanks for bringing this issue to my attention Giovanni_MIS, should be fixed now.
The wax coating just disappears every time I use the translocator.
Molds are not repairable Mogami_Chan
Are molds repairable? I can't find anything on how to do that.
And he was never heard of again :P
TheInsanityGod Ah, the tailor's delight mod might be the issue. I will attempt to check and see if updating that to the latest version fixes anything before changing the configs. Thank you and I will let you know if anything works!
Rakshasa, you'd be able to do so by tweaking the config yes. (you should be able to set "WindmillSails" to null to remove the sail part and you can blacklist the windmill through the blacklist in AutoPartRegistry to remove the frame part)
Seeing as you want to disable only windmills, I assume this is only an issue on windmills then? If so you might want to check if you have an old version of Tailor's Delight installed (there was a compatibility issue where sewing kits couldn't repair sails, which they fixed in 1.9.7)
ps: you don't need to update game version to update this mod, if that's what you where thinking...
Unfortunately, we're holding off on updating until the next major one drops. Is there an option to just disable the windmill durability for now?
Rakshasa, I mean looking at those version numbers you should probably update stuff... but aside from that I can't really say much without seeing the logs and seeing what you are doing.
(could be bad config, could be mod conflict, could be old issue that's already been fixed in newer versions, etc).
TheInsanityGod Ive been having an issue with trying to repair windmills. Whenever me or anyone on the server attempts to apply sewing kits to the sails, nothing happens. We have tried everything from filler, to using any type of cloth. Please let us know what is happening. Version is 1.20.7 with file version 1.4.2 of the mod.
TheInsanityGod understood, thank you! i wish i could tell which mod was trying to do what but unless it's mentioned in the line i'm at a loss 😭 sorry for the bother about it, but thank you very much for the answer -- appreciate you and your work!
Thanks for reporting merryclefairy, this will cause issues yeah.
Looking at the StackTrace you provided, I'd expect this to be caused by some other mod adding/creating an invalid/bad recipe. I've added some extra handling for this (and an aditional catch so it will atleast continue trying to analyze other blocks).
hello, i'm not sure if i'm dumb but i am getting tis and not sure if it's important for you to be aware of or if it might cause any issues
18.6.2025 21:39:53 [Server Debug] [wearandtear] Running system "WearAndTearModSystem" phase "AssetsFinalize"
18.6.2025 21:39:53 [Server Error] [wearandtear] An exception was thrown when trying to run mod system "WearAndTearModSystem" phase "AssetsFinalize":
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.NullReferenceException: Object reference not set to an instance of an object.
at WearAndTear.Code.AutoRegistry.ContentAnalyzer.<AnalyzeRecipes>b__32_0(GridRecipe recipe) in D:\Modding\VintageStory\WearAndTear\wearandtear\Code\AutoRegistry\ContentAnalyzer.cs:line 203
at System.Linq.Enumerable.WhereListIterator`1.ToList()
at WearAndTear.Code.AutoRegistry.ContentAnalyzer.AnalyzeRecipes(ICoreAPI api) in D:\Modding\VintageStory\WearAndTear\wearandtear\Code\AutoRegistry\ContentAnalyzer.cs:line 203
at WearAndTear.Code.AutoRegistry.ContentAnalyzer.Analyze(ICoreAPI api) in D:\Modding\VintageStory\WearAndTear\wearandtear\Code\AutoRegistry\ContentAnalyzer.cs:line 236
at WearAndTear.Code.AutoRegistry.AutoPartRegistry.CleanDeadlocksAndAnalyze(Block block) in D:\Modding\VintageStory\WearAndTear\wearandtear\Code\AutoRegistry\AutoPartRegistry.cs:line 196
at WearAndTear.Code.AutoRegistry.AutoPartRegistry.Register(Block block) in D:\Modding\VintageStory\WearAndTear\wearandtear\Code\AutoRegistry\AutoPartRegistry.cs:line 237
at WearAndTear.Code.WearAndTearModSystem.AssetsFinalize(ICoreAPI api) in D:\Modding\VintageStory\WearAndTear\wearandtear\Code\WearAndTearModSystem.cs:line 101
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at EMTK.EarlyLoadPatcher.TryRunModPhase(Mod mod, ModSystem system, ICoreAPI api, ModRunPhase phase, Boolean& __result) in /home/mom/Desktop/mgz/Documents/Code/git/vintagemods/Early Mod Toolkit 3/src/PatchEarlyLoad.cs:line 166
18.6.2025 21:39:53 [Server Error] Failed to run mod phase AssetsFinalize for mod WearAndTear.Code.WearAndTearModSystem
You live up to your name - It was insanely faster!
Much appreciated for the quick fix!
17.6.2025 17:32:36.121 [VerboseDebug] Entering runphase AssetsFinalize
17.6.2025 17:32:56.176 [VerboseDebug] [WearAndTear] Finalizing assets
17.6.2025 17:32:56.898 [VerboseDebug] [WearAndTear] Starting part registration
17.6.2025 17:32:58.883 [VerboseDebug] [WearAndTear] Finished part registration
17.6.2025 17:32:58.883 [VerboseDebug] [WearAndTear] Finished finalizing assets
17.6.2025 17:33:01.416 [VerboseDebug] [Recipe Patcher] Patchloader finished
I've done my best to optimize it, let me know if it's still taking far too long mrbunwah.
(ps: should now also output a start/finish VerboseDebug log entry)
Thanks for reporting mrbunwah,
You are correct that this is due to the 1.5.5 change (someone actually already reported this on discord), I had to change caching behavior due to a potential deadlock but this change had a larger performance impact then estimated (didn't notice the impact because I usually only test with a few mods).
Should have a fix out soon (aiming for tomorrow).
I'm not sure how diagnosable this is, but in a very heavily modded pack (300+ mods), updating to 1.5.5/1.5.6 seems to have a massive slowdown when creating a new world. Unfortunately I cant readily find a great deal of logging, likely a change in 1.5.5 is processing a lot of objects in a less efficient manner?
A quick excerpt from server-debug for example, note time time skip from 11:55 to 12:14. Normally that kick for AssetsFinalize only takes a minute or so in 1.5.4:
16.6.2025 11:55:12 [Debug] Added 84151 new blocks to the mapping
16.6.2025 11:55:12 [Debug] Block IDs have been written to savegame. Saved max BlockID was 84150
16.6.2025 11:55:12 [Debug] ItemID Remapper: Begin
16.6.2025 11:55:12 [Debug] Item IDs not found in savegame.
16.6.2025 11:55:12 [Debug] Found 0 Item requiring remapping
16.6.2025 11:55:12 [Debug] Found 0 missing Items
16.6.2025 11:55:12 [Debug] Added 15380 new Items to the mapping
16.6.2025 11:55:12 [Debug] Item IDs have been written to savegame
16.6.2025 11:55:28 [Debug] [FoodShelves] Started patching recipes...
16.6.2025 11:55:28 [Debug] Recipe switcher is currently turned off for performance reasons.
16.6.2025 11:55:28 [Debug] Patched in 1298 recipes using the default fallback method.
16.6.2025 11:55:28 [Debug] [FoodShelves] Patched in 1298 total recipes in 0.07s
16.6.2025 11:55:28 [Debug] [PurposefulStorage] Started patching recipes...
16.6.2025 11:55:28 [Debug] Recipe switcher is currently turned off for performance reasons.
16.6.2025 11:55:28 [Debug] Patched in 24 recipes using the default fallback method.
16.6.2025 11:55:28 [Debug] [PurposefulStorage] Patched in 24 total recipes in 0s
16.6.2025 11:55:28 [Debug] [gourmand] Loaded 175 collectible matchers and 24 item stack matchers in 00:00:00.5999304.
16.6.2025 11:55:28.780 [VerboseDebug] Block simulation resolving collectibles
16.6.2025 11:55:28.846 [VerboseDebug] Resolved blocks stacks
16.6.2025 11:55:28.852 [VerboseDebug] Resolved items stacks
16.6.2025 11:55:28.853 [VerboseDebug] Entering runphase AssetsFinalize
16.6.2025 12:14:45.593 [VerboseDebug] [Recipe Patcher] Patchloader finished
16.6.2025 12:14:45 [Debug] [gourmand] Loaded 26 food achievements
16.6.2025 12:14:46.319 [VerboseDebug] Entering runphase LoadGamePre
@TheInsanityGod Thanks for replying quickly! Of those, the only one I have is Resin, and I couldn't reproduce by right clicking with that. So it may have just been a one-time thing. If it happens again I will let you know! I suppose it could have been caused by other mods that change item interactions, such as Dana Tweaks which I have installed, or mods like In Dappled Groves, although I see that's compatible. Thank you!
It's an error in a location you shouldn't be getting one... that's what it is -_-
The `WearAndTearRepairItemBehavior` allowes for items to repair WearAndTear parts by right clicking, by default this would be on the following items: Sewing Kit, Beeswax, Resin, Nails And Strips.
(I would expect you to have done something with one of those items)
The only reason I could think of that could cause a null reference here is if either
1. There is a bug in the vanilla code (in the version you are playing)
2. A different mod causing issues with my code (probably either by faking interactions or by changing parameters through harmony patching)
Is this a 1 time occurence or is it reproduceable metasynthie?
(if reproduceable please provide mod list + steps to reproduce)
I've had Wear and Tear installed although I'm still in the stone age, then suddenly got this crash, but not sure what it might be related to?
System.NullReferenceException: Object reference not set to an instance of an object.
at WearAndTear.Code.Behaviours.WearAndTearRepairItemBehavior.OnHeldInteractCancel(Single secondsUsed, ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, EnumItemUseCancelReason cancelReason, EnumHandling& handled) in D:\Modding\VintageStory\WearAndTear\WearAndTear\Code\Behaviours\WearAndTearRepairItemBehavior.cs:line 39
at Vintagestory.API.Common.CollectibleObject.OnHeldInteractCancel(Single secondsUsed, ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, EnumItemUseCancelReason cancelReason) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1391
at Vintagestory.Common.PlayerInventoryNetworkUtil.UpdateFromPacket(IWorldAccessor world, Packet_InventoryUpdate packet) in VintagestoryLib\Common\GameContent\Inventory\InventoryNetworkUtil.cs:line 18
at Vintagestory.Client.NoObf.GeneralPacketHandler.HandleInventoryUpdate(Packet_Server packet) in VintagestoryLib\Client\Systems\GeneralPacketHandler.cs:line 367
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 786
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 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
is it possible to make a compatibility patch with the workbenches from in dappled groves, the beehives, from golden combs , and the tables from butchering? sorry if am asking too much
chkdsk, 'Sheltered' refers to the block being in a semi-enclosed environment, so inside a room or a tunnle (to be exact I check for the presence of a room with less then the configured exit counts in the config).
Keep in mind that 'Sheltered' does not affect usage decay so it's usulless on molds (molds are by default only affected by usage decay)
What requirements do we need to meet to have things like ingot molds be considered 'sheltered'?
The only way to currently add WearAndTear to 'arbitrary' blocks is to create a mod with json patches by either adding my behaviors entirely on your own or merging with the AutoRegistry, though there is no documentation on how to do this :P
(the only example of this would be expanded molds, which has customized their mold durability)
However since millstones are actually a mechanical blocks you can get the mod to auto register them by adding a "DefaultFrameProps" template for "Stone" inside the Config.
(I'll see about tweaking default config and maybe making a more custom part for it)
Kelvall
Would you consider adding the quern stone to the list of machines for wear and tear? Or maybe provide an example of how to include new machines via config (if that's even supported)?
Millers frequently had to resurface them, sometimes as frequently as once a month, and wearing out and replacing the millstone was a big deal for a miller.
ITSGIBBYnowNOW this is most likely caused by a deviation in load execution order when you first create a world that's only really noticable if you happen to spawn in a location that has a structure with WearAndTear affected blocks.
I'll add some extra handling for this in the next release, in the meantime you should be able to get arround this issue by setting "VisualTearingMinDurability" to 0 in config file, this effectively disables the visual tearing.
Running on 64 bit Windows 10.0.19045.0 with 32535 MB RAM
Game Version: v1.20.4 (Stable)
3/15/2025 9:39:51 AM: Critical error occurred in the following mod: wearandtear@1.3.7
Loaded Mods: acorns@0.7.2, aculinaryartillery@1.2.5, tonwexp-neue@2.1.1, anmitechco@1.3.0, axleinblocks@1.20.1-rc.5, scrapblocks@1.2.6, bettertraders@0.0.9, bonesbonesandbones@1.0.5, caninae@1.0.30, capreolinae@1.2.5, ceratopsidae@1.0.6, combatoverhaul@0.2.1, craftablecompanion@1.2.1, dodgemaster@1.1.1, expandedmolds@1.1.2, firestarters@1.4.3, floralzonescaperegion@1.0.14, floralzonescaribbeanregion@1.0.11, floralzonescentralaustralianregion@1.0.8, floralzonesmediterraneanregion@1.0.4, floralzonesneozeylandicregion@1.0.7, casuariidae@1.0.22, dinornithidae@1.0.14, elephantidae@1.0.8, felinae@0.2.8, manidae@1.0.13, meiolaniidae@0.1.3, rhinocerotidae@1.0.16, sirenia@1.0.17, spheniscidae@1.0.8, viverridae@1.0.2, geoaddons@1.4.0, giantgouramis@1.0.2, immersiveorecrush@2.2.1, jonasboat@1.0.1, linearpower@0.3.4, manualdough@1.1.3, manualquenching@1.0.4, manualscraping@1.2.1, manualtoolcrafting@1.3.5, millwright@1.1.8, morefuel@1.0.6, pantherinae@1.1.23, peacockbasses@1.1.2, plasterwashes@1.1.0, primitivesurvival@3.7.6, prospecttogether@2.0.2, ridetogether@1.0.0, ruststones@1.2.0, dzsalvagepluspatch@1.0.1, sprintmomentum@0.1.2, spyglass@0.5.2, terraprety@6.0.2, truesunfishes@1.1.2, tyrannosaurus@1.1.3, undertangledboughs@1.0.2, viescraftmachines@2.4.0, vombatidae@0.3.1, game@1.20.4, abcsredux@1.0.9, ancienttools@1.5.24, animalcages@3.2.2, apeflowerpots@1.2.3, apegrapes@1.2.6, armory@0.2.0, autoatlas@1.1.1, betterfpcamera@1.3.0, betterruins@0.4.8, blastfurnace@1.0.0, butchering@1.8.1, butterflycases@1.0.2, chestorganizer@1.2.3, commonlib@2.6.1, cooperativecombatrework@1.0.0, CraftableCartography_fork@0.1.6, decayingcreatures@0.1.3, electricity@0.0.12, remiel_sawsticks@1.0.0, expandedfoods@1.7.4, fendragonbcs@0.1.6, fromgoldencombs@1.8.11, hardcorewater@1.3.5, herbarium@1.4.0, hydrateordiedrate@2.0.8, immersivewoodchopping@0.7.5, immersivewoodsawing@0.2.7, krpgenchantment@0.6.22, kscartographytable@1.0.1, maltiezcrossbows@1.0.0, maltiezfirearms@0.10.9, metaltongs@1.2.3, mopiscrawlingmod@1.1.1, moreanimals@1.4.1, claywheel@1.1.2, rustboundmagic@2.3.10, smithingplus@1.3.8, stonebakeoven@1.1.6, tabletopgames@2.9.1, tarmor@2.1.0, th3dungeon@0.4.1, tstools@2.4.0, unconscious@1.10.2, creative@1.20.4, survival@1.20.4, wearandtear@1.3.7, woodenfortifications@2.0.5, bugnetcompatibility@1.0.1, butcheringcompatpatch@1.0.4, electricityaddon@0.0.19, exoskeletons@0.2.4, epxandedbloodbread@1.0.1, moreblueclay@1.0.1, playercorpse@1.11.0, sausages@0.0.8, shearlib@1.1.2, stonequarry@3.4.3, tpnetpatched@1.14.6, wildcraftfruit@1.3.2, wrustbound@2.0.0-dev.6, wool@1.6.0
System.NullReferenceException: Object reference not set to an instance of an object.
at WearAndTear.Code.Behaviours.WearAndTearBehavior.<>c.<UpdateDecal>b__27_0(IWearAndTearPart part) in D:\Modding\VintageStory\WearAndTear\WearAndTear\Code\Behaviours\WearAndTearBehavior.cs:line 173
at System.Linq.Enumerable.WhereListIterator`1.ToArray()
at WearAndTear.Code.Behaviours.WearAndTearBehavior.UpdateDecal() in D:\Modding\VintageStory\WearAndTear\WearAndTear\Code\Behaviours\WearAndTearBehavior.cs:line 173
at WearAndTear.Code.Behaviours.WearAndTearBehavior.<QueueDecalUpdate>b__26_0(Single _) in D:\Modding\VintageStory\WearAndTear\WearAndTear\Code\Behaviours\WearAndTearBehavior.cs:line 151
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 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
Event Log entries for Vintagestory.exe, the latest 1
==================================
{ TimeGenerated = 3/14/2025 7:49:53 PM, Site = , Source = Application Error, Message = Faulting application name: vintagestory.exe, version: 1.20.4.0, time stamp: 0x66470000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x3c18
Faulting application start time: 0x01db9554d6071074
Faulting application path: C:\Games\Vintagestory\vintagestory.exe
Faulting module path: C:\Games\Vintagestory\Lib\openal32.dll
Report Id: ac2c4b5b-2e9b-4c27-aa9e-9891f2b57e8b
Faulting package full name:
Faulting package-relative application ID: }
ive never had this happend before immediantly crashed on world gen after char creation
Thank you!! Looking forward to the release ^-^
Technically, I've already made compatibility for 'immersive wood sawing'... But it's been buried in the bigger release I'm working on.
TheInsanityGod
Seconding the ask for compatibility with 'Immersive Wood Sawing' sawdust, it would be hugely appreciated
Would be cool for Bowls / Cookingpots and other Ceramics also have a Lifetime with this Mod, altho i can see it beeing controversial, so maybe just as an option in the config. No other mod does this and it adds some cluttergameplay to later in the game, and I love that.
General_Kitten, are you using the latest version of both mods? Cause I'm not having any issues applying wax to sawmill...
Also could you send the actual exception / log?
There seems to be an incompability with Linear power: applying wax tosawmill crashes the game.
TheInsanityGod Could you add compatibility with 'Immersive Wood Sawing' so that it drop sawdust?
Thank you.
TIL!
Thanks for entertaining my stupid thoughts :D
SiiMeR, there is something in the base game called a 'brake', which sounds exactly like what you are looking for...
I have my windmill on a windy hill where there is constant wind. Due to that I cannot roll up my sails. because it is constantly active. Can you make it that I could somehow stop the stails if I wanted to? Right now I have to pack my windmill up when I log off for the night.
Thanks man!
Lightpowder, yes it's called "DamageHelveHammerEvenIfNothingOnAnvil" in the mod config file.
(config documentation can be found either in the code on github or by using AutoConfigLib)
Is there a way to turn off helve hammers losing durability from striking an empty anvil? It's extremely annoying to constantly turn the set up on in off again while the next batch of iron bloom heats up.
TheInsanityGod
Dythanos, it's being worked on. (though it might take a while before it comes out, since I'm working on a larger update)
Hey, would it be possible to add a trait requirement into the RepairableItem Behavior. We want to limit the use of repairable items to "mechanically" minded classes. I know not everyone would want something like this, but a config could be set to activate this feature and have it off by default. It would be even better if we could put the "requiredTrait" inside of the ItemBehavior itself so that we could "level up" the available repairable materials.
Thanks,
Fantastic mod though!
I've talked about this before in discord but from what I've gathered on the subject, sawdust in it's raw form is actually supprisingly bad kindling. Generally you'd want to mix it with wax or paper and/or compress it, which I feel will probably make people just use dry grass instead (though perhaps making fire is just too easy in this game to begin with).
I do have plans too make sawdust convertable to fuel, but it isn't very high on my priority list (I feel like this should belong in a woodworking mod if instead rather then this one)
Songbirdy
Really love the mod! I'd like to make what I think is a small request - Could you set it up such that sawdust can be used in place of grass for starting fires or packing pit kilns? It'd make a really good use for the excess.
Yeah, sorry for the brainfart. Haven't used molds in a bit after getting to iron age, so I forgot that I have to do the calculations myself lol.
Lightpowder, just took a quick look and pot mold looks just fine with my mod as well.
I feel there might be some misunderstanding about what XSkill is adding to the block info. XSkill does not change the the '0/350 units of metal' part, it only adds a 'Resource reduction: X%' message at the end.
Also, there is currently no way to tweak the durability loss of the molds through the config, I'll see about adding this
(PS: default mold durability usage is actually 16~32%, giving you 4~7 uses)
The pot mold from Art Of Cooking.
Said I needed 350 units and after I filled I was left with 70 units of metal.
Oh, and BTW is there a way to tweak durability loss of the molds? My friend couldn't find it in the config file and losing 25%+ per item is a tad bit too much for us.
TheInsanityGod
Lightpowder thank you for reporting this issue, the provided information was however not enough to reproduce this issue. (it shows up just fine for me)
Please provide the following information:
Resource reduction from XSkills stops showing correct values on the mold while still being applied and the only new thing we installed is this mod.
TheInsanityGod
i will test and report back. slight delay on the test waiting for players to not be in the middle of an event right now.
UPDATE: all of the currently bugged parts have been fixed. the wax is gone from everything but at least now i can go around and replace it and move on
icesharkk, latest update should somewhat fix the issue.
TheInsanityGod bringitonwimps
I am also having the -2147483648% on my parts. i had a few of the early parts of my windmill but after updating the server to 1.2-.4 some part of that process applied this issue to every single windmill part i have. it seems that the wax reinforcement will never run out now? but its hard for me to tell if it is actually benefiting the part or not.
i cannot overwrite it or fix it with more wax either.breaking and replacing the part resets the wood durability.the correct value but not the wax.
was there a resolution for this or can there be a check added to the mod?
for troubleshooting: My windmill parts are predominately pine variants from vanvar but even my pine and my deafault fruitpress ahve the issue as well. the default fruit press was crafted and placed before vanvar was added to the game if that helps rule out mod conflict problems..
Hazeron, you just delete the config file before starting the game.
Weird that it is already in the blacklist though... since that should prevent the normal mixing bowl from having WearAndTear.
It's in the blacklist already. How do you regenerate a mod configuration?
Hazeron, my name has spaces in between the words (so The Insanity God) on the discord and the forum (not that I really check the forum often)
also since it's the normal mixing bowl, I'd recommend either regenerating the config or updating the code blacklist manually to contain the mixingbowl:
"CodeBlacklist": [ "mixingbowlmini" ],
(It isn't supposed to have WearAndTear but they defined their block weirdly so I changed the default code blacklist to contain it a while back)
How do I send the log to you? There's no PM option on here and I can't find your name on the forums.
It's the normal mixing bowl. I'll send you the log file now-it's outdated by a few days at this point but hopefully it'll help.
Hazeron, thanks for reporting. The provided information wasn't enough to reproduce this issue, could you provide a bit more information?
This seems to do sometihng weird with mixing bowls from expanded foods-they keep swapping back to normal versions with no wear and tear spontaneously at times, which deletes anything in them (i discovered this because i lost a liter of drying lard). Breaking and placing them seems to fix this but sometimes it resets the actual wear and tear percentage as well.
TheInsanityGod I'll fix the base calls in Linear Power and test it with this mod. That plus setting the sawDegradeRate to none-zero when using this mod means we got it sort of covered I think.
How does the sawdust work? Is that simply an item that should be dropped along with any recipe involving wood? The sawmill in Linear Power can be used for any grid recipe that involves saw + 1 ingredient so it's not necesarily only wood.
Just noticed that you harmony-patched this in! Let me know if there's something that would simplify things for you. I will at least do the super-calls so that I don't bypass other added behaviours!
thank you for your prompt response! i roll up the sails before i go to bed but they're high enough up that its not time effective to go roll more frequently than that i think.
I for one would love if a halted system slowed wear and tear. though i will say that variable speed itself probably shouldn't. while realistic it will punish the player for good machinery. cheers though thanks for a great mod.
icesharkk, currently the speed of the mechanical power system does not affect the wear and tear in any way, I might look into this in the future.
You can however roll up the sails to minimize damage when not in use (rolling up sails does require halting all motion using a brake)
does putting a brake on my windmill and halting all the motion for when im not using it reduce the wear and tear on the axels sails or other parts?
if it doesnt currently that would be an amazing feature on multiplayer servers.
bringitonwimps, it's partially compatible.
*He actually already has code for the saw using durability, he just has it disabled by default in his config.
("sawDegradeRate" is a multiplier on how much damage the saw item takes and he has it set to 0 by default)
Problems:
(meaning behaviors are ignored)
(meaning behaviors are ignored)
I'll see if I can fix some of these later today.
Do you know if your compatible with linear power?.. I think it would be awe3some as his saw is easily op depending on how it wears but this mod patching it to be in line with the rest of your system would be super awesome! Thanks
also I realised i never responded to your last comment and yes he coirrected it. thanks again
bringitonwimps, seeing vanilla variants latest update it seems like it wasn't me this time :P
But thanks for letting me know anyway.
second update , It is clear now that the issue happens when you try to remove any item touching an angled gear, in survival or in creative. The current issue is one of my players on my world has multplr angled gears together, so now we can not remove them or the axles on either end. I get an error saying iots related to vanilla variants however this mod also edited the blocks. We tried bombs, lava, lighting them on fire.. they are industructible it seams.and when reentering the chuink with repaired windmill this always appears
also anytime I leave an area and then come back to the area my whole windmil is broken again and my sails are always gone. and this error pops up.
2.2.2025 21:52:06 [Error] Failed loading blockentity Brake for block vanvar:brake-maple-north in a chunk. Will discard it. Sorry. Exception logged to verbose debug.
update, it was something to do with and angled gear, if i broke either axle touching it i crashed, then i broke the gear and was able to break the axle. Idk if any of this is useful but I figure reporting it just in case is better than not. Not sure what caused it or really what fixed it but it seams fixed for the time being.
I added vanilla variants to my server today, and now all my "generic" axles stopped working and I'm not seeing any wear posted on them. I started deleting them in creative to replace them and after about 2/3 of em removed now if i left click on any of the ones left I crash with this error. I reported it to vanilla variants as well as it seams likely to either be that mod or this one as they both mess with the axles. I'm gogint to try some taking a mod off to remove old stuff trouble shooting and see what happens
https://pastebin.com/nzXLBH92
Lord_Faarquad, it is yeah. Shouldn't be a big issue though, just means you can't get sawdust (I hope you can live with that until I update my mods for the new version of In Dappled Groves)
Newest patch is throwing an error in the server-main log
[Error] Exception: Sequence contains no matching element
at System.Linq.ThrowHelper.ThrowNoMatchException()
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
at WearAndTear.Code.WearAndTearModSystem.Start(ICoreAPI api) in D:\Modding\VintageStory\WearAndTear\WearAndTear\Code\WearAndTearModSystem.cs:line 95
[Warning] Failed to do compatibility patches between WearAndTear and InDappledGroves
My guess is it has to do with the new In Dappled Groves update that just released (it also split some features from the original into a separate standalone mod)
oneil, no you'll see it in Multiplayer. MP stands for Mechanical Powered blocks (like axles that rotate)
TheInsanityGod I've been meaning to dip my toes a bit more into modding here so I'll take a crack at that myself (if necessary). Thanks for the info!
Novalee, asside from the `generator` and `motor` the electrical blocks aren't even considered to be mechanical powered blocks by the game in the first place :P
but no it doesn't apply to the electricity mod and there is no whitelist in the config (though it would be relatively easy for another modder to create some patch files to add my behaviors to those blocks)
Does this apply to parts from the Electricity mod? I'm unsure if those fall under "most other mods that add mechanical devices." If not is there some sort of whitelist in the config I could use to apply it to them?
1.2 adds durability for molds? Oh my, that is a devious and honestly inspired addition. Fantastic work, cheers brother.
Oh cool, appreciate it.. yeah i do know its not so standard, however neither is 1meter thick walls and filling up 1 meter squares with axles.. lol. I appreciate it and i like the when it wears out replace it with these items, one and done useages. Thanks
Now there is 'Axle in Blocks' compatibility. They last longer (because they are encased) but you can't do maintenance on them (because they are you know encased)
Though for as far as I know this (embedding wooden axles in a wall/floor) is something rarely ever done in reality (as this comes with a lot of challanges especially when it comes to wear and maintenance)
bringitonwimps, I'll see if I can create some compatibility that I find to reasonable.
If you wish to make my mod ignore certain blocks, you simply need to change the config. (There is a mod blacklist in the config)
is it possible to add compatibility for axles in blocks if it doesnt exist yet?.. its nice to make my axles more aesthetic but i dont want the blocks to be broken and just better with no wear.
TheInsanityGod - Oh no, this is for an upcoming mod. However, I have been going back and forth on adding sawdust and wood chips to In Dappled Groves. It's one of those tricky questions of scope and application of resources. If I do add sawdust and wood chips to IDG, I'll handle the compact there. Presently, I'm more concerned about Where Spores Drift, which is still in development.
Vinter_Nacht Actually I already added some compatibility to your mod lol (though that was for 1.19.8, prob needs some updating for 1.20) but feel free to move compatibility code over to your mod
TheInsanityGod
- Oh boy... I mean, that's able to be overcome, but you also added Sawdust? That's something for me to work compatibility for.
"Sawdust can now be used for jackscomposting"
Neat!
Vinter_Nacht, Metal reinforcements already care about the material. As for wood probably not any time soon (Would then also be a vanilla variant only addition as vanilla sadly doesn't really care about the wood used in building them either)
This is a wonderful thing you've achieved here. Do you intend to make it care about materials? It would be wonderful to have a reason to care about growing Oak, and to retrieving Ebony from the far south.
Turned out to be an Issue with the working of AppDomain.CurrentDomain.GetAssemblies() on linux, new version has fix.
Going to check/fix my other mods tomorrow.
UA_Shaman, there should be an earlier exception/warning as this warning can only happen if an exception occured while starting the mod (or if some other mod is messing with the class registry, which I can't check without the actual mod list).
TheInsanityGod
Pay attention to the console when testing the mod, whether you have errors related to
game:woodentoggle-ns
game:woodentoggle-we
game:woodenaxle-we
game:woodenaxle-ns
On our server after installing the mod, the console gives errors:
18.1.2025 07:25:04 [Server Warning] The entity behavior of the WearAndTear block for the block game:woodenaxle-ns is not found
18.1.2025 07:25:04 [Server Warning] The entity behavior of the WearAndTearPart block for the block game:woodenaxle-ns is not found
18.1.2025 07:25:04 [Server Warning] The entity behavior of the WearAndTearOptionalProtectivePart block for the block game:woodenaxle-ns is not found
18.1.2025 07:25:04 [Server Warning] The entity behavior of the WearAndTear block for the block game:woodentoggle-ns is not found
18.1.2025 07:25:04 [Server Warning] The entity behavior of the WearAndTearPart block for the block game:woodentoggle-ns is not found
18.1.2025 07:25:04 [Server Warning] The entity behavior of the block WearAndTearOptionalProtectivePart for the block game:woodentoggle-ns is not found
18.1.2025 07:25:04 [Server Warning] The entity behavior of the block WearAndTear for the block game:woodenaxle-we is not found
18.1.2025 07:25:04 [Server Warning] The entity behavior of the block WearAndTearPart for the block game:woodenaxle-we is not found
18.1.2025 07:25:04 [Server Warning] The entity behavior of the block WearAndTearOptionalProtectivePart for the block game:woodenaxle-we is not found
18.1.2025 07:25:04 [Server Warning] The entity behavior of the block WearAndTear for the block game:woodenaxle-we is not found
18.1.2025 07:25:04 [Server Warning] The entity behavior of the block WearAndTear for the block game:woodenaxle-we is not found
18.1.2025 07:25:04 [Server Warning] The entity behavior of the block WearAndTearPart for the block game:woodentoggle-we is not found
18.1.2025 07:25:04 [Server Warning] The entity behavior of the block WearAndTearOptionalProtectivePart for the block game:woodentoggle-we is not found
Well I think the culprit was expanded foods. I added it and after updating to rc9 i had to remove it and in between that and adding wildcraft nuts and berries this issue popped up. The weird thing is 2 of my pieces are accurate and everyone else on the server is fine as well. Just my stuff and every piece is the same except the 3 at 98%
bizarre but if it happens again or with any better info to track ill share it with you.
Thanks and love the mod.
Thank you for reporting this issue bringitonwimps, considering that number can only happen if Durability is NaN (not a number), some durability calculation must have gone awry. I was however unable to reproduce this issue.
Could you provide some more information:
so all my parts say they are at -2147483648% and i cant seam to be able to repair anything... but also it was at like 95% just a few days ago in game
CKitt, well you don't have to look there anymore for my mod, atleast not if you are using the newest version of Auto Config Lib (another one of my mods)
Thank you! I never would have thought to look for explanations in the source code, so I sincerely appreciate you pointing out where to find it.
CKitt, config is documented inside the github code: https://github.com/InsanityGod/WearAndTear/blob/master/WearAndTear/Config/ModConfig.cs (you might have to search a bit between the different classes in the config folder)
Looking there would give you the following explenations:
DurabilityLeeway:
Until which point you don't actually lose any items if you where to break the block without first repairing.
(Reading this now I realise I should probably change this into the following: "Until which point item/block is still considered to be fully repaired when broken (this affects whether the block is dropped with durability or if the item is broken into ingredients)")
RoomExitCountLeeway:
Leeway for considering something as Sheltered.
Setting this higher means that you can build larger tunnels and still having it be considered sheltered.
Setting this to -1 will make everything be considered outside
(essentially the game always returns a "room" for a given position, but this room has an ExitCount which is how many times it reached the end of the search range. With the default value of 18 you could make a 3 by 3 tunnel and have the space inside be considered Sheltered)
DurabilityEfficiencyRatio:
How the missing durability translates itself into loss in efficiency
0 meaning no loss even when fully broken, 1 means it will stop working altogether when fully broken
(Currently only sails actually use the efficiency value)
I am honestly bewildered by what the various settings do in the config file. For example, DurabilityLeeway, RoomExitCountLeeway, and DurabilityEfficiencyRatio.
What do those mean?
@TheInsanityGod I noticed that the fraime of the pounder has durability, so maybe it helps with that. You could also that axle stability idea.
The basic idea is that machines will fall apart from all the shaking and whatnot, so adding additional supports should increase the durability.
BobEdJones, I'm not quite sure how you envision adding more wood to wood would help in reducing the speed at which said wood decays. Or is this supposed to be a new kind of damage that comes from lacking propper support? Like for instance a wooden axle breaking faster if is going through the air for a long distance without support?
One idea I had for something like this is attaching wooden beams would increase the integrity of certain things.
I intend to once the stable release comes out yeah.
Will this be updated to 1.20?
The mod is not the issue, but how the implementation can affect the players. But yes, it's quite a redundant downside when you have a steady supply of materials. I just don't find turtling my base appealing when everything I have to keep on track like how a mod that includes waterwheels and has durability, which can be quite annoying, specially when it comes to the price.
No hate for the mod, I just wanted to explain why we can't have nice things sometimes.
There is a certain balance a mod like this would need to find to attract both casual and serious gamers to the same server with this kind of mod installed. The concept fascinates me incredibly, though I can see the trap such a mod would impose on a game where it would in the latter stages possibly devolve into a "maintenance" nightmare. To avoid this, I hope there will be a config file allowing for rates of wear and tear (entropy?) to be easily tweakable, among other things, and also allow for more advanced parts and lubricants that can extend durability and reduce maintenance cycles.
Thanks for adding this mod. I seriously plan to checking it out when it comes to 1.20! Peace! <><
TheInsanityGod
I'm one of those that would throughly enjoy having maintenance on pretty much everything that should realistically need maintenance. And yes, largely because I am wanting to build just the sort of community to which you referred in your response to Ruyeex. Maintenance reigns in runaway expansion on a server, and limits building to what a player is willing and able to keep up with. Communities working together can accomplish more when working together. Division of labor emerges, along with jobs and roles in a community aimed at providing what is needed.
To me, vanilla Vintage Story feels like a semi-creative mode. Deeper, more immersive processes along with having to maintain what you've built (the things that should require maintenance to repair wear and tear), are very much lacking in the base game.
Very much appreciating this mod, and hoping you'll expand on it!
Considering Vintage Story is heavily inspired by natural processes of the real world, I'd say this kinda mechanism would fit in quite well with the intended direction of the game.
You can't please everyone, because If there are people who love it, there will be people who hate it. which is why this is really just a case of: Will we need a mod to add the feature? Or will we need a mod to remove the feature?
Also Ruyeex, yes there are people who want to have to maintain everything, especially on multiplayer servers where people want to band together into a community (you know the kind where people aren't just all doing every type of taks on their own but instead come together to form towns and each takeup their own respective roles)
CKitt It would be annoying to the average player since games are build on abstraction point which is it can favor realism but not reality. Unless it's on simulations which is reasonable, but nobody wants to maintain everything specially on multiplayer servers. It can be solved with brakes, even with maintenance on brakes it still can a nuance.
It should be as a mod like on Factorio some people despise spoilage or even certain mechanics of the game.
Excited for this sort of mod content! Game needs more features like this. Hopeful you can update this to 1.20 once a stable release comes out!
Shinji170981 I'm not particularly knowledgeable on this topic but from what I've gathered so far it seem that for the kind of wooden peg gears we have in this game waxing is actually far more important (especially when it comes to increasing lifespan outside) then lubrication. So I'll probably look into adding waxing rather then lubrication. (This will also make beewax more usefull, hooray)
I absolutely adore this idea! It's such an obvious good idea I'm left thinking "why isn't this already in the base game?"
Well done!
DanaCraluminum Thanks for pointing that out, now those are also supported.
TheInsanityGod My Vanilla Variants mod also adds windmill rotor anmd helve hammer from wildcrafttree wood types, but under another domain, you may want to include those too
Maybe the gears could wear out, because the teeth on them grind down over time and this could be done with like using fat or oil to lubricate the gears and that way they would stay in good condition. Obviously it should have some durability modifier, so people can adjust it to their liking. Especially when you have underground mechanics, itwould be very annoying to open up holes all over the place, just to find the faulty part.