Vintage Story Mod DB · Vintage Story mod
kris-patch-fruittree
A fix for a base game bug with fruit tree cuttings. It shows up on servers that add extra fruit trees, such as Wildcraft: Fruits and Nuts. What it fixes A fruit tree cutting remembers which kind of tree it is meant to grow into. It is possible to end up hold
Quick answer
Which kris-patch-fruittree release should I use?
kris-patch-fruittree 1.1.1 targets 1.22.2, 1.22.3, 1.22.4. It must be installed on the client. Installation on the dedicated server is optional. No extra mods listed for this file.
Where it goes
Is kris-patch-fruittree required on the client, server, or both?
It must be installed on the client. Installation on the dedicated server is optional.
This release supports both sides, but the source does not require it on the server.
What else does kris-patch-fruittree 1.1.1 need?
1.1.1. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add kris-patch-fruittree without breaking your instance.
Built for kris-patch-fruittree 1.1.1. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use 1.1.1. It targets 1.22.2, 1.22.3, 1.22.4; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
It must be installed on the client. Installation on the dedicated server is optional.
- 04
Pick the file you checked
Use the “Get this file” button beside 1.1.1. It opens that exact file at the source.
About this project
What does kris-patch-fruittree add?
A fix for a base game bug with fruit tree cuttings. It shows up on servers that add extra fruit trees, such as Wildcraft: Fruits and Nuts.
What it fixes
A fruit tree cutting remembers which kind of tree it is meant to grow into. It is possible to end up holding a cutting that is labelled with a tree type its own block has never heard of, for example a base game cutting labelled "crabapple", which is a Wildcraft tree. The game never checks that the two agree, and when they do not, three things go wrong:
- The cutting never grows. Plant it and it simply sits there forever. It cannot take root, it cannot be grafted, and it cannot even die off the way a failed cutting normally would.
- The server log fills up. The stuck cutting throws an error every twenty seconds, for as long as anyone is nearby, for as long as the cutting exists. Six of them produced 4426 errors in about two minutes. Left alone this bloats the log file and wastes disk space.
- Trying to break it crashes your game. This is the serious one, and it hits the player rather than the server: the game closes to the desktop. Worse, the crash happens before the block is removed, so the cutting is still standing there when you come back, and trying again just crashes you again. Harvesting one has the same problem.
This patch does three things:
- It stops new bad cuttings from ever being planted. If you plant a cutting whose tree type belongs to another mod, it now quietly places that mod's block instead of the wrong one, so you get the tree you were expecting.
- It repairs the ones already in your world. Any stuck cutting is swapped over to the correct block within about twenty seconds of someone coming near it, and then carries on growing normally, as the tree it was always supposed to be.
- It adds a safety net so nothing can crash. Breaking or harvesting a bad cutting now works instead of closing your game.
Do you need it?
Install it if your server adds fruit trees from another mod and you are seeing either of these: repeated server errors mentioning "fruittree-cutting" and "was not present in the dictionary", or players crashing to desktop when they try to break a fruit tree cutting that refuses to grow.
How to install
- Put the mod file in your server's Mods folder.
- Restart the server.
No configuration needed.
Requirements
- Vintage Story 1.22 or newer
- No mod requirement. This fixes the base game, so it works on any server. If you have no fruit tree mods at all, it simply never does anything.
- Works alongside XSkills. Its orchard harvesting bonus repeats the same mistake, and the same safety net covers it.
Good to know
- It does change your world, in one specific way. Repairing a stuck cutting means swapping it to the correct mod's block. That change is saved and stays put if you later remove the patch, which is fine, because it is the block that cutting should have been from the start. Nothing else in your save is touched.
- Healthy fruit trees are completely unaffected. The patch checks each one and steps aside; it does nothing at all unless something is actually broken.
- A repaired cutting dying is normal, not a failure. Every fruit tree cutting in the game, base game or modded, has roughly a 40% chance to take root and a 60% chance to wither. Plant a few if you are testing.
- If a cutting is labelled with a tree type that no installed mod knows about, it cannot be repaired, because there is nothing to repair it into. It stops throwing errors, stops filling the log, and can be broken safely; just replace it by hand.
- Safe to remove once the base game fixes this properly. Nothing needs undoing.
- You can confirm it is working: the server log prints five lines beginning with "[kris-patch-fruittree]" at startup, and one line for every block it repairs.
Under the hood, for the curious
A cutting stores its tree type as an attribute on the item, and places whatever block the item happens to be. Nothing validates the pair, so a base game cutting can end up carrying a Wildcraft tree type.
The base game is then inconsistent about that state. The part that registers a tree type is tolerant: it logs "Missing fruitTreeProperties for dynamic tree of type X, will use default values" and substitutes defaults. That substitution makes the safety check at the top of the growth tick pass, and the code just past it then looks the tree type up in the block's own table without checking, and throws. The error never clears itself, because the two counters that would eventually retire the growth timer are only advanced after that lookup succeeds, so it retries every twenty seconds forever. Three other places do the same unchecked lookup: breaking, harvesting, and the client's particle effects.
The patch hooks placement to redirect the block, hooks the growth tick to rewrite blocks that are already wrong, and wraps the three crash sites so that this one specific error is absorbed rather than escaping into the game's rendering loop. The absorbing is deliberately narrow: only that error, and only when the tree type genuinely is unknown to the block, so real problems elsewhere still surface normally.
Rewriting a block keeps its saved data by re-creating the block entity and restoring its attributes. One subtlety worth recording: the game adds a fruit tree's growth behaviour in a half-initialised state on that path, expecting to finish the job a moment later during normal chunk loading. That does not happen here, so the patch finishes it explicitly. Without that step a repaired cutting looks correct in every way but silently never grows again.
Where the bad cuttings originally came from is still unknown. No mod on the server produces one, so they are treated as leftovers from an earlier mod setup.
Made by kristkos3. Tested against Wildcraft: Fruits and Nuts 1.4.72 on Vintage Story 1.22.3.
Project description from Vintage Story Mod DB.
Pick your setup
kris-patch-fruittree releases for each Vintage Story version.
Choose the version and loader you play, then open the matching release.
1.22.3
1 loader build1.22.2
1 loader buildCheck the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
kris-patch-fruittree versions and loaders
1.1.1
kris-patch-fruittree_v1.1.1.zip
26 Jul 2026
1.1.0
kris-patch-fruittree_v1.1.0.zip
26 Jul 2026
Looking for an older file? The official Vintage Story Mod DB project page is in Resources.