Mods / OpenBookAnimation
- Tags:
- Author:
- SiiMeR
- Side:
- Both
- Created:
- Feb 16th at 10:16 PM
- Last modified:
- Feb 16th at 10:23 PM
- Downloads:
- 1519
-
Latest release (for Vintage Story 1.21.0 - 1.21.6, outdated):
openbookanimation_1.0.0.zip 1-click install
This mod makes your character look down a bit while reading or editing a parchment or a book.
If you have a book in hand, it will be transformed to the open variant of the clutter book, making it look like you are reading it.
The animation state is synced to other players as well.
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 1.0.0 | openbookanimation | 1519 | Feb 16th at 10:23 PM | openbookanimation_1.0.0.zip | 1-click install | ||
|
* First release | |||||||


Caught a client crash via trying open book animation 1.0.0 in 1.22.0 multiplayer, though we read several books before crossing one that CTD everyone in visual range of the player who read it. Can drop you the log in discord, or message it via whatever other means, if you want it.
You can leave it here as well
Running on 64 bit Windows 10.0.19045.0 with 16291 MB RAM
Game Version: v1.22.2 (Stable)
13.05.2026 14:40:36: Critical error occurred in the following mod: openbookanimation@1.0.0
Loaded Mods: walkingstick@3.0.4, ancientarmory@1.2.3, blackguardadditions@1.1.9, brickmold@1.3.1, chiblocksel@1.8.3, chiseltools@1.17.1, dyedhardenedclay@1.0.2, vichnybackpack@3.2.4, eternalschests@0.0.2, esp@4.0.5, expandedmolds@1.2.0, fagreenwich@1.4.5, faviking@1.1.6, forlornadditions@1.0.4, millwright@1.3.3, pipeleaf@2.5.1, ruggedrugs@0.0.4, scrollrackable@1.5.0, servantattire@1.0.0, shelfobsessed@2.1.4, spinningwheel@1.2.1, spivohrai@0.1.4, spyglass@0.6.0, tankardsandgoblets@1.4.2, tradie@2.0.1, translocatorengineeringredux@1.6.6, trashbinned@0.4.2, vanillavarnished@1.0.4, game@1.22.2, arthursjournal@2.0.1, apelanterns@1.4.0-pre.1, betterjonasdevicesfixedagain@2.1.6, billposting@2.0.0, butchering@1.13.2, carryon@1.14.1-pre.1, cartwrightscaravan@1.9.0, crbutterfly@1.1.1, displaycasewall@1.0.3, elkvariants@3.6.2, emotes@2.2.0, envelopes@3.8.3, foodshelves@3.0.2, footprints@1.2.1, gourmand@1.8.8, madcrowglider@1.22.0-rc.6, metalpots@1.7.3, meteoricsteel@1.0.13, mobsradar@3.0.0, moreanimals@1.6.6, ndlchiselpick@4.1.0, novelty@1.2.4, oldmap@1.0.1, onebedsleeping@3.0.1, openbookanimation@1.0.0, panningmachine@1.0.9, regalia@1.6.0, rivers@5.0.0, rpvoicechat@2.5.3, slowtox@5.0.0, soundofconfession@1.1.0, statushudcont@4.3.1, steadygreenhouses@1.1.1, substratereflush@1.0.1, treeshaker@1.1.0-rc.1, ufm@1.19.6, vanity@2.4.7, vinconomy@5.3.0, vsairshipmod@1.1.3, creative@1.22.2, vsroofing@1.5.5, survival@1.22.2, wildgrasscontinued@1.3.11, windchimes@1.5.0, bookbinders@1.4.0, shearlib@1.3.0, tailorsdelight@2.2.0, wool@1.9.1
System.MissingFieldException: Field not found: 'Vintagestory.API.Common.Entities.Entity.Pos'.
at MonoMod.Core.Interop.CoreCLR.V60.InvokeCompileMethod(IntPtr functionPtr, IntPtr thisPtr, IntPtr corJitInfo, CORINFO_METHOD_INFO* methodInfo, UInt32 flags, Byte** nativeEntry, UInt32* nativeSizeOfCode)
at MonoMod.Core.Platforms.Runtimes.Core60Runtime.JitHookDelegateHolder.CompileMethodHook(IntPtr jit, IntPtr corJitInfo, CORINFO_METHOD_INFO* methodInfo, UInt32 flags, Byte** nativeEntry, UInt32* nativeSizeOfCode)
at OpenBookAnimation.OpenBookAnimationModSystem.SetReadingState(EntityAgent entity, Boolean isReading) in C:\VSMods\OpenBookAnimation\OpenBookAnimation\OpenBookAnimationModSystem.cs:line 99
at OpenBookAnimation.OpenBookAnimationModSystem.SetReadingState(EntityAgent entity, Boolean isReading) in C:\VSMods\OpenBookAnimation\OpenBookAnimation\OpenBookAnimationModSystem.cs:line 99
at OpenBookAnimation.OpenBookAnimationModSystem.SetReading(EntityAgent entity, Boolean isReading) in C:\VSMods\OpenBookAnimation\OpenBookAnimation\OpenBookAnimationModSystem.cs:line 94
at OpenBookAnimation.ItemBookInteractPatch.Postfix(EntityAgent byEntity, EnumHandHandling& handling) in C:\VSMods\OpenBookAnimation\OpenBookAnimation\HarmonyPatches.cs:line 23
at Vintagestory.API.Common.CollectibleObject.OnHeldUseStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, Boolean firstEvent, EnumHandHandling& handling) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1466
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, EnumHandHandling& handling) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 856
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 832
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 550
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 87
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 257
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1062
at Vintagestory.Client.GuiScreenRunningGame.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 251
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 783
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 686
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.05.2026 18:45:48, Site = , Source = Application Error, Message = Назва аварійного застосунку: Vintagestory.exe, версія: 1.22.2.0, позначка часу: 0x693c0000
Назва аварійного модуля: openal32.dll, версія: 1.23.0.0, позначка часу: 0x63dd31ad
Код винятку: 0x40000015
Зсув помилки: 0x00000000000df046
Код аварійного процесу: 0x38e38
Час запуску аварійного застосунку: 0x01dce21212e1155f
Шлях до аварійного застосунку: C:\Users\pikul\AppData\Roaming\Vintagestory\Vintagestory.exe
Шлях до аварійного модуля: C:\Users\pikul\AppData\Roaming\Vintagestory\Lib\openal32.dll
Код звіту: 66485ec0-970e-40d9-98e1-0bbf1c45001b
Повне ім'я аварійного пакету:
Код аварійного застосунку, що стосується пакету: }
--------------
{ TimeGenerated = 12.05.2026 18:45:34, Site = , Source = Application Error, Message = Назва аварійного застосунку: Vintagestory.exe, версія: 1.22.2.0, позначка часу: 0x693c0000
Назва аварійного модуля: KERNELBASE.dll, версія: 10.0.19041.6280, позначка часу: 0x56511854
Код винятку: 0xe0434352
Зсув помилки: 0x0000000000025369
Код аварійного процесу: 0x38e38
Час запуску аварійного застосунку: 0x01dce21212e1155f
Шлях до аварійного застосунку: C:\Users\pikul\AppData\Roaming\Vintagestory\Vintagestory.exe
Шлях до аварійного модуля: C:\Windows\System32\KERNELBASE.dll
Код звіту: 9aec2650-a99c-4778-9084-aeb0400e5702
Повне ім'я аварійного пакету:
Код аварійного застосунку, що стосується пакету: }
--------------
{ TimeGenerated = 11.05.2026 21:05:11, Site = , Source = Application Error, Message = Назва аварійного застосунку: Vintagestory.exe, версія: 1.22.2.0, позначка часу: 0x693c0000
Назва аварійного модуля: openal32.dll, версія: 1.23.0.0, позначка часу: 0x63dd31ad
Код винятку: 0x40000015
Зсув помилки: 0x00000000000df046
Код аварійного процесу: 0x3790c
Час запуску аварійного застосунку: 0x01dce16e451ae70a
Шлях до аварійного застосунку: C:\Users\pikul\AppData\Roaming\Vintagestory\Vintagestory.exe
Шлях до аварійного модуля: C:\Users\pikul\AppData\Roaming\Vintagestory\Lib\openal32.dll
Код звіту: efbfcbe5-190a-497b-9e59-f8b643e0c3f9
Повне ім'я аварійного пакету:
Код аварійного застосунку, що стосується пакету: }
Running on 64 bit Windows 10.0.19045.0 with 16291 MB RAM
Game Version: v1.22.2 (Stable)
13.05.2026 14:40:36: Critical error occurred in the following mod: openbookanimation@1.0.0
Loaded Mods: walkingstick@3.0.4, ancientarmory@1.2.3, blackguardadditions@1.1.9, brickmold@1.3.1, chiblocksel@1.8.3, chiseltools@1.17.1, dyedhardenedclay@1.0.2, vichnybackpack@3.2.4, eternalschests@0.0.2, esp@4.0.5, expandedmolds@1.2.0, fagreenwich@1.4.5, faviking@1.1.6, forlornadditions@1.0.4, millwright@1.3.3, pipeleaf@2.5.1, ruggedrugs@0.0.4, scrollrackable@1.5.0, servantattire@1.0.0, shelfobsessed@2.1.4, spinningwheel@1.2.1, spivohrai@0.1.4, spyglass@0.6.0, tankardsandgoblets@1.4.2, tradie@2.0.1, translocatorengineeringredux@1.6.6, trashbinned@0.4.2, vanillavarnished@1.0.4, game@1.22.2, arthursjournal@2.0.1, apelanterns@1.4.0-pre.1, betterjonasdevicesfixedagain@2.1.6, billposting@2.0.0, butchering@1.13.2, carryon@1.14.1-pre.1, cartwrightscaravan@1.9.0, crbutterfly@1.1.1, displaycasewall@1.0.3, elkvariants@3.6.2, emotes@2.2.0, envelopes@3.8.3, foodshelves@3.0.2, footprints@1.2.1, gourmand@1.8.8, madcrowglider@1.22.0-rc.6, metalpots@1.7.3, meteoricsteel@1.0.13, mobsradar@3.0.0, moreanimals@1.6.6, ndlchiselpick@4.1.0, novelty@1.2.4, oldmap@1.0.1, onebedsleeping@3.0.1, openbookanimation@1.0.0, panningmachine@1.0.9, regalia@1.6.0, rivers@5.0.0, rpvoicechat@2.5.3, slowtox@5.0.0, soundofconfession@1.1.0, statushudcont@4.3.1, steadygreenhouses@1.1.1, substratereflush@1.0.1, treeshaker@1.1.0-rc.1, ufm@1.19.6, vanity@2.4.7, vinconomy@5.3.0, vsairshipmod@1.1.3, creative@1.22.2, vsroofing@1.5.5, survival@1.22.2, wildgrasscontinued@1.3.11, windchimes@1.5.0, bookbinders@1.4.0, shearlib@1.3.0, tailorsdelight@2.2.0, wool@1.9.1
System.MissingFieldException: Field not found: 'Vintagestory.API.Common.Entities.Entity.Pos'.
at MonoMod.Core.Interop.CoreCLR.V60.InvokeCompileMethod(IntPtr functionPtr, IntPtr thisPtr, IntPtr corJitInfo, CORINFO_METHOD_INFO* methodInfo, UInt32 flags, Byte** nativeEntry, UInt32* nativeSizeOfCode)
at MonoMod.Core.Platforms.Runtimes.Core60Runtime.JitHookDelegateHolder.CompileMethodHook(IntPtr jit, IntPtr corJitInfo, CORINFO_METHOD_INFO* methodInfo, UInt32 flags, Byte** nativeEntry, UInt32* nativeSizeOfCode)
at OpenBookAnimation.OpenBookAnimationModSystem.SetReadingState(EntityAgent entity, Boolean isReading) in C:\VSMods\OpenBookAnimation\OpenBookAnimation\OpenBookAnimationModSystem.cs:line 99
at OpenBookAnimation.OpenBookAnimationModSystem.SetReadingState(EntityAgent entity, Boolean isReading) in C:\VSMods\OpenBookAnimation\OpenBookAnimation\OpenBookAnimationModSystem.cs:line 99
at OpenBookAnimation.OpenBookAnimationModSystem.SetReading(EntityAgent entity, Boolean isReading) in C:\VSMods\OpenBookAnimation\OpenBookAnimation\OpenBookAnimationModSystem.cs:line 94
at OpenBookAnimation.ItemBookInteractPatch.Postfix(EntityAgent byEntity, EnumHandHandling& handling) in C:\VSMods\OpenBookAnimation\OpenBookAnimation\HarmonyPatches.cs:line 23
at Vintagestory.API.Common.CollectibleObject.OnHeldUseStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, Boolean firstEvent, EnumHandHandling& handling) in VintagestoryApi\Common\Collectible\Collectible.cs:line 1466
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, EnumHandHandling& handling) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 856
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 832
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 550
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 87
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 257
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1062
at Vintagestory.Client.GuiScreenRunningGame.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 251
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 783
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 686
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.05.2026 18:45:48, Site = , Source = Application Error, Message = Назва аварійного застосунку: Vintagestory.exe, версія: 1.22.2.0, позначка часу: 0x693c0000
Назва аварійного модуля: openal32.dll, версія: 1.23.0.0, позначка часу: 0x63dd31ad
Код винятку: 0x40000015
Зсув помилки: 0x00000000000df046
Код аварійного процесу: 0x38e38
Час запуску аварійного застосунку: 0x01dce21212e1155f
Шлях до аварійного застосунку: C:\Users\pikul\AppData\Roaming\Vintagestory\Vintagestory.exe
Шлях до аварійного модуля: C:\Users\pikul\AppData\Roaming\Vintagestory\Lib\openal32.dll
Код звіту: 66485ec0-970e-40d9-98e1-0bbf1c45001b
Повне ім'я аварійного пакету:
Код аварійного застосунку, що стосується пакету: }
--------------
{ TimeGenerated = 12.05.2026 18:45:34, Site = , Source = Application Error, Message = Назва аварійного застосунку: Vintagestory.exe, версія: 1.22.2.0, позначка часу: 0x693c0000
Назва аварійного модуля: KERNELBASE.dll, версія: 10.0.19041.6280, позначка часу: 0x56511854
Код винятку: 0xe0434352
Зсув помилки: 0x0000000000025369
Код аварійного процесу: 0x38e38
Час запуску аварійного застосунку: 0x01dce21212e1155f
Шлях до аварійного застосунку: C:\Users\pikul\AppData\Roaming\Vintagestory\Vintagestory.exe
Шлях до аварійного модуля: C:\Windows\System32\KERNELBASE.dll
Код звіту: 9aec2650-a99c-4778-9084-aeb0400e5702
Повне ім'я аварійного пакету:
Код аварійного застосунку, що стосується пакету: }
--------------
{ TimeGenerated = 11.05.2026 21:05:11, Site = , Source = Application Error, Message = Назва аварійного застосунку: Vintagestory.exe, версія: 1.22.2.0, позначка часу: 0x693c0000
Назва аварійного модуля: openal32.dll, версія: 1.23.0.0, позначка часу: 0x63dd31ad
Код винятку: 0x40000015
Зсув помилки: 0x00000000000df046
Код аварійного процесу: 0x3790c
Час запуску аварійного застосунку: 0x01dce16e451ae70a
Шлях до аварійного застосунку: C:\Users\pikul\AppData\Roaming\Vintagestory\Vintagestory.exe
Шлях до аварійного модуля: C:\Users\pikul\AppData\Roaming\Vintagestory\Lib\openal32.dll
Код звіту: efbfcbe5-190a-497b-9e59-f8b643e0c3f9
Повне ім'я аварійного пакету:
Код аварійного застосунку, що стосується пакету: }
this would be amazing if there's a version for when you open the map in some way!
XP books just give you xp, there isnt anything being read afaik
does this work with XP books?
Great to know, thanks :)
It most likely will work because the animation used is a vanilla animation. No actual new animations in this mod, just the reading state Streetwind
Out of curiosity, does an extra animation like this still work correctly 'out of the box' when a custom player model is loaded using Player Model Lib? Or would the animation have to be tuned for each specific third party model individually?
Surprised this isn't in the base game yet.