Mods / Attribute Rendering Library
- Tags:
- Authors:
- DanaCraluminum, Moby_, nanotect, Maltiez, jayu, SaltyWater, TheInsanityGod, BowlSoldier
- Side:
- Both
- Created:
- Jul 26th 2025 at 2:33 PM
- Last modified:
- 3 days ago
- Downloads:
- 299287
- Follow Unfollow 2140
-
Recommended download (for Vintage Story 1.22.0 - 1.22.2):
AttributeRenderingLibrary-v3.1.4.zip 1-click install
I live in Ukraine and there is a war going on right now.
If you are enjoying my mods, you can support me on Patreon. Any help is appreciated!
Frequently Asked Questions
Q: What does it do?
A: The library implements highly optimized attribute-based variant system for rendering things. It is very efficient way to add thousands of variants for any item or block.
In the base game, when block/item adds insane variant combinations by using VariantGroups, it creates thousands of item IDs (1 item ID per variant).
Each block/item ID creates new instance which affects RAM a lot and with thousands of item IDs it can take up to 20-30 minutes to just load into a world.
By using this library, you can cut thousands of item IDs down into just 1-4 IDs per item!
Q: How will it help me?
A: Your mod would no longer take 20 minutes to load. You will be able to add infinitely more types than without it.
Q: Does it change any code in the api/vanilla?
A: It has a few Harmony patches to make some features work.
Click to see (bad) example JSON code
If your modded block/item looks like that, then you need to use this library in your mod as soon as possible!
"variantgroups": [
{ "code": "wood", "states": ["pine", "acacia", "birch", "baldcypress", "ebony", "kapok", "larch", "maple", "oak", "purpleheart", "redwood", "rottenebony", "walnut" ] },
{ "code": "metal", "states": ["copper", "iron", "steel", "tinbronze" ... ] },
{ "code": "glass", "states": ["red", "green", "yellow", "white", "black", "purple" ... ] },
{ "code": "color", "states": ["red", "green", "yellow", "white", "black", "purple" ... ] },
{ "code": "type", "states": ["a", "b", "c", "d", "e", "f", "g", "h" ... ] },
{ "code": "side", "states": ["left", "right", "up", "down" ] },
{ "code": "length", "states": ["1", "2", "3", "4", "5" ... ] },
{ "code": "width", "states": ["1", "2", "3", "4", "5" ... ] },
{ "code": "height", "states": ["1", "2", "3", "4", "5" ... ] },
{ "code": "capacity", "states": ["100", "50", "25", "10", "5", "2", "1" ... ] },
{ "code": "state", "states": ["dry", "raw", "burnt", "frozen", "disassembled", "assembled" ... ] }
],
Some mods that use this library:
- Aldi's and Salty's
- Backpacks
- Heraldry : Capes
- Dana Can Cook
- Draconis
- Fueled Wearable Lights
- Heraldry : Core
- Heraldry : Banners
- Mineral Jewelry
- Nid Plush
- NPCs
- Plushies
- Quivers And Sheaths
- Scoop of Jam
- Storage Options
- Tabards
- Tabletop Games
- Tabletop Games - Sequence
- Temporal Medallions
- Vanilla Variants - Riding Equipment
- Window Storage Lib
- Window Storage
- Vanilla Pane Storage
- Medieval Architecture
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 3.1.4 | attributerenderinglibrary | 4640 | 3 days ago | AttributeRenderingLibrary-v3.1.4.zip | 1-click install | ||
|
Fixed: Crash in JsonItemStack.FromBytes / ToBytes
Attribute patch fails are now logged as warnings instead of errors | |||||||
| 3.1.3 | attributerenderinglibrary | 7601 | May 7th at 7:14 PM | AttributeRenderingLibrary-v3.1.3.zip | 1-click install | ||
|
Should fix all bugs introduced in previous version (3.1.2) | |||||||
| 3.1.2 | attributerenderinglibrary | 378 | May 7th at 2:38 PM | Release Retracted | |||
Retraction Reason:breaks saves Changelog:Fixed: Crash in TryOrderBlockBehaviors | |||||||
| 3.1.1 | attributerenderinglibrary | 3353 | May 5th at 7:59 PM | AttributeRenderingLibrary-v3.1.1.zip | 1-click install | ||
|
Fixed: Rare crash in FindByVariant | |||||||
| 3.1.0 | attributerenderinglibrary | 14730 | Apr 23rd at 6:49 PM | AttributeRenderingLibrary-v3.1.0.zip | 1-click install | ||
|
Feature: Can now exclude stacks with specific attributes from handbook search by using | |||||||
| 3.0.1 | attributerenderinglibrary | 3860 | Apr 22nd at 1:48 PM | AttributeRenderingLibrary-v3.0.1.zip | 1-click install | ||
|
API Fixed: If tags were empty, the code didn't properly fallback to default tags, thus voiding tags completely | |||||||
| 3.0.0 | attributerenderinglibrary | 1531 | Apr 21st at 5:32 PM | AttributeRenderingLibrary-v3.0.0.zip | 1-click install | ||
|
Feature: Implemented TagsCombine | |||||||
| 3.0.0-pre.12 | attributerenderinglibrary | 610 | Apr 19th at 8:46 PM | AttributeRenderingLibrary-v3.0.0-pre.12.zip | 1-click install | ||
|
API Fixed: Not all things overridable | |||||||
| 3.0.0-pre.11 | attributerenderinglibrary | 1082 | Apr 12th at 10:22 AM | AttributeRenderingLibrary-v3.0.0-pre.11.zip | 1-click install | ||
|
Fixed: Shape overlays didn't check if they are null before they are tessellated | |||||||
| 3.0.0-pre.10 | attributerenderinglibrary | 765 | Apr 4th at 5:59 PM | AttributeRenderingLibrary-v3.0.0-pre.10.zip | 1-click install | ||
|
Fixed: Crash when placing pie (added extra null handling) | |||||||
| 3.0.0-pre.9 | attributerenderinglibrary | 98 | Apr 4th at 10:45 AM | AttributeRenderingLibrary-v3.0.0-pre.9.zip | 1-click install | ||
|
API Refactor:
| |||||||
| 3.0.0-pre.8 | attributerenderinglibrary | 471 | Apr 2nd at 10:29 AM | AttributeRenderingLibrary-v3.0.0-pre.8.zip | 1-click install | ||
|
Feature: Can now set any json attribute by using "ARL_attributes" json attribute. Syntax is the same (in extremely rare cases when vanilla/modder is doing something crazy, attribute may won't work) | |||||||
| 3.0.0-pre.7 | attributerenderinglibrary | 605 | Mar 30th at 11:33 PM | AttributeRenderingLibrary-v3.0.0-pre.7.zip | 1-click install | ||
|
Feature: Implemented AnvilWorkable by attributes (useful for attribute-typed ingots, metal plates etc.) | |||||||
| 3.0.0-pre.6 | attributerenderinglibrary | 880 | Mar 28th at 12:17 AM | AttributeRenderingLibrary-v3.0.0-pre.6.zip | 1-click install | ||
|
Fixed: Items that are attachable to entities now correctly fallback to vanilla attachableToEntity attribute if library's STFA_attachableToEntity attribute/property is missing | |||||||
| 3.0.0-pre.5 | attributerenderinglibrary | 75 | Mar 27th at 6:55 PM | AttributeRenderingLibrary-v3.0.0-pre.5.zip | 1-click install | ||
|
For code modders: some method signatures changed, so you need to recompile your mods that use this library
Feature: New behaviors for attribute-typed blocks and items: | |||||||
| 3.0.0-pre.4 | attributerenderinglibrary | 245 | Mar 25th at 1:07 PM | AttributeRenderingLibrary-v3.0.0-pre.4.zip | 1-click install | ||
|
Fixed: Wearables didn't fallback to normal shape if attachedShapeBySlotCode wasn't set. Also added attachedShape property | |||||||
| 3.0.0-pre.3 | attributerenderinglibrary | 1611 | Mar 3rd at 1:46 PM | AttributeRenderingLibrary-v3.0.0-pre.3.zip | 1-click install | ||
|
Fixed: Harmony patches applying twice | |||||||
| 3.0.0-pre.2 | attributerenderinglibrary | 73 | Mar 2nd at 6:28 PM | AttributeRenderingLibrary-v3.0.0-pre.2.zip | 1-click install | ||
|
Fixed: Very rare crash when placing something as Halves in ground storage | |||||||
| 3.0.0-pre.1 | attributerenderinglibrary | 296 | Feb 24th at 9:55 PM | AttributeRenderingLibrary-v3.0.0-pre.1.zip | 1-click install | ||
|
Feature: Implemented Wearable and WearableAttachment by attributes for collectible behavior | |||||||
| 2.8.1 | attributerenderinglibrary | 49579 | Feb 7th at 7:24 PM | AttributeRenderingLibrary-v2.8.1.zip | 1-click install | ||
|
Last 1.21 update. Next updates will be for 1.22
API Tweak: Now using profiler.Enter() and profiler.Leave() instead of profiler.Mark() | |||||||
| 2.8.0 | attributerenderinglibrary | 8426 | Feb 1st at 12:34 PM | AttributeRenderingLibrary-v2.8.0.zip | 1-click install | ||
|
Fixed: Some wearables had broken textures. Also fixed shapes for wearables with attributes that used item class | |||||||
| 2.7.0 | attributerenderinglibrary | 1009 | Jan 31st at 10:11 PM | AttributeRenderingLibrary-v2.7.0.zip | 1-click install | ||
|
API Feature: Added alternative versions for some properties: | |||||||
| 2.6.0 | attributerenderinglibrary | 3362 | Jan 29th at 2:23 PM | AttributeRenderingLibrary-v2.6.0.zip | 1-click install | ||
|
Fixed: Some wearable items with attributes had broken shape | |||||||
| 2.5.0 | attributerenderinglibrary | 835 | Jan 28th at 10:49 PM | AttributeRenderingLibrary-v2.5.0.zip | 1-click install | ||
|
Feature: Can now use shapeIgnoreElements and shapeSelectiveElements in JSON to override ignoreElements and selectiveElements for item/block shape | |||||||
| 2.4.2 | attributerenderinglibrary | 37586 | Dec 28th 2025 at 5:52 PM | AttributeRenderingLibrary-v2.4.2.zip | 1-click install | ||
|
API Feature: Added helper methods for block behavior to be able to override shape and set extra cache key:
API Fixed: Added missing IContainedMeshSource to BlockBehaviorShapeTexturesFromAttributes | |||||||
| 2.4.1 | attributerenderinglibrary | 5771 | Dec 25th 2025 at 3:02 PM | AttributeRenderingLibrary-v2.4.1.zip | 1-click install | ||
|
Feature: Implemented default Block.RandomizeRotations behavior (not tied to attributes) | |||||||
| 2.4.0 | attributerenderinglibrary | 42174 | Nov 4th 2025 at 4:39 PM | AttributeRenderingLibrary-v2.4.0.zip | 1-click install | ||
| |||||||
| 2.3.0 | attributerenderinglibrary | 67740 | Sep 14th 2025 at 4:26 PM | AttributeRenderingLibrary-v2.3.0.zip | 1-click install | ||
|
Feature: Added NWOrientable behavior that supports attribute-based variants system | |||||||
| 2.2.0 | attributerenderinglibrary | 1751 | Sep 13th 2025 at 8:03 PM | AttributeRenderingLibrary-v2.2.0.zip | 1-click install | ||
|
Feature: Blocks can now use attribute-based variants system (technical: implemented block behavior and block entity behavior) Feature: Implemented own versions of HorizontalOrientable and HorizontalAttachable behaviors that support attribute-based variants system (technical: only for GetDrops and OnPickBlock) | |||||||
| 2.1.2 | attributerenderinglibrary | 2813 | Sep 11th 2025 at 7:14 PM | AttributeRenderingLibrary-v2.1.2.zip | 1-click install | ||
|
Added Variants.ContainsKey and Variants.MergeVariants | |||||||
| 2.1.1 | attributerenderinglibrary | 18805 | Aug 30th 2025 at 2:14 PM | AttributeRenderingLibrary-v2.1.1.zip | 1-click install | ||
|
Fixed: Added null check to Variants.RemoveKeys to prevent possible crashes | |||||||
| 2.1.0 | attributerenderinglibrary | 5768 | Aug 25th 2025 at 7:21 PM | AttributeRenderingLibrary-v2.1.0.zip | 1-click install | ||
|
Feature: Can now override contained description for items with attributes | |||||||
| 2.0.1 | attributerenderinglibrary | 683 | Aug 8th 2025 at 11:13 AM | AttributeRenderingLibrary-v2.0.1.zip | 1-click install | ||
|
Fixed: Suppress missing texture errors in logs | |||||||
| 2.0.0 | attributerenderinglibrary | 130 | Aug 7th 2025 at 7:53 PM | AttributeRenderingLibrary-v2.0.0.zip | 1-click install | ||
|
Update to 1.21 | |||||||
| 1.0.4 | attributerenderinglibrary | 2419 | Aug 26th 2025 at 7:44 PM | AttributeRenderingLibrary-v1.0.4.zip | 1-click install | ||
|
Backport of 1.21 version for 1.20 | |||||||
| 1.0.3 | attributerenderinglibrary | 5989 | Aug 3rd 2025 at 3:12 PM | AttributeRenderingLibrary-v1.0.3.zip | 1-click install | ||
|
API Tweak: Ignore empty and null dictionaries (slight performance improvement) | |||||||
| 1.0.2 | attributerenderinglibrary | 590 | Jul 29th 2025 at 10:43 PM | AttributeRenderingLibrary-v1.0.2.zip | 1-click install | ||
|
Fixed: Crash when shape overlays are null in AttachableToEntity behavior | |||||||
| 1.0.1 | attributerenderinglibrary | 101 | Jul 29th 2025 at 10:42 AM | AttributeRenderingLibrary-v1.0.1.zip | 1-click install | ||
|
API Tweak: Attribute-based variant system:
API Tweak: Suppress log warnings when overlays don't exist | |||||||
| 1.0.0 | attributerenderinglibrary | 852 | Jul 26th 2025 at 2:37 PM | Empty | AttributeRenderingLibrary-v1.0.0.zip | 1-click install | |
Hello, I'm getting a crash when I use the handbook and click on some black coal ores... Could anyone kindly offer some insight on what might be the problem? I disabled Extra Info and OptiTime earlier but ARL seems to be causing the crash.
This doesn't look like ARL crash
I did some updates and now getting a crash with ARL v.3.1.3
Good chance this is related to Configure Everything and not ARL.
(asside from an intercept from ARL in the stacktrace, it looks identical to a crash I recently reproduced with just Configure Everything)
Fixed
Enabling the debug mode on Alt F10 crashes the game.
Running on 64 bit Windows 10.0.26200.0 with 64997 MB RAM
Game Version: v1.22.2 (Stable)
11.05.2026 17:49:58: Critical error occurred in the following mod: attributerenderinglibrary@3.1.3
Loaded Mods: walkingstick@3.0.4, alatyrstorcholders@1.1.0, awearablelight@1.1.6, catchlivestock@0.2.4, chandeliercraft@2.1.1, chiseltools@1.17.1, darkvision@1.3.2, jsonpatcheslib@1.5.2, molds@0.3.0, primitivesurvival@5.0.5, prospecttogether@2.2.1, sortablestorage@3.0.0, sticksfromfirewoodmallow@2.0.1, stonequarryrepckfipil@3.6.2, meapineapplefatcandle@1.0.1, translocatorengineeringredux@1.6.6, game@1.22.2, vsimgui@1.2.5, zoombuttonreborn@2.0.2, airthermomod@0.5.0, animalcages@5.0.0, attributerenderinglibrary@3.1.3, betterruins@0.6.1, biodiversity@1.1.4, bloodtrail@1.2.1, butchering@1.13.2, carryon@1.14.1-pre.1, cmimpact@1.1.0, configlib@1.12.0, coriaendershaders@1.2.1, critcherscalculator@1.1.1, danatweaks@4.0.0, extrainfo@2.2.0, farmlanddropswithnutrients@1.2.2, foodshelves@3.0.2, footprints@1.2.1, hudclockpatch@4.3.1, mngeology@2.0.3, materialneeds@1.1.16, optitime@1.5.6, realsmoke@1.2.0, rivers@5.0.0, steadygreenhouses@1.1.1, stickemup@1.3.1, stonebakeoven@1.2.3, synergy@1.1.4, 1111@1.0.0, creative@1.22.2, vsroofing@1.5.3, survival@1.22.2, 118hair@0.1.4, bdcrop@1.0.3, bdorchard@1.0.4, bdtree@1.0.4, em@3.5.3, gothicmusic1@1.0.1, gothicmusic2@1.0.1, gothicmusic3@1.0.1, mnflowers@0.0.0, shearlib@1.3.0, tailorsdelight@2.2.0, windowstoragelib@1.2.3, bricklayers@3.2.2, dressmakers@1.8.0, windowstorage@1.8.1, wool@1.9.1
Involved Harmony IDs: extrainfo
System.NullReferenceException: Object reference not set to an instance of an object.
at AttributeRenderingLibrary.VariantExtensions.FindByVariant[T](Variants variants, Dictionary`2 inDictionary, T& result)
at AttributeRenderingLibrary.BlockBehaviorShapeTexturesFromAttributes.GetHeldItemInfo(ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo) in C:\Users\dana_\Source\Repos\AttributeRenderingLibrary\AttributeRenderingLibrary\BlockBehavior\BlockBehaviorShapeTexturesFromAttributes.cs:line 880
at Vintagestory.API.Common.CollectibleObject.GetHeldItemInfo_Patch6(CollectibleObject this, ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo)
at Vintagestory.API.Common.Block.GetHeldItemInfo(ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo) in VintagestoryApi\Common\Collectible\Block\Block.cs:line 2401
at Vintagestory.GameContent.GuiHandbookItemStackPage..ctor(ICoreClientAPI capi, ItemStack stack) in VSSurvivalMod\Systems\Handbook\Gui\GuiHandbookItemStackPage.cs:line 35
at Vintagestory.GameContent.ModSystemSurvivalHandbook.onCreatePagesAsync() in VSSurvivalMod\Systems\Handbook\SurvivalHandbook.cs:line 122
at Vintagestory.GameContent.GuiDialogHandbook.LoadPages_Async() in VSSurvivalMod\Systems\Handbook\Gui\GuiDialogHandbook.cs:line 434
at Vintagestory.API.Common.TyronThreadPool.<>c__DisplayClass11_0.<QueueTask>b__0(Object _) in VintagestoryApi\Common\TyronThreadPool.cs:line 119
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
at System.Threading.Thread.StartCallback()
Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 11.05.2026 17:27:58, Site = , Source = Application Error, Message = Имя сбойного приложения: Vintagestory.exe, версия: 1.22.2.0, метка времени: 0x693c0000
Имя сбойного модуля: coreclr.dll, версия: 10.0.225.61305, метка времени: 0x693c41fe
Код исключения: 0xc0000005
Смещение ошибки: 0x000000000036852a
Идентификатор сбойного процесса: 0x8920
Время запуска сбойного приложения: 0x1dce1524aa6d9ad
Путь сбойного приложения: C:\Games\Vintagestory\Vintagestory.exe
Путь сбойного модуля: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\10.0.2\coreclr.dll
Идентификатор отчета: 527866e0-b8e2-41fb-ae7f-b366c114d4eb
Полное имя сбойного пакета:
Код приложения, связанного со сбойным пакетом: }
--------------
{ TimeGenerated = 10.05.2026 16:36:16, Site = , Source = Application Error, Message = Имя сбойного приложения: Vintagestory.exe, версия: 1.22.2.0, метка времени: 0x693c0000
Имя сбойного модуля: coreclr.dll, версия: 10.0.225.61305, метка времени: 0x693c41fe
Код исключения: 0xc0000005
Смещение ошибки: 0x000000000036852a
Идентификатор сбойного процесса: 0x28a8
Время запуска сбойного приложения: 0x1dce081ec32feae
Путь сбойного приложения: C:\Games\Vintagestory\Vintagestory.exe
Путь сбойного модуля: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\10.0.2\coreclr.dll
Идентификатор отчета: ff5bd215-9724-412d-8658-3edefc8add93
Полное имя сбойного пакета:
Код приложения, связанного со сбойным пакетом: }
--------------
{ TimeGenerated = 10.05.2026 16:34:50, Site = , Source = Application Error, Message = Имя сбойного приложения: Vintagestory.exe, версия: 1.22.2.0, метка времени: 0x693c0000
Имя сбойного модуля: coreclr.dll, версия: 10.0.225.61305, метка времени: 0x693c41fe
Код исключения: 0xc0000005
Смещение ошибки: 0x000000000036852a
Идентификатор сбойного процесса: 0x7e70
Время запуска сбойного приложения: 0x1dce081b89874b2
Путь сбойного приложения: C:\Games\Vintagestory\Vintagestory.exe
Путь сбойного модуля: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\10.0.2\coreclr.dll
Идентификатор отчета: 41f9a644-3c94-490f-a125-b2fc07cb8298
Полное имя сбойного пакета:
Код приложения, связанного со сбойным пакетом: }
I don't understand how it can still crash, there is null check on absolutely everything in that method
I dug into the code and may have found the cause. I've submitted a pull request on GitHub.
Fixed
There seems to be some kind of compatibility issue with Custom Flowerpots:
at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
at HarmonyLib.PatchProcessor.Patch()
at HarmonyLib.Harmony.Patch(MethodBase original, HarmonyMethod prefix, HarmonyMethod postfix, HarmonyMethod transpiler, HarmonyMethod finalizer)
at AttributeRenderingLibrary.HarmonyPatches.AttributeRedirectionPatch.ScanAndApply(Harmony harmony, ILogger logger) in C:\Users\dana_\Source\Repos\AttributeRenderingLibrary\AttributeRenderingLibrary\HarmonyPatches\AttributeRedirectionPatch.cs:line 32
11.5.2026 06:37:08 [Error] [attributerenderinglibrary] Failed to apply attribute redirection to customflowerpots.BlockPlantContainerBase`1.get_ContainerSize, exception: System.ArgumentException: The given generic instantiation was invalid.
at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
at HarmonyLib.PatchProcessor.Patch()
at HarmonyLib.Harmony.Patch(MethodBase original, HarmonyMethod prefix, HarmonyMethod postfix, HarmonyMethod transpiler, HarmonyMethod finalizer)
at AttributeRenderingLibrary.HarmonyPatches.AttributeRedirectionPatch.ScanAndApply(Harmony harmony, ILogger logger) in C:\Users\dana_\Source\Repos\AttributeRenderingLibrary\AttributeRenderingLibrary\HarmonyPatches\AttributeRedirectionPatch.cs:line 32
11.5.2026 06:37:08 [Error] [attributerenderinglibrary] Failed to apply attribute redirection to customflowerpots.BlockPlantContainerBase`1.OnLoaded, exception: System.ArgumentException: The given generic instantiation was invalid.
at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
at HarmonyLib.PatchProcessor.Patch()
at HarmonyLib.Harmony.Patch(MethodBase original, HarmonyMethod prefix, HarmonyMethod postfix, HarmonyMethod transpiler, HarmonyMethod finalizer)
Does it crash?
Negative. The items from the mod remain craftable. I'm unsure what side effects this may have, if any.
Fixed
I upgraded my server from 1.21.6 to 1.22.2, along with all compatible mods, but keeping the current game world. Now my client is crashing (server remains up) when I try to log in.
I've tried a couple times and I keep getting "System.Exception: Don't know how to instantiate item of class 'TLEItemCrowbar' did you forget to register a mapping?", but with a few different class names in place of 'TLEItemCrowbar', including some from Better Crates. Oddly, single player seems to be working normally.
Any idea what I can do to fix it?
No idea. it isn't related to Attribute Rendering Library anyway
Occasional crash with the handbook that the log attributes to this mod, figured it'd be useful info
This crash isn't caused by the library
Receiving an error with Fishing Config 1.1.0, reported over there but thought I'd post here as well.
What ARL version?
I believe I was seeing this on 3.1.1 but have since updated to 3.1.3 and still receive the error.
Fixed
Burntdomain Try new version
TheJoyfulBell Abra_The_Cadabra Should be fixed now
Also seems to bug out bookshelves on the 3.1.2 version, causing them to transform into a different type of bookshelf, and the books are invisible.
using this after updating it makes the firepit not cook items. example: full stack of flint only cooks one and spits out the rest.
newest version (3.1.2) is the only one causing it so i have to stay at 3.1.1.
Same thing happened to me.
Try new version
It's fixed! Thanks so much!
Got this crash
Running on 64 bit Windows 10.0.26200.0 with 32693 MB RAM
Game Version: v1.22.2 (Stable)
5/6/2026 7:36:02 PM: Critical error occurred
Loaded Mods: walkingstick@3.0.0, barkbeetle@1.0.6, bedrespawnerz1@1.0.1, BetterGrass@0.0.3, bola@1.4.1, catchlivestock@0.2.4, catchledge@0.7.1, cavesymphony@1.2.2, chargedjump@1.2.3, clickuptorches@1.1.1, blocklayeroverhaul@1.0.2, landformoverhaul@1.0.4, containersbundle@1.3.1, crawlanddive@0.2.4, creaturefootsteps@1.0.0, darcesdriftersredone@1.2.81, diversediets@1.0.4, dodgemaster@1.2.4, moonshinejug@1.0.2, eternalstew@1.3.0, eyesofmesana@1.0.0, fallingtree@0.5.0, fieldsandplateaus@1.0.10, footsteps@1.0.3, fagothic@1.3.4, fagreenwich@1.4.5, fahussar@1.1.6, fajousting@1.0.5, falandsknecht@1.2.5, fatemplar@1.4.6, faviking@1.1.5, geoaddons@1.4.7, hydrateordiedrate@2.4.6, immersivemining@0.2.20, immersiveorecrush@2.2.5, jsonpatcheslib@1.5.2, manualdishes@0.1.2, manualdough@1.1.8, manualshingle@1.0.4, manualtoolcrafting@2.1.0, plainsandvalleys@1.0.13, primitivesurvival@5.0.5, prospecttogether@2.2.1, sawchiseling@0.1.2, scavs@0.0.1, scrollrackable@1.5.0, shelfobsessed@2.0.0, spinningwheel@1.2.0, stickstepsounds@1.0.0, stoneharvesting@1.2.2, tankardsandgoblets@1.4.0, toolbelt@0.3.5, trashbinned@0.4.2, vaultandroll@0.1.2, game@1.22.2, vsimgui@1.2.4, wforests@1.0.0, zoombuttonreborn@2.0.2, alchemy@1.9.0-rc.3, animalcages@5.0.0, animationslib@0.0.2, attributerenderinglibrary@3.1.1, betterruins@0.6.1, bettertraders@0.2.0, bloodtrail@1.2.1, butchering@1.13.1, carryon@1.14.0-rc.1, cartwrightscaravan@1.9.0, configlib@1.12.0, cooperativecombatrework@1.1.0, danatweaks@4.0.0, debarkmod@1.2.0, doorvariants@1.1.2, emotes@2.0.5, extrainfo@2.0.0, farseer@1.4.0, firewoodtosticks@1.0.0, foodshelves@3.0.0, footprints@1.2.1, genelib@3.0.2, herbarium@1.4.2-rc.1, hideplayername@2.3.0, immersivewoodchopping@0.8.3, jaunt@3.0.0-rc.3, juicyores@1.0.2, justthepepper@2.0.0, metalpots@1.7.3, morepiles@3.0.0, ndlmushroomgrowth@2.0.2, noprotectedzones@1.0.1, optitime@1.5.4, panningmachine@1.0.9, pelaguswinds@1.2.2, petai@5.0.0, placeonslabs@1.0.5, postsandbeams@1.5.1, claywheel@1.1.8, realsmoke@1.2.0, relictools@1.2.1, rivers@5.0.0, saltandsands@1.2.0, shipwright@1.3.3, slowtox@5.0.0, smithingplus@1.9.0-rc.1, statushudcont@4.3.1, stepupcontinued@0.0.2, stonebakeoven@1.2.2, synergy@1.1.3, th3dungeon@0.5.0, thievery@1.3.0, translocatorrelocatorfork@1.0.4, universalhusbandry@1.2.1, vsairshipmod@1.1.1, creative@1.22.2, vsinstrumentsbasetemp@2.0.7, vsquest@3.1.0, survival@1.22.2, vsvillage@5.1.3, watersheds@6.0.5, waypointtogetherreborn@2.3.3, windchimes@1.5.0, woodenshuttersandmore@1.3.3, cats@5.0.0, equus@1.3.0-rc.1, heraldry@2.0.0, seraphleveling@1.14.0, terrainslabs@1.0.13, wildcraftfruit@1.4.61, windowstoragelib@1.1.3, wolftaming@5.0.0, jammorefruitin@1.0.2, heraldrybanners@2.0.0, capes@2.0.0, vanillapanestorage@1.7.3, windowstorage@1.7.2
Involved Harmony IDs: attributerenderinglibrary
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.GameContent.BlockGroundStorage.GetColorWithoutTint(ICoreClientAPI capi, BlockPos pos) in VSSurvivalMod\Block\BlockGroundStorage.cs:line 397
at Vintagestory.API.Common.Block.GetColor_Patch1(Block this, ICoreClientAPI capi, BlockPos pos)
at Vintagestory.GameContent.ChunkMapLayer.GenerateChunkImage(FastVec2i chunkPos, IMapChunk mc, Boolean colorAccurate) in VSEssentials\Systems\WorldMap\ChunkLayer\ChunkMapLayer.cs:line 610
at Vintagestory.GameContent.ChunkMapLayer.OnOffThreadTick(Single dt) in VSEssentials\Systems\WorldMap\ChunkLayer\ChunkMapLayer.cs:line 335
at Vintagestory.GameContent.WorldMapManager.<OnLvlFinalize>b__22_0()
at System.Threading.Thread.StartCallback()
Event Log entries for Vintagestory.exe, the latest 2
==================================
{ TimeGenerated = 5/6/2026 7:36:03 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.2.0, time stamp: 0x693c0000
Faulting module name: coreclr.dll, version: 10.0.726.21808, time stamp: 0x69e279e8
Exception code: 0xc0000005
Fault offset: 0x000000000035699f
Faulting process id: 0x2028
Faulting application start time: 0x1dcdda9749f12ed
Faulting application path: C:\Users\856nm\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\10.0.7\coreclr.dll
Report Id: 372b3d82-780c-4fd0-bc1f-9a628e70a7f2
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 5/6/2026 6:37:52 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.2.0, time stamp: 0x693c0000
Faulting module name: coreclr.dll, version: 10.0.726.21808, time stamp: 0x69e279e8
Exception code: 0xc0000005
Fault offset: 0x000000000035699f
Faulting process id: 0x3768
Faulting application start time: 0x1dcdda6488d1b5b
Faulting application path: C:\Users\856nm\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\10.0.7\coreclr.dll
Report Id: 892e84d7-7c7d-485f-ba88-728935582b2e
Faulting package full name:
Faulting package-relative application ID: }
when i click the new large sail in the handbook, instant crash, thank you dana for all your incredible work
Running on 64 bit Windows 10.0.19045.0 with 24525 MB RAM
Game Version: v1.22.2 (Stable)
5/5/2026 11:29:31 AM: Critical error occurred
Loaded Mods: walkingstick@3.0.0, Amongium@1.0.0, awearablelight@1.1.9, birthsignsfresh@1.6.0, catchlivestock@0.2.4, cavepainting@0.1.4, chandeliercraft@2.1.1, charlottesclothes@1.3.4, chiseltools@1.17.1, containersbundle@1.3.1, elkaccessories@1.1.1, explosive@0.2.0, fairywren@0.3.7, figurines@0.3.2, industrialdeco@1.0.7, jsonpatcheslib@1.5.2, millwright@1.3.3, noroofingrecipes@1.0.1, overhaullib@2.0.5, racialequalityexpanded@0.1.4, racialequality@0.1.28, scrollrackable@1.5.0, shelfobsessed@2.1.1, smb1x1doorvariants@1.1.1, spinningwheel@1.2.0, stonequarryrepckfipil@3.6.2, meapineapplefatcandle@1.0.1, tankardsandgoblets@1.4.2, temporalvessels@1.0.3, terratag@0.4.5, translocatorengineeringredux@1.6.5, valksfuzzyclouds@2.0.1, valkyrjahair@3.0.0, valkyrjavesssels@1.0.0, game@1.22.2, vsimgui@1.2.1, arthursjournal@2.0.0, xvshaders@1.0.0, zoombuttonreborn@2.0.2, abyssaldepths@1.0.16, ageofconfession@3.0.2, alchemy@2.0.0-rc.1, antiqueensemble@1.1.5, attributerenderinglibrary@3.1.0, egocaribautomapmarkers@5.0.1, barkcanoe@1.22.0-rc.101, betterdeathmessages@1.0.3, betterruins@0.6.0, billposting@2.0.0, biodiversity@1.1.4, blacksmithname@1.3.0, bloodtrail@1.2.1, blushandbins@1.1.1, blushlibrary@1.0.8, botaniastory@0.2.0, butchering@1.13.2, carryon@1.14.0, cartwrightscaravan@1.9.0, chunklod@1.1.0, colliderslib@0.1.2, commonlibforked@2.8.1, configlib@1.11.1, crbutterfly@1.1.1, decoclockrevival@1.22.1, eggpiemod@0.1.0, emotes@2.0.5, envelopes@3.8.3, fastmap@0.2.0, foodshelves@3.0.2, footprints@1.2.1, freeformatelier@1.3.0, fromgoldencombsfix@1.0.3, hanfu@1.1.1, hideplayername@2.3.0, hudclockpatch@4.2.1, infinitumpickupmod@1.2.9, ithaniacannedgoods@2.0.1, krpgenchantment@1.4.0, maketeaforked@0.8.1, moretuningcylinders@2.0.2, naturalfoliage@0.0.4, ndlflowergrowth@2.0.0, ndlmushroomgrowth@2.1.0, ndltreegrowth@2.0.1, noofflinecontainerfoodspoil@2.0.0, noticeboard@1.3.0, petai@5.0.1, playerlistrevived@2.3.8, playermodellib@1.15.1, portcullis@1220.0.0, claywheel@1.1.8, realsmoke@1.2.0-rc.9, regalia@1.5.0, rivers@5.0.0, roamingbees@2.0.0-dev.7, rpvoicechat@2.5.2, seamlessrapids@1.0.1, shipwright@1.3.1, slowtox@5.0.0, soundofconfession@1.1.1, speartrajectory@10.0.9, stepfixelk@0.0.3, stonebakeoven@1.2.2, storagetweaks@1.1.9, tablet@0.2.0, improvedmetallurgy@1.1.4, torturedevices@2.1.0, vinconomy@5.3.0, vsairshipmod@1.1.2, creative@1.22.2, vsextbedrespawn@1.22.0, vspaint@1.2.7, vsroofing@1.5.2, survival@1.22.2, vsvillage@5.1.4, watersheds@6.1.0, xlibxaldisclasses@0.4.1, xskillgildedxadlisclasses@2.3.0, aldiclassesdrunkenaddition@2.0.0-rc.1, beastsofmen@0.3.0, bdcrop@1.0.2, bdorchard@1.0.3, bdtree@1.0.4, danacancook@2.0.0, em@3.5.1, frogemod@1.0.4, heraldry@2.0.0, koboldrdx@1.4.0, medievalarchitecture@1.1.1, playercorpseforked@1.14.1, plushiemodpack@3.0.0, realsmokeqppatch@1.0.0, scoopofjammod@1.2.0, shearlib@1.3.0, tabletopgames@4.0.0-pre.2, tailorsdelight@2.2.0, windowstoragelib@1.1.3, aldiclasses@2.0.0-rc.4, bricklayers@3.2.1, heraldrybanners@2.0.0, capes@2.0.0, upholstery@1.2.0, wool@1.9.1, xskillsxaldisclasses@0.10.0
Involved Harmony IDs: attributerenderinglibrary, blushlibrary.code.core, maketeaforked, tabletopgames
System.ArgumentException: Attempted to resolve the recipe ingredient wildcard Item *:plank-aged but there are no such items/blocks!
at Vintagestory.API.Client.SlideshowGridRecipeTextComponent.ResolveIngredients(Dictionary`2& unnamedIngredients, Queue`1 halfResolvedRecipes, GridRecipe toTestRecipe, Boolean& allResolved, ItemStack[] allStacks, Random fixedRand) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\Richtext\SlideshowGridRecipeTextComponent.cs:line 409
at Vintagestory.API.Client.SlideshowGridRecipeTextComponent.ResolveRecipes(List`1 resolvedGridRecipes, GridRecipe[] gridRecipes, ItemStack[] allStacks, Random fixedRand) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\Richtext\SlideshowGridRecipeTextComponent.cs:line 371
at Vintagestory.API.Client.SlideshowGridRecipeTextComponent..ctor(ICoreClientAPI api, GridRecipe[] gridRecipes, Double size, EnumFloat floatType, Action`1 onStackClicked, ItemStack[] allStacks) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\Richtext\SlideshowGridRecipeTextComponent.cs:line 82
at Vintagestory.GameContent.CollectibleBehaviorHandbookTextAndExtraInfo.addCreatedByInfo_Patch2(CollectibleBehaviorHandbookTextAndExtraInfo this, ICoreClientAPI capi, ItemStack[] allStacks, ActionConsumable`1 openDetailPageFor, ItemStack stack, List`1 components, Single marginTop, List`1 containers, List`1 fuels, List`1 molds, List`1 anvils, Boolean haveText)
at Vintagestory.GameContent.CollectibleBehaviorHandbookTextAndExtraInfo.GetHandbookInfo_Patch4(CollectibleBehaviorHandbookTextAndExtraInfo this, ItemSlot inSlot, ICoreClientAPI capi, ItemStack[] allStacks, ActionConsumable`1 openDetailPageFor)
at Vintagestory.GameContent.GuiHandbookItemStackPage.GetPageText(ICoreClientAPI capi, ItemStack[] allStacks, ActionConsumable`1 openDetailPageFor) in VSSurvivalMod\Systems\Handbook\Gui\GuiHandbookItemStackPage.cs:line 119
at Vintagestory.GameContent.GuiHandbookItemStackPage.ComposePage(GuiComposer detailViewGui, ElementBounds textBounds, ItemStack[] allstacks, ActionConsumable`1 openDetailPageFor) in VSSurvivalMod\Systems\Handbook\Gui\GuiHandbookItemStackPage.cs:line 113
at Vintagestory.GameContent.ModSystemSurvivalHandbook.onComposePage(GuiHandbookPage page, GuiComposer detailViewGui, ElementBounds textBounds, ActionConsumable`1 openDetailPageFor) in VSSurvivalMod\Systems\Handbook\SurvivalHandbook.cs:line 135
at Vintagestory.GameContent.GuiDialogHandbook.initDetailGui() in VSSurvivalMod\Systems\Handbook\Gui\GuiDialogHandbook.cs:line 260
at Vintagestory.GameContent.GuiDialogHandbook.OpenDetailPageFor(String pageCode) in VSSurvivalMod\Systems\Handbook\Gui\GuiDialogHandbook.cs:line 329
at Vintagestory.GameContent.CollectibleBehaviorHandbookTextAndExtraInfo.<>c__DisplayClass21_0.<addIngredientForInfo>b__1(ItemStack cs) in VSSurvivalMod\Systems\Handbook\CollectibleBehaviorHandbookTextAndExtraInfo.cs:line 1321
at Vintagestory.API.Client.SlideshowItemstackTextComponent.OnMouseDown(MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\Richtext\SlideshowItemstackTextComponent.cs:line 250
at Vintagestory.API.Client.GuiElementRichtext.OnMouseDownOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementRichtext.cs:line 519
at Vintagestory.API.Client.GuiComposer.OnMouseDown(MouseEvent mouseArgs) in VintagestoryApi\Client\UI\GuiComposer.cs:line 470
at Vintagestory.API.Client.GuiDialog.OnMouseDown(MouseEvent args) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 564
at Vintagestory.Client.NoObf.GuiManager.OnMouseDown(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 401
at Vintagestory.Client.NoObf.ClientMain.UpdateMouseButtonState(EnumMouseButton button, Boolean down) in VintagestoryLib\Client\ClientMain.cs:line 2004
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonDown(MouseButtonEventArgs e) in VintagestoryLib\Client\ClientPlatform\Input.cs:line 204
at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods)
--- End of stack trace from previous location ---
at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded()
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 354
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 131
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95
Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 5/4/2026 2:56:06 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.2.0, time stamp: 0x693c0000
Faulting module name: ntdll.dll, version: 10.0.19041.7058, time stamp: 0xec767b51
Exception code: 0xc0000374
Fault offset: 0x00000000000ff509
Faulting process id: 0x2eb8
Faulting application start time: 0x01dcdc0ef954b8b8
Faulting application path: C:\Users\stoplookingatme\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: ad5b907f-5aee-40eb-8400-ef75c6fb613d
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 5/4/2026 1:52:44 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.2.0, time stamp: 0x693c0000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x8d4
Faulting application start time: 0x01dcdc07d0bfc7bc
Faulting application path: C:\Users\stoplookingatme\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Users\stoplookingatme\AppData\Roaming\Vintagestory\Lib\openal32.dll
Report Id: 7d3030f8-ba78-4aed-bb43-ce5d2a32caee
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 5/4/2026 1:50:16 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.2.0, time stamp: 0x693c0000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x33e4
Faulting application start time: 0x01dcdc075a9f6aee
Faulting application path: C:\Users\stoplookingatme\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Users\stoplookingatme\AppData\Roaming\Vintagestory\Lib\openal32.dll
Report Id: 02770dfb-9772-423b-a87c-cb51684923d8
Faulting package full name:
Faulting package-relative application ID: }
ScaryGodmother This crash would still happen even without the library, so it isn't caused by my library
Getting this error:
[Error] [attributerenderinglibrary] Failed to apply attribute redirection to ACulinaryArtillery.BlockBottle.GetContainingTransitionModifierContained, exception: System.InvalidProgramException: Common Language Runtime detected an invalid program.
at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
at HarmonyLib.PatchProcessor.Patch()
at AttributeRenderingLibrary.HarmonyPatches.AttributeRedirectionPatch.ScanAndApply(Harmony harmony, ILogger logger) in C:\Users\dana_\Source\Repos\AttributeRenderingLibrary\AttributeRenderingLibrary\HarmonyPatches\AttributeRedirectionPatch.cs:line 31
Using current game version and mods
Crashing when loading into a game. My crash log was 3218 lines long with 46,644 words and 511,148 characters. I ran it through AI. All the clanker could tell me was a possible incompatability.
Link to modlist in HTML: https://voltupload.com/n9c9ft01ibld
i keep getting this error
File name: 'primitivesurvival, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
at System.ModuleHandle.ResolveMethod(QCallModule module, Int32 methodToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount)
at System.ModuleHandle.ResolveMethodHandleInternal(RuntimeModule module, Int32 methodToken, ReadOnlySpan`1 typeInstantiationContext, ReadOnlySpan`1 methodInstantiationContext)
at System.ModuleHandle.ResolveMethodHandle(Int32 methodToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)
at System.Reflection.RuntimeModule.ResolveMethod(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
at HarmonyLib.MethodBodyReader.ReadOperand(ILInstruction instruction)
at HarmonyLib.MethodBodyReader.GenerateInstructions()
at HarmonyLib.MethodCopier..ctor(MethodCreatorConfig config)
at HarmonyLib.MethodCreator.CreateReplacement()
at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
at HarmonyLib.PatchProcessor.Patch()
at HarmonyLib.Harmony.Patch(MethodBase original, HarmonyMethod prefix, HarmonyMethod postfix, HarmonyMethod transpiler, HarmonyMethod finalizer)
at AttributeRenderingLibrary.HarmonyPatches.AttributeRedirectionPatch.ScanAndApply(Harmony harmony, ILogger logger) in C:\Users\dana_\Source\Repos\AttributeRenderingLibrary\AttributeRenderingLibrary\HarmonyPatches\AttributeRedirectionPatch.cs:line 31
What happens: Game crashes randomly during normal play. Crash originates on the world-map background thread when it generates chunk thumbnails.
Diagnosis:
Block.GetColoris patched by attributerenderinglibrary (GetColor_Patch5). The patched method is called by the worldmap chunk thumbnail generator on a background thread for every block in loaded chunks. When it hits aBlockGroundStorageinstance in some specific state, vanillaGetColorWithoutTintline 397 null-refs — most likely because the patch is invoking it on a ground storage block whoseContainedStacksare in a state that vanilla doesn't null-check. The recent v3.0.0-pre.2 fix ("Very rare crash when placing something as Halves in ground storage") suggests this code area has had related issues; this looks like a sibling bug in v3.1.0.Reproduction: Random — depends on which chunks are loaded and whether they contain ground storage piles. No specific user action triggers it. Off-thread crash from the worldmap tick, so it happens silently during exploration.
Notes: A separate, earlier crash also attributed to attributerenderinglibrary occurred in
BlockBehaviorShapeTexturesFromAttributes.GetHeldItemInfoduring creative inventory cache build — possibly related (both involve calling vanilla methods through patches without null-checks on containedstacks/contents).KittyofPathos
Ground storage crash isn't related to ARL because the library checks if specific block implements some interface:
if (__instance?.GetCollectibleInterface<IBlockPropertiesSupplier>() is not { } propertiesSupplier) return;Same for contained items
if (__instance?.GetCollectibleInterface<IPropertiesSupplier>() is not { } propertiesSupplier) return;For the second crash, everything inside
BlockBehaviorShapeTexturesFromAttributes.GetHeldItemInfois always null checked.Involved Harmony IDs: attributerenderinglibraryJust because crash log mentions ARL like this, it doesn't mean that ARL actually caused it
Levion you can ignore that error if you don't have primitive survival. That's just ARL's redirection patchg complaining it found something it wants to redirect through ARL's system but can't (in this case because that method itself can't be loaded without primitive survival present)
I should probably have it ignore FileNotFoundExceptions in the logging for this.
Hi there! I've consistently crashed whenever click on an item in my handbook and every crash report has pointed to "ARL". Any help figuring this out would be greatly appreciated. Thanks!
Hanma This crash isn't related to Attribute Rendering Library. It would still happen in the same place even if without it
Thank you kindly for your response! I'm glad to know your mod isn't the issue. Unfortuanely that means more digging for me😅😂.
Got an error in the logs when making/joining a world.
I currently have xSkills Fork by El_Neuman in, and I don't have Primitive Survival in. If there's any other information I can send to help lemme know, I have no idea if this is any sort of significant error or if the game is just complaining because I don't have primitive survival :P
File name: 'primitivesurvival, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
at System.ModuleHandle.ResolveMethod(QCallModule module, Int32 methodToken, IntPtr* typeInstArgs, Int32 typeInstCount, IntPtr* methodInstArgs, Int32 methodInstCount)
at System.ModuleHandle.ResolveMethodHandleInternal(RuntimeModule module, Int32 methodToken, ReadOnlySpan`1 typeInstantiationContext, ReadOnlySpan`1 methodInstantiationContext)
at System.ModuleHandle.ResolveMethodHandle(Int32 methodToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)
at System.Reflection.RuntimeModule.ResolveMethod(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
at HarmonyLib.MethodBodyReader.ReadOperand(ILInstruction instruction)
at HarmonyLib.MethodBodyReader.GenerateInstructions()
at HarmonyLib.MethodCopier..ctor(MethodCreatorConfig config)
at HarmonyLib.MethodCreator.CreateReplacement()
at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
at HarmonyLib.PatchProcessor.Patch()
at HarmonyLib.Harmony.Patch(MethodBase original, HarmonyMethod prefix, HarmonyMethod postfix, HarmonyMethod transpiler, HarmonyMethod finalizer)
at AttributeRenderingLibrary.HarmonyPatches.AttributeRedirectionPatch.ScanAndApply(Harmony harmony, ILogger logger) in C:\Users\dana_\Source\Repos\AttributeRenderingLibrary\AttributeRenderingLibrary\HarmonyPatches\AttributeRedirectionPatch.cs:line 31
What mod version?
Hello,
On 1.22.0 Linux Flatpak this mod seems to be triggering an SELinux execheap security notice upon alt tabbing from the game relating to ".net Tiered Com"
It looks like Linux issue. I can't fix it on my side
Sleeves No idea
Would it be possible to apply this to variant-heavy base game assets? If so, I wonder how the memory consumption would compare...
DasGI Doesn't look like Attribute Rendering Library issue
Hi Dana, getting this persistent crash when trying to load a save or start new world
Running on 64 bit Windows 10.0.19045.0 with 31874 MB RAM
Game Version: v1.22.0-rc.8 (Unstable)
18/04/2026 3:07:49 PM: Critical error occurred
Loaded Mods: tallheightwatershedslandforms@2.1.1, advancedsmithing@1.4.0, walkingstick@3.0.0, betterforest@0.1.2, boatiespeedie12@1.0.4, canoemode@1.0.4, cavepainting@0.1.3, cavesymphony@1.2.1, chiseltools@1.16.2, rlldtco0001@1.4.0, fallingtree@0.4.10, forestsymphony@1.0.6, geoaddons@1.4.6, hit@2.4.3, idglogsplitterpatch@0.0.1, idlepause@0.1.0, immersivechests@0.2.1, immersivelanterns@0.3.2, immersivemaps@1.1.1, immersivemining@0.2.19, interestingoregen@2.3.2, ithaniabackpacks@0.5.2, lumberslingcontinued@1.0.8, millwright@1.3.3, mistsofstability@0.2.0, plainsandvalleys@1.0.13, primitivesurvival@5.0.4, prospecttogether@2.2.0, fixscythe@0.2.0, snowcaps@0.0.0, spinningwheel@1.1.9, stickstepsounds@1.0.0, stickworks@1.0.0, sungaze@0.1.0, tankardsandgoblets@1.3.4, terratag@0.4.4, toolbelt@0.3.4, trashbinned@0.3.0, game@1.22.0-rc.8, vsimgui@1.2.1, arthursjournal@2.0.0, wilderlandscavessystem@2.0.3, willsfogmod@0.9.1, zoombuttonreborn@2.0.2, animalcages@4.0.2, apegrapes@1.3.1, apelanterns@1.3.5, apewindows@1.4.0, attributerenderinglibrary@3.0.0-pre.11, egocaribautomapmarkers@5.0.1, bedspawnv2@1.6.4, bettererprospecting@3.2.1, betterfirepit@1.2.0, betterruins@0.6.0-rc.2, bettertraders@0.1.0, blacksmithenhancements@1.1.5, butchering@1.13.1, carryon@1.14.0-pre.3, cartwrightscaravan@1.8.0, charcoalreforged@1.1.4, critchersgrapplehook@1.0.2, combatoverhaul@0.15.1, commonlib@2.8.0, configlib@1.11.1, danatweaks@3.7.1, electricalprogressivecore@3.0.0-rc.5, expandedbeekeeping@0.0.1, fantasycreaturesupdate@0.7.91, farseer@1.3.3, feverstonewilds@2.1.0-rc.4, foodshelves@2.3.3, fromgoldencombs@1.9.4, hunterbackpackprogression@1.0.0, hydrateordiedrate@2.4.3, immersivecorpsedrop@1.0.4, immersivebackpackoverhaul@0.6.2, ithaniacannedgoods@1.4.0, morepiles@2.2.0, ndlberrygrowth@1.0.2, purposefulstorage@1.5.1, realmeat@1.5.0, realsmoke@1.2.0-rc.8, rivers@5.0.0, seafarer@0.2.9, simplejewelry@1.0.0, runoffmod@1.9.5, slowtox@4.0.4, smithingplus@1.8.3, statushudcont@4.3.0, stonebakeoven@1.2.1, stovemod@1.0.4, stringsense@1.8.1, temporalstormsfight@1.2.3, terratagrooms@0.1.0, thecritterpack@1.3.4, todolist@2.2.4, toolsmithfork@1.2.20, vanillaexpanded@1.3.4, coffee@1.0.5, creative@1.22.0-rc.8, vsroofing@1.5.1, survival@1.22.0-rc.8, waterfall@1.0.0, watersheds@5.0.2, woodenfortifications@2.0.10, woodenshuttersandmore@1.2.31, zippysreseedingreeds@2.1.0, armory@1.10.2, autoconfiglib@2.0.10, electricalprogressivebasics@3.0.0-rc.6, em@3.5.0-pre.2, heraldry@1.0.2, idgrebalance@0.0.4, mapper@0.5.1, mechanicalwoodsplitter@1.1.2, medievalarchitecture@1.0.9, shearlib@1.3.0-pre.1, storageoptions@2.0.0, windowstoragelib@1.1.1, aldiclasses@2.0.0-pre.6, bottomsup@1.2.0, bricklayers@3.2.0-pre.2, electricalprogressiveindustry@0.6.0, electricalprogressiveqol@3.0.0-rc.6, electricalprogressivetransport@1.0.0-rc.4, heraldrybanners@1.0.1, capes@1.0.1, tailorsdelight@2.1.2, windowstorage@1.7.1, wool@1.8.2, workingextras@0.0.2, aldiclassesadvancedfeatures@0.0.3
Involved Harmony IDs: attributerenderinglibrary
System.ArgumentNullException: Value cannot be null. (Parameter 'key')
at System.Collections.Generic.Dictionary`2.FindValue(TKey key)
at Vintagestory.Common.ItemTypeNet.ReadItemTypePacket_Patch1(Packet_ItemType packet, IWorldAccessor world, ClassRegistry registry)
at Vintagestory.Client.NoObf.ClientSystemStartup.PopulateItems(List`1 items, Int32 listSize) in VintagestoryLib\Client\Systems\Startup.cs:line 673
at Vintagestory.Client.NoObf.ClientSystemStartup.LoadItemTypes() in VintagestoryLib\Client\Systems\Startup.cs:line 444
at Vintagestory.Client.NoObf.ClientSystemStartup.HandleServerAssets_Step1() in VintagestoryLib\Client\Systems\Startup.cs:line 384
at Vintagestory.API.Common.TyronThreadPool.<>c__DisplayClass11_0.<QueueTask>b__0(Object _) in VintagestoryApi\Common\TyronThreadPool.cs:line 119
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
at System.Threading.Thread.StartCallback()
Apologies if this is not related to this mod, i just assumed it was based on the involved harmony IDs:
DanaCraluminum Ah! Okay! Sorry then!
Losvaize Actually, this is a vanilla crash and it would still happen even without Attribute Rendering Library
This is second time this mod has crashed since the recent update, just wanted to give a report on it, as the logs are flagging it.
Thiis took place when picking up a food bowl off the ground and both times that had food in it; both were full food bowls by what I can remember at least.
Edit to for further detail that I forgot: Both times it also duplicated the ceramic bowl and there was actually a new ceramic bowl with food (the first time) and the second time, it was empty. This is on two different saves (as the first save this happened, it killed the save itself).
Hope that may help.
FrayAraphel HobbitArtisan Fixed
FrayAraphel Im experiencing the exact same crash, 1.22 butchery mod with tongs & hooks. No longer able to load my save
Running on 64 bit Windows 10.0.26200.0 with 16088 MB RAM
Game Version: v1.22.0-rc.8 (Unstable)
12/04/2026 1:23:25 pm: Critical error occurred in the following mod: attributerenderinglibrary@3.0.0-pre.10
Loaded Mods: biggerpockets@1.0.6, bulkmolds@1.1.2, curefirewood@1.0.0, diversediets@1.0.4, caninae@1.1.5, capreolinae@2.0.12, elephantidae@1.0.17, machairodontinae@1.1.9, sirenia@1.0.28, hangingvessels@1.1.1, dolabra@2.0.0, millwright@1.3.3, plainsandvalleys@1.0.13, primitivesurvival@5.0.4, prospecttogether@2.2.0, shelfobsessed@2.0.0, spinningwheel@1.1.9, game@1.22.0-rc.8, vsimgui@1.2.1, ancientlib@1.0.0, ancientweaponry@1.1.0, attributerenderinglibrary@3.0.0-pre.10, barkcanoe@1.22.0, betterruins@0.6.0-rc.2, butchering@1.13.0, carryon@1.14.0-pre.3, chunklod@1.0.0, critchersgrapplehook@1.0.0, configlib@1.11.0, crbutterfly@1.1.1, easybuilding@1.1.6, extendedcreation@1.2.3-rc.7, iceiscellar@1.0.4, jaunt@3.0.0-rc.3, madcrowglider@1.22.0-rc.6, orekiwoofsbeehives@2.0.0-dev.7, realsmoke@1.2.0-rc.8, seafarer@0.2.6, shearsrebalanced@1.0.0, storagetweaks@1.1.9, treetapredux@1.2.5, creative@1.22.0-rc.8, survival@1.22.0-rc.8, wateringcanfill@1.0.2, watersheds@5.0.2, xlibfork@1.0.0, ancienttoolsmortar@1.0.0, draconis@1.4.0-pre.2, wwaymarkers@1.0.4, windowstoragelib@1.1.1, xskillsfork@1.0.2, vanillapanestorage@1.7.2, xskillsgilded@1.3.17
Involved Harmony IDs: attributerenderinglibrary
System.NullReferenceException: Object reference not set to an instance of an object.
at AttributeRenderingLibrary.CollectibleAttributeExtensions.GetAttribute(JsonObject attributes, String attributeKey, IItemStack stack) in C:\Users\dana_\Source\Repos\AttributeRenderingLibrary\AttributeRenderingLibrary\Utility\CollectibleAttributeExtensions.cs:line 39
at Vintagestory.GameContent.EntityPlayerShapeRenderer.RenderHeldItem_Patch1(EntityPlayerShapeRenderer this, Single dt, Boolean isShadowPass, Boolean right)
at Vintagestory.GameContent.EntityPlayerShapeRenderer.DoRender3DOpaque(Single dt, Boolean isShadowPass) in VSEssentials\EntityRenderer\EntityPlayerShapeRenderer.cs:line 277
at Vintagestory.Client.NoObf.SystemRenderEntities.OnRenderOpaque3D(Single deltaTime) in VintagestoryLib\Client\Systems\Render\RenderEntities.cs:line 104
at Vintagestory.API.Client.DummyRenderer.OnRenderFrame(Single deltaTime, EnumRenderStage stage) in VintagestoryApi\Client\API\IClientEventAPI.cs:line 88
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 257
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 856
at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 951
at Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 780
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 173
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 741
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 685
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 112
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 354
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 131
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95
Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 12/04/2026 1:20:50 pm, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.0.0, time stamp: 0x693c0000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x234c
Faulting application start time: 0x1dcca1a59306cfb
Faulting application path: C:\Users\hobbi\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Users\hobbi\AppData\Roaming\Vintagestory\Lib\openal32.dll
Report Id: 8c98691a-a996-4500-aa5f-84eb1cfabea6
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 12/04/2026 1:11:12 pm, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.0.0, time stamp: 0x693c0000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x5fa0
Faulting application start time: 0x1dcca1915a8f6c4
Faulting application path: C:\Users\hobbi\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Users\hobbi\AppData\Roaming\Vintagestory\Lib\openal32.dll
Report Id: 88f0bae6-803e-49f5-98d1-91604202ac04
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 12/04/2026 12:55:33 pm, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.0.0, time stamp: 0x693c0000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x4490
Faulting application start time: 0x1dcca16b6520e44
Faulting application path: C:\Users\hobbi\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Users\hobbi\AppData\Roaming\Vintagestory\Lib\openal32.dll
Report Id: e1e4f264-d61c-4b50-b85f-0ff6eeb86d04
Faulting package full name:
Faulting package-relative application ID: }
Hello, I'm having this crash caused by attributerenderinglibrary that happened when I set my main hand item to Iron Hooks from the Butchery mod, while also offhanding Iron Tongs. I am now instantly crashing on world load and can no longer access this save file. Please see the error below:
Running on 64 bit Windows 10.0.26200.0 with 32677 MB RAM
Game Version: v1.22.0-rc.8 (Unstable)
4/11/2026 5:43:23 PM: Critical error occurred in the following mod: attributerenderinglibrary@3.0.0-pre.10
Loaded Mods: walkingstick@3.0.0, clayworks@0.6.0, curefirewood@1.0.0, caninae@1.1.5, capreolinae@2.0.12, machairodontinae@1.1.9, pantherinae@1.2.13, sirenia@1.0.28, hangingvessels@1.1.0, interestingoregen@2.3.0, primitivesurvival@5.0.1, prospecttogether@2.2.0, specializedclasses@2.2.0-rc.1, game@1.22.0-rc.8, vsimgui@1.2.0, zoombuttonreborn@2.0.2, arachnophobia@1.1.3, attributerenderinglibrary@3.0.0-pre.10, egocaribautomapmarkers@4.1.0, barkcanoe@1.22.0, bedspawnv2@1.6.4, betterentitytooltip@1.1.0, bettererprospecting@3.2.1, betterruins@0.6.0-rc.2, bloodtrail@1.2.0, butchering@1.13.0, carryon@1.14.0-pre.3, commonlib@2.8.0, configlib@1.11.0, dressedtokillredux@1.0.1, footprints@1.2.0, geologymap@1.1.0, hudclockpatch@1.1.2, hydrateordiedrate@2.4.2, itempickupnotifier@2.2.0, jaunt@3.0.0-rc.3, putitinthebag@1.0.4, rivers@5.0.0, stonerailings@1.4.0, storagetweaks@1.1.9, creative@1.22.0-rc.8, survival@1.22.0-rc.8, xlibfork@1.0.0-rc.6, draconis@1.4.0-pre.2, stonequarry122hack@3.5.2, xskillsfork@1.0.0-rc.9, xskillsgilded@1.3.15
Involved Harmony IDs: attributerenderinglibrary
System.NullReferenceException: Object reference not set to an instance of an object.
at AttributeRenderingLibrary.CollectibleAttributeExtensions.GetAttribute(JsonObject attributes, String attributeKey, IItemStack stack) in C:\Users\dana_\Source\Repos\AttributeRenderingLibrary\AttributeRenderingLibrary\Utility\CollectibleAttributeExtensions.cs:line 39
at Vintagestory.GameContent.EntityPlayerShapeRenderer.RenderHeldItem_Patch1(EntityPlayerShapeRenderer this, Single dt, Boolean isShadowPass, Boolean right)
at Vintagestory.GameContent.EntityPlayerShapeRenderer.DoRender3DOpaque(Single dt, Boolean isShadowPass) in VSEssentials\EntityRenderer\EntityPlayerShapeRenderer.cs:line 277
at Vintagestory.Client.NoObf.SystemRenderEntities.OnRenderOpaque3D(Single deltaTime) in VintagestoryLib\Client\Systems\Render\RenderEntities.cs:line 104
at Vintagestory.API.Client.DummyRenderer.OnRenderFrame(Single deltaTime, EnumRenderStage stage) in VintagestoryApi\Client\API\IClientEventAPI.cs:line 88
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 257
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 856
at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 951
at Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 780
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 173
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 741
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 685
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 112
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 354
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 131
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95
Event Log entries for Vintagestory.exe, the latest 1
==================================
{ TimeGenerated = 4/11/2026 5:39:35 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.0.0, time stamp: 0x693c0000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x78ac
Faulting application start time: 0x1dcc9fb703d9e0d
Faulting application path: F:\Vintage Story\TEST BRANCH\Vintagestory.exe
Faulting module path: F:\Vintage Story\TEST BRANCH\Lib\openal32.dll
Report Id: 77f43b15-776e-4cc7-aad8-2bfbb5f9ac3b
Faulting package full name:
Faulting package-relative application ID: }
passed the single player test, good enough for me for now. thanks.
Wulff Fixed. Try new version
okay so after updating and playing for a bit someone on my server placed a pie and it crashed everyone out. went to testing in creative and singled it down to this. to reproduce just spawn a creative pie and place it on the ground.
Jadesy Wulff Fixed
With attributerenderinglibrary-3.0.0-pre.8 Im getting this on 1.22.rc7 but its still launching single player or server
3.4.2026 21:39:37 [Error] [attributerenderinglibrary] An exception was thrown when trying to start the mod:
3.4.2026 21:39:37 [Error] [attributerenderinglibrary] Exception: Argument null or empty (Parameter 'fileName')
at Mono.Cecil.ModuleDefinition.ReadModule(String fileName, ReaderParameters parameters)
at AttributeRenderingLibrary.Utility.HarmonyTools.DynamicTargetTools.GetMethodsUsing(MethodBase[] methods, FieldInfo[] fields, Assembly[] exclude, ILogger logger)+MoveNext() in C:\Users\dana_\Source\Repos\AttributeRenderingLibrary\AttributeRenderingLibrary\Utility\HarmonyTools\DynamicTargetTools.cs:line 36
at AttributeRenderingLibrary.HarmonyPatches.AttributeRedirectionPatch.ScanAndApply(Harmony harmony, ILogger logger) in C:\Users\dana_\Source\Repos\AttributeRenderingLibrary\AttributeRenderingLibrary\HarmonyPatches\AttributeRedirectionPatch.cs:line 27
at AttributeRenderingLibrary.Core.StartPre(ICoreAPI api) in C:\Users\dana_\Source\Repos\AttributeRenderingLibrary\AttributeRenderingLibrary\Systems\Core.cs:line 22
at Vintagestory.Common.ModLoader.TryRunModPhase(Mod mod, ModSystem system, ICoreAPI api, ModRunPhase phase) in VintagestoryLib\Common\API\ModLoader.cs:line 662
3.4.2026 21:39:37 [Error] Failed to run mod phase Pre for mod AttributeRenderingLibrary.Core
Jadesy What version of the library you are using?
I am creating a 1.22.0-rc.7 server. Upon starting the server, the Attribute Library is throwing an exception and will not start. If you need more information than what is shown in this screenshot I can attempt to provide what other information you may need. https://imgur.com/a/Em5EeXs
Aerylac Those are logs related to Overhaul lib, not Attribute Rendering Library
3.3.2026 11:38:35 [Warning] [Overhaul lib] [HarmonyPatches] (game:deer-caribou-adult-female) Listed colliders that were not found in shape: Snout
3.3.2026 11:38:44 [Warning] [Overhaul lib] [HarmonyPatches] (game:deer-caribou-adult-female) Listed colliders that were not found in shape: Snout
3.3.2026 11:39:11 [Warning] [Overhaul lib] [HarmonyPatches] (game:deer-caribou-adult-female) Listed colliders that were not found in shape: Snout
3.3.2026 11:41:13 [Warning] [Overhaul lib] [HarmonyPatches] (game:deer-caribou-adult-female) Listed colliders that were not found in shape: Snout
3.3.2026 11:48:11 [Warning] [Overhaul lib] [HarmonyPatches] (game:deer-caribou-adult-female) Listed colliders that were not found in shape: Snout
3.3.2026 11:48:55 [Warning] [Overhaul lib] [HarmonyPatches] (game:deer-caribou-adult-female) Listed colliders that were not found in shape: Snout
What even is this LOL
How do i fix it?
Azariah You need to ask Quivers and Sheaths author. The library has no assets, only code
Plain leather texture looks a bit too bright for me (as seen quiver and sheath mod).
I would like to tweak it a bit and make it darker (either that or use different texture from library), but I am unsure how and where textures are defined in this library. Can you give me a hint? :)
Thanks in advance!
TheVerto Can you write me in discord?
So how exactly does this optimise the variants? for example if i have 100 variants, what does this mod change?
Thanks very much for the quick response on which version! Always appreciated.
ahh good point. Forgot to do that after updating.
Works like a charm after clearing cache.
Great work you and your team do
Skaface443 Clear cache
CTD with newest version:
Just wanted to let you know. Dont have mods that need newest version so ill downgrade again.
CKitt You don't need to update to new version of the library unless some mod requires 2.1.2+ version
With 2.1.2's additions, is it safe to leave a modpack otherwise as-is? Nothing seems to specify needing this version of your library, and the server is currently running 2.1.1.
JokoJose Yes
does it works for 1.20.12?
AidasLit The library is very optimized
I'm not experienced in VS modding, but I am curious if this impact's RAM usage. When I add mods with lots of items, a large part of them are variants, and my game sometimes maxes out RAM usage. Would mods using this library help with that?