Mods / Wear And Tear

Tags: #QoL #Technology #Tweak
Author: TheInsanityGod
Side: Both
Created: Nov 26th 2024 at 12:43 PM
Last modified: 6 days ago
Downloads: 7416
Follow Unfollow 156

Recommended download (for Vintage Story v1.20.10):
wearandtear_1.5.2.zip  1-click install


Part based durability system with maintenance for blocks.

UPDATE NOTICE:

Configs have been split and moved to allow for propper synchronization of server configs (this means you'll have to redo config when updating)

Requires:

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:

Translation:

  • Polish by Pawelot
  • (Outdated) Ukrainian translation by UA_Shaman

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v1.5.2 176 6 days ago Show wearandtear_1.5.2.zip 1-click install
v1.5.1 82 May 12th at 5:44 PM Show wearandtear_1.5.1.zip 1-click install
v1.5.0 86 May 9th at 3:22 PM Show wearandtear_1.5.0.zip 1-click install
v1.4.2 815 Apr 6th at 9:13 AM Show wearandtear_1.4.2.zip 1-click install
v1.4.1 90 Apr 5th at 7:38 PM Show wearandtear_1.4.1.zip 1-click install
v1.4.0 41 Apr 5th at 5:38 PM Show wearandtear_1.4.0.zip 1-click install
v1.3.7 1929 Feb 18th at 6:45 PM Show wearandtear_1.3.7.zip 1-click install
v1.3.6 213 Feb 16th at 8:14 PM Show wearandtear_1.3.6.zip 1-click install
v1.3.5 761 Feb 12th at 9:42 PM Show wearandtear_1.3.5.zip 1-click install
v1.3.4 484 Feb 5th at 11:37 AM Show wearandtear_1.3.4.zip 1-click install
v1.3.3 135 Feb 3rd at 10:16 PM Show wearandtear_1.3.3.zip 1-click install
v1.3.2 134 Feb 2nd at 2:12 PM Show wearandtear_1.3.2.zip 1-click install
v1.3.1 354 Jan 31st at 8:14 PM Show wearandtear_1.3.1.zip 1-click install
v1.3.0 40 Jan 31st at 7:29 PM Show wearandtear_1.3.0.zip 1-click install
v1.2.2 342 Jan 28th at 6:13 PM Show wearandtear_1.2.2.zip 1-click install
v1.2.0 157 Jan 27th at 8:00 PM Show wearandtear_1.2.0.zip 1-click install
v1.1.6 288 Jan 22nd at 5:55 PM Show wearandtear_1.1.6.zip 1-click install
v1.1.5 238 Jan 18th at 9:58 PM Show wearandtear_1.1.5.zip 1-click install
v1.1.1 163 Jan 12th at 5:52 PM Show wearandtear_1.1.1.zip 1-click install
v1.1.0 316 Jan 4th at 9:27 PM Show wearandtear_1.1.0.zip 1-click install
v0.9.0 257 Dec 11th 2024 at 4:18 PM Show WearAndTear_0.9.0.zip 1-click install
v0.8.0 103 Dec 8th 2024 at 1:30 AM Show WearAndTear_0.8.0.zip 1-click install
v0.5.1 153 Nov 27th 2024 at 9:18 AM Show WearAndTear_0.5.1.zip 1-click install
v0.5.0 59 Nov 26th 2024 at 10:31 PM Show WearAndTear_0.5.0.zip 1-click install

98 Comments (oldest first | newest first)

💬 metasynthie, Apr 29th at 1:40 AM

@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!

💬 TheInsanityGod , Apr 28th at 8:27 PM

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)

💬 metasynthie, Apr 28th at 7:06 PM

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

💬 xCoiotex, Apr 11th at 9:02 PM

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

💬 TheInsanityGod , Apr 1st at 1:34 PM

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)

💬 chkdsk, Apr 1st at 5:32 AM

What requirements do we need to meet to have things like ingot molds be considered 'sheltered'? 

💬 TheInsanityGod , Mar 23rd at 7:24 PM

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

💬 Kelvall, Mar 23rd at 3:57 PM

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.

💬 TheInsanityGod , Mar 15th at 9:31 PM

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.

💬 ITSGIBBYnowNOW, Mar 15th at 4:42 PM

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

💬 PookieBunny, Mar 14th at 1:53 AM

Thank you!! Looking forward to the release ^-^

💬 TheInsanityGod , Mar 13th at 7:00 AM

Technically, I've already made compatibility for 'immersive wood sawing'... But it's been buried in the bigger release I'm working on.

💬 PookieBunny, Mar 13th at 5:00 AM

TheInsanityGod

Seconding the ask for compatibility with 'Immersive Wood Sawing' sawdust, it would be hugely appreciated

💬 Nyarc, Mar 12th at 2:53 PM

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.

💬 TheInsanityGod , Mar 10th at 6:43 PM

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?

💬 General_Kitten, Mar 9th at 3:11 PM

There seems to be an incompability with Linear power: applying wax tosawmill crashes the game.

💬 DecaByte, Mar 6th at 9:06 PM

TheInsanityGod Could you add compatibility with 'Immersive Wood Sawing' so that it drop sawdust?
Thank you.

💬 SiiMeR, Mar 4th at 9:04 PM

TIL! 

Thanks for entertaining my stupid thoughts :D 

💬 TheInsanityGod , Mar 4th at 8:57 PM

SiiMeR, there is something in the base game called a 'brake', which sounds exactly like what you are looking for...

💬 SiiMeR, Mar 4th at 8:04 PM

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. 

💬 Lightpowder, Mar 2nd at 4:40 PM

Thanks man!

💬 TheInsanityGod , Mar 2nd at 4:16 PM

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)

💬 Lightpowder, Mar 2nd at 4:00 PM

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

💬 TheInsanityGod , Mar 2nd at 9:12 AM

Dythanos, it's being worked on. (though it might take a while before it comes out, since I'm working on a larger update)

💬 Dythanos, Mar 1st at 6:02 PM

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!

💬 TheInsanityGod , Feb 22nd at 9:51 PM

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

💬 Songbirdy, Feb 21st at 6:13 PM

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.

💬 Lightpowder, Feb 21st at 1:36 PM

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.

💬 TheInsanityGod , Feb 20th at 10:01 PM

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)

💬 Lightpowder, Feb 20th at 8:55 PM

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

💬 TheInsanityGod , Feb 20th at 7:52 PM

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:

  • Are you using the latest version of XLib, XSkills and WearAndTear? if not try upgrading
  • Are there any exceptions/warning in the log files? if so please send them.
  • What mold where you looking at specifically?
💬 Lightpowder, Feb 20th at 6:53 PM

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.

💬 icesharkk, Feb 16th at 9:53 PM

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

💬 TheInsanityGod , Feb 16th at 8:21 PM

icesharkk, latest update should somewhat fix the issue.

💬 icesharkk, Feb 16th at 5:02 PM

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..

💬 TheInsanityGod , Feb 14th at 8:54 PM

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.

💬 Hazeron, Feb 14th at 8:39 PM

It's in the blacklist already. How do you regenerate a mod configuration? 

💬 TheInsanityGod , Feb 14th at 2:26 PM

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)

💬 Hazeron, Feb 14th at 2:08 PM

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.

💬 Hazeron, Feb 14th at 2:07 PM

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.

💬 TheInsanityGod , Feb 13th at 10:43 PM

Hazeron, thanks for reporting. The provided information wasn't enough to reproduce this issue, could you provide a bit more information?

  1. Are you talking about the powered mixing bowl or the normal mixing bowl? (if it is the latter you should regenerate config cause those are supposed to be blacklisted)
  2. Could you send me the log file (this should contain one or more errors/warnings)? the logs can be found at '%appdata%\VintagestoryData\Logs' (the important one being server-main.log)
💬 Hazeron, Feb 13th at 6:39 PM

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.

💬 Quaan, Feb 13th at 9:25 AM

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!

💬 icesharkk, Feb 12th at 7:50 PM

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.

💬 TheInsanityGod , Feb 12th at 5:50 PM

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)

💬 icesharkk, Feb 12th at 5:17 PM

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.

💬 TheInsanityGod , Feb 12th at 11:12 AM

bringitonwimps, it's partially compatible.

  • Auto Registry Parts: ✔️
  • Saw Durability*: ✔️
  • Sawdust: ❌

*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:

  • You won't see the WearAndTear information on the Sawmill since he doesn't call the base method
    (meaning behaviors are ignored)
  • Durability doesn't work on the Sawmill block because once again he doesn't call the base method
    (meaning behaviors are ignored)


I'll see if I can fix some of these later today.

💬 bringitonwimps, Feb 12th at 1:54 AM

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

💬 TheInsanityGod , Feb 3rd at 10:31 PM

bringitonwimps, seeing vanilla variants latest update it seems like it wasn't me this time :P
But thanks for letting me know anyway.

💬 bringitonwimps, Feb 3rd at 3:31 AM

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.

💬 bringitonwimps, Feb 3rd at 1:51 AM

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.

💬 bringitonwimps, Feb 3rd at 1:32 AM

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

💬 TheInsanityGod , Feb 2nd at 7:19 PM

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)

💬 Lord_Faarquad, Feb 2nd at 6:26 PM

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)

💬 TheInsanityGod , Jan 31st at 9:31 PM

oneil, no you'll see it in Multiplayer. MP stands for Mechanical Powered blocks (like axles that rotate)

💬 oneil, Jan 31st at 8:31 PM
  • Visual Tearing (disabled on MP blocks by default since they rotate and the tearing doesn't) Does this mean we wont see  the tears in multplayer ? thanks for the updates  !
💬 Novalee, Jan 31st at 2:41 PM

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!

💬 TheInsanityGod , Jan 29th at 4:55 PM

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)

💬 Novalee, Jan 29th at 6:25 AM

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?

💬 Sell, Jan 27th at 11:40 PM

1.2 adds durability for molds? Oh my, that is a devious and honestly inspired addition. Fantastic work, cheers brother.

💬 bringitonwimps, Jan 23rd at 3:38 AM

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

💬 TheInsanityGod , Jan 22nd at 6:01 PM

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)

💬 TheInsanityGod , Jan 22nd at 12:29 PM

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)

💬 TheInsanityGod , Jan 22nd at 12:00 PM

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)

💬 bringitonwimps, Jan 22nd at 4:13 AM

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.

💬 Vinter_Nacht, Jan 19th at 10:35 PM

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, Jan 19th at 10:33 PM
💬 TheInsanityGod , Jan 19th at 7:21 PM

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

💬 Vinter_Nacht, Jan 19th at 7:16 PM

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.

💬 JackRob, Jan 19th at 4:34 PM

"Sawdust can now be used for jackscomposting"

Neat!

💬 TheInsanityGod , Jan 19th at 1:32 PM

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)

💬 Vinter_Nacht, Jan 19th at 5:42 AM

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.

💬 TheInsanityGod , Jan 18th at 10:02 PM

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.

💬 TheInsanityGod , Jan 18th at 10:42 AM

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).

💬 UA_Shaman, Jan 18th at 7:41 AM

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

💬 bringitonwimps, Jan 17th at 1:58 AM

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.

💬 TheInsanityGod , Jan 16th at 6:24 PM

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:

  • What version of game & mod are you using?
  • Did this issue occur right after updating the mod?
  • Did you modify the config? (and if so could you the provide config file)
  • What other mods are you using? (My primary suspect would be a mod affecting the weather or more specifically the rainfall)
💬 bringitonwimps, Jan 16th at 2:30 AM

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

💬 TheInsanityGod , Jan 12th at 9:06 PM

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)

💬 CKitt, Jan 12th at 8:57 PM

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.

💬 TheInsanityGod , Jan 6th at 6:26 PM

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)

💬 CKitt, Jan 6th at 5:16 PM

I am honestly bewildered by what the various settings do in the config file. For example, DurabilityLeeway, RoomExitCountLeeway, and DurabilityEfficiencyRatio.

What do those mean?

💬 BobEdJones, Dec 17th 2024 at 5:04 AM

@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.

💬 TheInsanityGod , Dec 10th 2024 at 3:44 PM

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?

💬 BobEdJones, Dec 10th 2024 at 3:04 PM

One idea I had for something like this is attaching wooden beams would increase the integrity of certain things.

💬 TheInsanityGod , Dec 10th 2024 at 1:52 PM

I intend to once the stable release comes out yeah.

💬 propaneko, Dec 10th 2024 at 1:42 PM

Will this be updated to 1.20?

💬 Ruyeex, Dec 9th 2024 at 9:41 AM

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.

💬 DanekJovax, Dec 8th 2024 at 10:05 PM

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! <><

💬 Thalius, Dec 8th 2024 at 5:30 AM

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!

💬 TheInsanityGod , Nov 28th 2024 at 5:53 PM

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)

💬 Ruyeex, Nov 28th 2024 at 10:15 AM

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.

💬 Thalius, Nov 28th 2024 at 2:43 AM

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!

💬 TheInsanityGod , Nov 27th 2024 at 10:07 PM

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)

💬 CKitt, Nov 27th 2024 at 11:30 AM

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!

💬 TheInsanityGod , Nov 27th 2024 at 9:29 AM

DanaCraluminum Thanks for pointing that out, now those are also supported.

💬 DanaCraluminum, Nov 26th 2024 at 11:03 PM

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

💬 Shinji170981, Nov 26th 2024 at 10:45 PM

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.

 (edit comment delete)