Mods / Unofficial Bugfixes
- Tags:
- Author:
- lazula
- Side:
- Both
- Created:
- Jun 23rd 2025 at 1:30 AM
- Last modified:
- May 5th at 9:39 AM
- Downloads:
- 4188
-
Latest release (for Vintage Story 1.22.0 - 1.22.2, potentially outdated):
unofficialbugfix_0.1.2.zip 1-click install
The patch list is currently very short. If you are upgrading from 1.21.6, all of the patches that have been removed are now part of the base game, and this mod is only needed for those listed below.
This mod exists to allow any contributions I make to the game to be available publicly before they're part of an official release. This mod is inherently very intrusive into the parts of the base game that it touches and may not be compatible with other mods. New patches will be available for the most recent release. They may still work on older versions, but no guarantees.
If this mod has compatibility issues, feel free to ask for a fix. Currently, if the patch is in code, I will likely only be able to do this by disabling it entirely, but I will make an attempt to add functional compatibility. If you are a modder and want to provide your own compatibility, be aware that I use both JSON patches and Harmony. The comments in the source contain technical details and may help identify potential problems. You may reuse my code as long as you adhere to the GPL-3.0 license.
Currently contains the following patches:
- Fix not being able to place wrenches in the forge.
- Fix golden takins having a 20% chance to break reed basket trap instead of the intended 40%.
- Fix canceling usage of a healing item slightly before completion using 2 items (still uses 1).[1]
- Add a missing language entry for candles placed on fences.
[1] Note for coders: Fixing this bug entirely with a mod would require modifying decompiled engine code. It is due to a fundamental disparity in OnHeldInteractStep continuing on the server side for ~0.3 seconds after the client calls OnHeldInteractCancel. This issue affects all interaction code. The server always has a secondsUsed value of ~0.3 seconds more than the client inside OnHeldInteractStop if it was caused by OnHeldInteractCancel.
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 0.1.2 | unofficialbugfix | 652 | May 5th at 9:39 AM | unofficialbugfix_0.1.2.zip | 1-click install | ||
| |||||||
| 0.1.1 | unofficialbugfix | 92 | May 2nd at 9:48 AM | unofficialbugfix_0.1.1.zip | 1-click install | ||
| |||||||
| 0.1.0 | unofficialbugfix | 41 | Apr 30th at 9:26 PM | unofficialbugfix_0.1.0.zip | 1-click install | ||
| |||||||
| 0.0.19 | unofficialbugfix | 115 | Apr 15th at 11:54 PM | unofficialbugfix_0.0.19.zip | 1-click install | ||
| |||||||
| 0.0.18 | unofficialbugfix | 304 | Mar 16th at 4:29 PM | unofficialbugfix_0.0.18.zip | 1-click install | ||
| |||||||
| 0.0.17 | unofficialbugfix | 583 | Mar 2nd at 11:51 AM | unofficialbugfix_0.0.17.zip | 1-click install | ||
| |||||||
| 0.0.16 | unofficialbugfix | 86 | Mar 2nd at 12:13 AM | unofficialbugfix_0.0.16.zip | 1-click install | ||
| |||||||
| 0.0.15 | unofficialbugfix | 260 | Feb 25th at 5:45 AM | unofficialbugfix_0.0.15.zip | 1-click install | ||
|
Fix: Transition state update patch was missing code to remove recipe attributes when cooking outputs were not meals, causing them to be treated as invalid meals. | |||||||
| 0.0.14 | unofficialbugfix | 159 | Feb 23rd at 2:00 PM | unofficialbugfix_0.0.14.zip | 1-click install | ||
|
Fix a potential divide by zero if something tries to move less than an item's worth of liquid into an empty container. | |||||||
| 0.0.13 | unofficialbugfix | 227 | Feb 18th at 1:46 AM | unofficialbugfix_0.0.13.zip | 1-click install | ||
| |||||||
| 0.0.12 | unofficialbugfix | 347 | Feb 14th at 10:53 PM | unofficialbugfix_0.0.12.zip | 1-click install | ||
| |||||||
| 0.0.11 | unofficialbugfix | 294 | Feb 11th at 8:16 AM | unofficialbugfix_0.0.11.zip | 1-click install | ||
| |||||||
| 0.0.10 | unofficialbugfix | 94 | Feb 8th at 6:31 PM | unofficialbugfix_0.0.10.zip | 1-click install | ||
| |||||||
| 0.0.9 | unofficialbugfix | 75 | Feb 5th at 1:34 AM | unofficialbugfix_0.0.9.zip | 1-click install | ||
|
Corrected approach to calling a base class method in Harmony | |||||||
| 0.0.8 | unofficialbugfix | Feb 4th at 11:38 PM | 1-click install | ||||
| |||||||
| 0.0.7 | unofficialbugfix | Feb 4th at 6:05 AM | 1-click install | ||||
| |||||||
| 0.0.6 | unofficialbugfix | 158 | Dec 24th 2025 at 2:54 AM | unofficialbugfix_0.0.6.zip | 1-click install | ||
|
Reed roots being collectable by hands once harvested was intended behavior. | |||||||
| 0.0.5 | unofficialbugfix | 157 | Nov 29th 2025 at 8:18 AM | unofficialbugfix_0.0.5.zip | 1-click install | ||
|
Hotfix: Account for a bug where some meals are incorrectly created with ingredient stack sizes of 0, which caused nutrition numbers to be displayed as 0. | |||||||
| 0.0.4 | unofficialbugfix | 99 | Nov 26th 2025 at 11:37 PM | Empty | unofficialbugfix_0.0.4.zip | 1-click install | |
| 0.0.3 | unofficialbugfix | 157 | Nov 7th 2025 at 5:18 AM | unofficialbugfix_0.0.3.zip | 1-click install | ||
|
Fix 5 bugs in 1.21.5 | |||||||
| 0.0.2 | unofficialbugfix | 138 | Jul 2nd 2025 at 9:43 PM | unofficialbugfix_0.0.2.zip | 1-click install | ||
|
Fix IAnimalFoodSource.IsSuitableFor | |||||||
| 0.0.1 | unofficialbugfix | 119 | Jun 23rd 2025 at 1:35 AM | unofficialbugfix_0.0.1.zip | 1-click install | ||
|
Fix BETrough.GetBlockInfo | |||||||
nice. ty for the clear info and working on the mod
lazula Clouds disappearing has been extremely annoying to deal with for the longest time, so I must thank you for your work tremendously.
DonaldRTS Added to the new 0.0.19 release. Thank you for your suggestion.
lazula I am wondering if you could possibly backport the fix for clouds disappearing after you sleep. 1.22 has this fix, but I would love to have it in 1.21.6.
For reference, check the second to last comment on the issue.
https://github.com/anegostudios/VintageStory-Issues/issues/2880
LycanBlackpaw Thank you for letting me know. It's been fixed in 0.0.18. I had to experiment to get the repairing to work how I wanted and made a mistake in the final version. That was my first time working with JSON content instead of code, so now that I'm more comfortable with it I've changed it to work in a more cohesive way that works as intended.
So I think I've spotted a bug with this mod related to the bear hide armor. It completely changes the recipe for the helmet, making it identical to the body armor, but specifically requiring the hide to have a head attached. The body still tries to use both, but crafting it with the head attached always results in a helmet.
However, in vanilla, the helmet recipe is only two bones, a rope, and the cut off head from the hide; with this mod installed, you still have to cut off the head to make the body, but the head itself becomes useless.
Considering the two recipes with the mod are identical, this seems like an oversight in adding the repair recipes?
As for 4 liters, this is indeed information that I have not seen anywhere else. Although I just looked it up, and the official wiki says that the minimum batch is 5 liters of juice. That is, 16 berries. So, I guess we should add this information (for example, to the internal wiki, in the sections about fruit presses, wet pulp, or juice).
About bugs. I encountered a bug, but now I don't know if it still exists or has been fixed. If you make a pit for burning glazed molds, put an unburned mold, grass, sticks, and peat and set it on fire, then if it suddenly rains, the fire seems to go out, but the progress meter does not reset, it reaches zero and goes into negative values. At first, I couldn't understand why this was happening for a long time. Now I make a “roof” out of any solid block on top of one air block.
ChimMAG Thank you! I went ahead and swapped the elk strings to the current existing translations for consistency because they already exist for males and are just missing for females. If you think your translation is better, please contribute that to the official crowdin. I don't know the exact process, but if it gets accepted I'll copy it here and replace the originals. You also encouraged me to figure out how to automate copying existing strings for every language when necessary.
About the fruitpress, I've had that first bug happen to me too. I haven't looked into exactly how to reproduce it but I plan to eventually. The second is that there's a requirement that the total output amount for the mash needs to be greater than 4 liters. As far as I know, the game doesn't say that anywhere but it's intended.
ChimMAG I can confirm the bug #1, but the second one is an intended mechanic I think: to squeeze something in the press you need to have enough volume for the pressing surface to reach it, which is at least half 0.4 of a full batch. (edit: corrected the amount).
I made a Russian translation.
There are a couple more bugs related to the fruit press. I'm not sure if all of them can be reproduced or fixed, but still.
Bug 1. Sometimes, after pressing and draining the juice, I press the upper handle to lift it, after which it would normally be possible to remove the dry pressed berry mass, but instead of the animation of the screw unscrewing more slowly, it instantly ends up in the upper position and the product cannot be removed. I have to screw it back in and try to unscrew it with the animation. But sometimes it works right away.
Bug #2. There seems to be a correlation with the amount of berries loaded. That is, if the press is completely filled (32 berries), there is no bug, but if it is not completely filled, it sometimes happens, but I have not found a strict correlation. The essence of the bug is that I partially fill the press with berries, but I cannot squeeze them. That is, I turn the press screw, but no squeezing occurs. There is a wet berry mass in the press, which can be removed and put back in, but nothing else can be done with it.
omg thank you so much for patching this so fast! I noticed that if you clean the pot in water that fixed it, but updated to newest version so probably gonna be good then!
Thank you so much for all of these! :D
cwan Thank you for your report. The issue has been fixed in 0.0.15.
Apparently, I hadn't noticed that there was code I didn't copy over about removing recipe attributes from the items in the transition state update that was actually necessary for when a cooking output isn't a meal, such as HoD water, or vaniilla's pitch glue. So, the game was trying to treat the boiled water like a meal with a recipe code since that's expected to be present by default and manually removed by the transition update.
With Expanded Foods and Hydrate or Diedrate there seems to be a bug when boiling water with a cooking pot in the firepit. The pot gets converted into "Dark brown ceramic pot of mealrecipe--name-in-container" and the top 4 ingredient slots in the firepit disappear. When I save & quit, disable this mod, and rejoin the world again, the firepit contains a pot with the correct amount of boiled water.
Crater7 Thank you very much for the detailed report! I've just uploaded 0.0.14 to fix the problem and updated the patch I submitted to the developers. The problem was that I didn't account for the possibility of something trying to move 0 litres into an empty container and there's some weirdness in the fruitpress code where it can try to do that.
The amount of juice left is stored as a JSON attribute. Mash becomes dry once it has less than 0.01 liters in it. If you stop juicing at the right time, you can get dry mash that actually still has a tiny (~10^-7) amount of juice left. If you empty the container and put it back in, then try to juice this "dry" mash, it will keep trying to move this tiny amount into the empty container. Normally, pressing dry mash doesn't do anything since it has the correct 0 litres remaining. However, since a liquid amount is present, but smaller than one discrete item based on the number of items per liter, it will try to move 0 items into the empty container. Then, since both amounts are 0, averaging the freshness values over them results in NaN. It will keep doing this until you unscrew it or take the container out because it will never succeed in getting rid of its residual liquid.
Haven't been able to reproduce this consistently, but I'm suspecting that the some of the changes to the liquid spoilage may be causing/caused some issues with the juicer.
Basically, while juicing cranberries I received a bucket of juice with "NaN" (not a number) as the spoilage value. Knowing what it means I figured it was just a one-off mod issue and that I'd avoid it getting into my barrel of juice by drinking it. As soon as I started to drink it, crashed to desktop with the following:
This crash occured every time I tried to rejoin my server, and I had to delete my player data entirely in order to be able to rejoin. While I posted a warning about it in my server's Discord, another user managed to miss the warning and did pretty much the exact same thing and I had to delete his player data as well.
The only reason I suspect this mod is that it's the only one in my lineup that I can see that touches food spoilage or vanilla fluid container behavior (after even delving into sources on Github, looking for rogue harmony patches, thinking about the usual suspects, etc). There's Expanded Cooking/Culinary Artillery, but 1) that combo is popular enough that there'd be mention of this issue on their Discord, the official VS Discord, or in their mod's comments, and 2) I couldn't see anything in their repo(s) that would necessarily affect juice/buckets/etc. or vanilla juice spoilage rates I think.
Could be an interaction with something they're doing with this mod's changes (or another one of my mods, although my list is fairly tight and tries to avoid touching vanilla mechanics).
Occurred while using 0.11 so it might have been fixed by the changes in 0.12/0.13, assuming it was even your mod that caused it, but hard to tell since I couldn't get it to pop again.
Sorry that I'm not able to reproduce it consistently so it might not even be your mod's fault, just after all my digging this seemed like the most likely culprit, so I figured I would post it here just in case since it's a pretty debilitating issue. The fact that I couldn't find any posts encountering similar behavior (here on the VS site, Reddit, Discord, googling around, etc.) lead me to believe it has to be a lesser used mod causing it, and while I believe your mod is underrated, it definitely fits being the cause more than any other in my list (as far as I figure it at least, as an experienced programmer, but with little experience with VS modding so take that with a grain of salt).
Strongecko Thanks for letting me know! Forgot to deselect prerelease compatibility for the 0.0.12 upload, so it was being prioritized.
Hey just letting you know the mod page is still recommending version 0.0.12 as the latest version instead of 0.0.13.
Hi lazula, thank you so much for your work on this! I was curious if you had any interest in compatibility patches/bugfixes for other mods and not just the base game?
You are amazing lazula, thank you for the response on the question I had, I really appreciate it and the hard work you're putting into porting these fixes from 1.22 to 1.21.6! :D
Hey everyone, I sincerely apologize for the meal drying confusion. I thought I had correctly tested it, but it turned out that most of those tests were before finding and fixing the display bug, so they weren't accurately showing the behavior. I've done extensive retesting to make sure it functions properly in 0.0.13!
Politehnik 0.0.13 also includes a fix for that. The code to fix not being able to shift+rmb liquid containers didn't account for ground storage.
Hi, it seems for some reason I can't put jugs with water on the ground, it plays a drinking animation instead. Empty jugs are ground storable. If there's already a jug on the ground I can put a jug with water on the same block. I'm not sure which fix broke it but removing the mod fixes the issue.
I'm on version 0.11 and using expanded foods 2.0.0. My food is still converting to aged meats while in crocks. My game version is 1.21.6
I'm not using the other mod associated with fixing this specific bug.
wojtek16 Any currently-existing meals will have the fix applied. The only thing it can't do is reverse it if an ingredient already completely dried out.
Also, I accidentally left out a fix for non-perish timers still being displayed even though they were correctly being stopped from advancing. This has been fixed in 0.0.12.
For bug fix 24, does it only impact new meals? I just wanted to check for my future crock meals, thank you for all of these fixes!
Desolae It's both server and client side, so players will automatically download it when they join.
Thank you!!!! Also I couldn't tell by looking at the modinfo.json - is this a server-side only mod? Or do I put it on my multiplayer server and anyone who connects will download it automatically?
Desolae 0.0.11 includes a backport of this patch. I copied the existing code over and added my own fix for the prerelease bug that causes all meals to always display full freshness. I've submitted that fix to the developers so it should be in a prerelease soon.
Should be fine with other mods as long as they use normal meal container types. I'm not familiar with those food mods so I don't know of edge cases to test out, but I tried it with them just putting redmeat in a meal and it seems to work.
I hear there's a bug with cassava continuing to dry even after being put in a meal (being fixed in 1.22) - any chance you could add that one here? It's causing problems in 1.21 food mods with aged meat mechanics (ACA/EF) and I have a small kernel of hope that all those could be fixed if just the 1.22 cassava drying fix was imported back to 1.21.
Thank you very much, I will test it. So it wasn't a waste of time to spend quite a lot of time identifying this incompatibility! 👍
ChimMAG The new release 0.0.10 disables the freshness carryover for baking in clay ovens (currently patch #3 in the mod description) when XSkills is enabled, so baking will go back to making completely fresh items, but everything else should work as expected. Please report any other problems you notice. I will continue supporting 1.21.6 until the full release of 1.22. (edit: wrote .5 instead of .6)
Without the UnOfficial mod, but with these mods, there is no bug.
With the UnOfficial mod, but without these mods, there is no bug either.
The bug only occurs when both UnOfficial and xLib/xSkill are present at the same time.
P.S. ConfigLib can be removed from the list, as it does not cause the bug.
ChimMAG do those libraries still cause the bug when they are enabled by themselves or are they simply required by other mods that cause the bug?
Using the same binary method, I found five mods (not counting yours) that cause this bug. These five mods are related to each other. Here is the list:
The direct download links are missing; the latest available version is 0.0.6. Currently, only “1-click-install” is available.
ChimMAG Yes, I will need a full list to see which mod causes the issue. I tried checking with the mods listed on your forum post and couldn't reproduce it. Please provide the full list inside a spoiler tag so that the comment isn't excessively long and I will check, or do the binary search again but leave this mod on the whole time and tell me which one is causing the problem.
Yes, I have a total of 88 mods. I searched using the “binary method,” that is, I removed half of the mods at each stage. This is how I determined that the bug disappears when your mod is not present, and that it is the only one responsible for this. I agree that it is very likely that the issue is related to mod compatibility. I can provide a complete list of mods in the build.
ChimMAG I have not made any changes related to how items in ovens heat up. I'm assuming by "process of elimination" you mean that you removed individual mods until it worked correctly? It doesnt occur with my mod alone, so this is a compatibility issue which I will investigate rather than a bug in my own mod. As said in the description, compatibility will be spotty because of how intrusive my changes have to be, but I'll see what I can do for this.
The problem with the clay oven: I put four pieces of dough in it, all four items heat up to 95-85 degrees, and then the heating stops (I assume this is because the first piece of dough placed in the oven exceeds 100 degrees). Only this first piece of dough turns into bread, while the rest remain slightly heated and that's it. The first piece may char, but the remaining three will still be dough. In fact, the oven's capacity for baking bread has decreased fourfold.
Here is my thread from the official forum, where you can also find a screenshot of the problem.
By process of elimination, I found that this bug is caused by this mod. For now, I have removed it from the build.
will this work in 20.12 if I change the version dependency?