Mods / Vastly Enough Items
- Tags:
- Author:
- Dylan3124567
- Side:
- Both
- Created:
- Jun 8th at 8:30 AM
- Last modified:
- Jun 10th at 12:05 AM
- Downloads:
- 309
-
Recommended download (for Vintage Story 1.22.3):
VastlyEnoughItems-v0.4.0.zip 1-click install
I love this game, but as an avid minecraft modder I noticed the complete lack of (an updated) mod that parallels JEI! Now I like the handbook as much as the next guy, but the menu in VEI is more convenient to me personally. I built this mod for personal use, and decided to share it with you all!
O: Toggles the VEI menu.
R (when hovering over an item): Shows the recipe.
U (when hovering over an item): Shows the uses.
"+" button in recipe viewer: Auto places items in the crafting grid.
If anyone runs across bugs I will attempt to fix them.
You may use this in any modpack! Permission not required!
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 0.4.0 | vastlyenoughitems | 165 | Jun 10th at 12:04 AM | VastlyEnoughItems-v0.4.0.zip | 1-click install | ||
| |||||||
| 0.3.0 | vastlyenoughitems | 84 | Jun 8th at 7:33 PM | VastlyEnoughItems-v0.3.0.zip | 1-click install | ||
| |||||||
| 0.2.0 | vastlyenoughitems | 37 | Jun 8th at 1:19 PM | VastlyEnoughItems-v0.2.0.zip | 1-click install | ||
| |||||||
| 0.1.0 | vastlyenoughitems | 23 | Jun 8th at 9:37 AM | VastlyEnoughItems-v0.1.0.zip | 1-click install | ||
|
Release :3 | |||||||


Your mod is missing the part of the recipe that requires tools. EG. If I try to make an axle, it doesn't show the hammer and chisel.
Is VastlyEnoughItems the cause of this crash?
11.6.2026 10:21:32 [Warning] VastlyEnoughItems could not read survival handbook pages, using fallback handbook visibility filter. System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.InvalidOperationException: ConcurrentSmallDictionary was written to with the same key 'freshHours' in two different threads, we can't handle that!
at Vintagestory.Common.DTable`2.DuplicateKeyCheck(TKey key) in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryApi\Datastructures\ConcurrentSmallDictionary.cs:line 470
at Vintagestory.Common.ConcurrentSmallDictionary`2.Add(TKey key, TValue value) in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryApi\Datastructures\ConcurrentSmallDictionary.cs:line 102
at Vintagestory.API.Common.CollectibleObject.UpdateAndGetTransitionStatesNative(IWorldAccessor world, ItemSlot inslot) in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryApi\Common\Collectible\Collectible.cs:line 2997
at Vintagestory.API.Common.CollectibleObject.AppendPerishableInfoText(ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world) in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryApi\Common\Collectible\Collectible.cs:line 2204
at Vintagestory.API.Common.CollectibleObject.GetHeldItemInfo_Patch7(CollectibleObject this, ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo)
at Vintagestory.GameContent.GuiHandbookItemStackPage..ctor(ICoreClientAPI capi, ItemStack stack) in C:\Users\Tyron\Documents\vintagestory\game\VSSurvivalMod\Systems\Handbook\Gui\GuiHandbookItemStackPage.cs:line 35
at Vintagestory.GameContent.ModSystemSurvivalHandbook.onCreatePagesAsync_Patch1(ModSystemSurvivalHandbook this)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.RuntimeMethodHandle.InvokeMethod(ObjectHandleOnStack target, Void** arguments, ObjectHandleOnStack sig, BOOL isConstructor, ObjectHandleOnStack result)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
--- End of inner exception stack trace ---
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at VintageStoryJEI.ItemBrowserIndex.BuildHandbookVisibleCodes()
11.6.2026 10:21:32 [Fatal] Game Version: v1.22.3 (Stable)
6/11/2026 10:21:32 AM: Critical error occurred
Loaded Mods: walkingstick@3.0.9, alatyrstorcholders@1.2.0, hardcorewaterforked@1.4.6, arrowheadsrecovery@1.0.3, astriaporta@0.1.5, backpackpackplusfg@1.4.1, bettercrates@1.10.0, boricalchemy@1.9.3, chiseltools@1.17.2, claycasting@1.3.8, craftfirepit@1.0.0, creaturefootsteps@1.3.0, diversediets@1.0.4, fallingtree@0.5.2, feathercompost@1.0.0, flexibletools@3.6.1, bovinae@0.3.5, caninae@1.1.5, capreolinae@2.0.12, casuariidae@1.1.9, cervinae@0.1.13, chelonioidea@1.0.7, dinornithidae@1.0.22, elephantidae@1.0.17, felinae@0.2.13, iniidae@0.1.6, machairodontinae@1.1.9, manidae@1.0.19, meiolaniidae@0.1.10, pantherinae@1.2.13, rhinocerotidae@1.0.23, spheniscidae@1.0.16, thylacinidae@0.1.6, viverridae@1.0.8, vombatidae@0.4.5, fuelbriquettes@1.0.2, hidearmor@0.0.3, hydrateordiedrate@2.4.12, immersiveorecrush@2.2.5, jsonpatcheslib@1.5.3, metalbuckets@1.0.1, millwright@1.3.3, molds@0.3.3, moremolds@1.4.25, sae_tule@0.4.0, overhaulliblegacycompat@1.1.20, primitivesurvival@5.0.6, prospecttogether@2.2.1, scrapsrevived@2.2.0, simpleyeetable@2.3.0, slings@0.0.4, purrshidesize@1.1.1, stoneharvesting@1.2.2, stonequarryrepckfipil@3.6.3, storagecontroller@1.2.2, tankardsandgoblets@1.4.2, temporalsymphony@2.3.2, terratag@0.4.5, toolbelt@0.3.5, tradie@2.0.1, translocatorengineeringredux@1.6.6, translocatormap@1.0.0, trashbinned@0.4.2, tseasonedfirewood@1.2.9, vastlyenoughitems@0.4.0, game@1.22.3, vsimgui@1.2.7, whichoreiswhich@1.0.0, accessibilitytweaks@5.0.0, aculinaryartillery@2.0.0-dev.20, aemonsessentials@0.0.3, airthermomod@0.5.0, alchemy@2.1.0-rc.66, algernonsterrainsampler@1.3.0, alloycalculatorstuzzichino@1.2.17, altmapiconrenderercontinued@1.6.0, ancestralblissshaders@1.3.12, ancientlib@1.0.0, ancienttoolsresinharvest@1.0.0, animalcages@5.0.0, animationslib@0.0.2, anvilperformanceoptimization@1.0.0, attributerenderinglibrary@3.1.5, betterentitytooltip@1.1.0, bettererprospecting@3.3.3, betterruins@0.6.2, bitterbrew@1.9.0, bloomerytiers@1.0.4, botaniastory@0.3.4, buildingwands@1.0.2, butchering@1.13.4, cancrops@0.5.3, carryonlib@1.0.0-pre.4, championsuniquemonsterslite@1.0.0, commonlibforked@2.8.1, composter@1.2.2, configlib@1.12.0, upgradablestorage@1.1.9, caffcuniculture@1.22.3, daytrader@1.0.6, dryfuels@0.2.0, dryingspeedoverhaul@1.1.4, expandedbeekeepingfork@0.3.1, extrainfo@2.2.1, farseer@1.4.0, fastmap@122.5.1, firepitsheatovens@1.0.0, florishingfungus@1.1.1, foodshelves@3.0.4, geologymap@1.1.0, gimap@1.7.0, healthbar@1.4.2, inventorytransfer@1.7.0, itempickuphighlighter@1.3.0, knapster@4.0.0, manureecology@1.2.1, millwrightvawtaddon@1.0.3, mwi@1.9.0, trailmodmaro@1.3.21, navi@1.0.6, ndlclayworks@1.1.1, ndlcoralgrowth@2.1.0, ndlflowergrowth@2.2.1, ndlgrassgrowth@2.0.0, ndlmushroomgrowth@2.2.0, novelty@1.2.4, panningmachine@1.0.11, particlesplus@2.5.8, playerstatusstrip@1.0.1, claywheel@2.0.1, progressionframework@1.1.0, purposefulstorage@2.0.1, qualitygears@1.1.17, realisticwater@0.2.2, realmeat@1.6.0, rememberselectedmaplayers@1.0.0, rustboundmagic@3.2.2, scaffolding@1.3.1, shadehouse@1.2.3, simplejewelry@1.1.1, simpletailoring@1.1.6, slowtox@5.0.0, smithingplus@1.9.0-rc.1, spawnhighlightreborn@1.2.0, spyglass@0.6.1, statushudcont@4.3.1, stonebakeoven@1.3.4, substrate@2.0.0, temporalfatigue@1.5.0, improvedmetallurgy@1.1.5, toolsmith@1.2.17, toomanytabs@1.0.0, truecolorlayer@1.4.0, universalhusbandry@1.2.1, unofficialbugfix@0.1.2, creative@1.22.3, vsecomachina@0.6.1, survival@1.22.3, ancienttoolsmortar@1.0.0, autoconfiglib@2.0.10, bounties@1.0.7, carryon@2.0.0-pre.4, rlldtco0001@2.3.0, crossbowsfork@1.9.13, expandedfoods@2.0.0-dev.9, fallingecomachina@0.1.1, fotsabutcheringcompat@0.1.0, functionalminerbeltandlantern@1.0.5, heatretentioncontinued@1.0.3, helvehammerextforked@1.9.1, quiversfork@0.9.11, seafarer@0.5.14, seraphleveling@1.17.2, shearlib@1.3.0, slowtoxvisualized@1.1.10, soilamendments@1.0.0, storagetweaks@1.3.0, visiblenaturaltrails@0.2.1, butcheringseraphlevelingcompatibility@1.1.1, efmealsmodule@1.0.0-dev.4, sandwich@1.3.0, wool@1.9.2, shearregret@1.0.1
Involved Harmony IDs: com.chronolegionnaire.hydrateordiedrate, OverhaulLib:Transpilers, qualitygears.patches, improved_metallurgy, extrainfo, com.jakecool19.efrecipes.cookingoverhaul
System.InvalidOperationException: ConcurrentSmallDictionary was written to with the same key 'freshHours' in two different threads, we can't handle that!
at Vintagestory.Common.DTable`2.DuplicateKeyCheck(TKey key) in VintagestoryApi\Datastructures\ConcurrentSmallDictionary.cs:line 470
at Vintagestory.Common.ConcurrentSmallDictionary`2.Add(TKey key, TValue value) in VintagestoryApi\Datastructures\ConcurrentSmallDictionary.cs:line 102
at Vintagestory.API.Common.CollectibleObject.UpdateAndGetTransitionStatesNative(IWorldAccessor world, ItemSlot inslot) in VintagestoryApi\Common\Collectible\Collectible.cs:line 2997
at Vintagestory.API.Common.CollectibleObject.AppendPerishableInfoText(ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world) in VintagestoryApi\Common\Collectible\Collectible.cs:line 2204
at Vintagestory.API.Common.CollectibleObject.GetHeldItemInfo_Patch7(CollectibleObject this, ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo)
at Vintagestory.GameContent.GuiHandbookItemStackPage..ctor(ICoreClientAPI capi, ItemStack stack) in VSSurvivalMod\Systems\Handbook\Gui\GuiHandbookItemStackPage.cs:line 35
at Vintagestory.GameContent.ModSystemSurvivalHandbook.onCreatePagesAsync_Patch1(ModSystemSurvivalHandbook this)
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.QueueUserWorkItemCallback.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
at System.Threading.Thread.StartCallback()
Crash written to file at "/home/hiran/.config/VintagestoryData/Logs/client-crash.log"
11.6.2026 10:21:32 [Notification] Exiting game now. Server running=True. Exit reason: Game crashed
11.6.2026 10:21:32 [Notification] Destroying game session, waiting up to 200ms for client threads to exit
11.6.2026 10:21:34 [Error] Mod exception during event LeaveWorld. Will skip to next event
11.6.2026 10:21:34 [Error] Exception: Cannot call this method outside the main thread. Not thread safe to do so. You can use the thread safe method .EnqueueMainThreadTask() to queue up the register on the main thread instead.
at Vintagestory.Client.NoObf.ClientEventAPI.UnregisterGameTickListener(Int64 listenerId) in VintagestoryLib\Client\API\ClientEventAPI.cs:line 735
at Vintagestory.GameContent.GuiDialogWorldMap.Dispose() in VSEssentials\Systems\WorldMap\GuiDialogWorldMap.cs:line 290
at Vintagestory.GameContent.WorldMapManager.<StartClientSide>b__19_1() in VSEssentials\Systems\WorldMap\WorldMapManager.cs:line 111
at Vintagestory.Client.NoObf.ClientEventAPI.<>c.<TriggerLeaveWorld>b__177_0(Action dele) in VintagestoryLib\Client\API\ClientEventAPI.cs:line 506
at Vintagestory.Client.NoObf.ClientEventAPI.Trigger[T](Delegate[] delegates, String eventName, Action`1 onDele, Action onException) in VintagestoryLib\Client\API\ClientEventAPI.cs:line 255
11.6.2026 10:21:34 [Notification] Stopping single player server
11.6.2026 10:21:37 [Error] [accessibilitytweaks] An exception was thrown when trying to start the mod:
11.6.2026 10:21:37 [Error] [accessibilitytweaks] Exception: Cannot call this method outside the main thread. Not thread safe to do so.
at Vintagestory.Client.NoObf.ClientEventAPI.UnregisterRenderer(IRenderer renderer, EnumRenderStage stage) in VintagestoryLib\Client\API\ClientEventAPI.cs:line 583
at AccessibilityTweaks.Features.ColourCorrection.ColourCorrection.Dispose()
at Vintagestory.Common.ModLoader.TryRunModPhase(Mod mod, ModSystem system, ICoreAPI api, ModRunPhase phase) in VintagestoryLib\Common\API\ModLoader.cs:line 684
11.6.2026 10:21:37 [Error] Failed to run mod phase Dispose for mod AccessibilityTweaks.Features.ColourCorrection.ColourCorrection
11.6.2026 10:21:37 [Error] [walkingstick] An exception was thrown when trying to start the mod:
11.6.2026 10:21:37 [Error] [walkingstick] Exception: Cannot call this method outside the main thread. Not thread safe to do so. You can use the thread safe method .EnqueueMainThreadTask() to queue up the register on the main thread instead.
at Vintagestory.Client.NoObf.ClientEventAPI.UnregisterGameTickListener(Int64 listenerId) in VintagestoryLib\Client\API\ClientEventAPI.cs:line 735
at WalkingStick.WalkingStickClient.Dispose()
at WalkingStick.WalkingStick.Dispose()
at Vintagestory.Common.ModLoader.TryRunModPhase(Mod mod, ModSystem system, ICoreAPI api, ModRunPhase phase) in VintagestoryLib\Common\API\ModLoader.cs:line 684
11.6.2026 10:21:37 [Error] Failed to run mod phase Dispose for mod WalkingStick.WalkingStick
11.6.2026 10:21:39 [Notification] [SeraphLeveling] Successfully hooked into character dialog for scrollable traits
11.6.2026 10:21:39 [Warning] Entity attachable shape quiversandsheaths:sheaths/back/full/blackguardsword defined in Item quiversandsheaths:shoulderbag-back-sheath-backscabbard not found or errored, was supposed to be at quiversandsheaths:shapes/sheaths/back/full/blackguardsword.json. Shape will be invisible.
11.6.2026 10:21:39 [Event] [ancestralblissshaders] [ancestral-bliss-shaders] Deferred FBO layout: size 1920x1080, attachments=4 (2 local + 2 primary reuse), format=Rgba16f/Float, drawBuffers=4
seems its something involving the handbook. ill fix it next version (adding some bigger features)
I don't know how feasible it is, but can you "catch" scrolling only when mouse is over VastlyEnoughItems UI?
added in 0.4.0
Still not seeing the search bar, not sure if its a conflict or what.
Could you send me your logs? im not sure if there is private messaging, but my discord is @Dylan3124567! screenshots would be useful too!
I sent a friend request. Which logs do you need specifically? Also another thing I noticed is some things show the uses with r. Sometimes it bugs out and u will be what r does and show the crafting menu, other times it bugs out and just opens the handbook tutorial.
Ты просто красавчик! Благодарю!
A little bug, you can't have fullscreen and have your GUI 9+, you won't be able to use the search bar
fixed
Can't believe it took so long for someone to make this mod. JEI is one of the most essential mods in all of minecraft, so it makes sense it would be of value in this game
:3
To be fair, the vanilla handbook provides a lot of the NEI type features already.
Just not in a way that's as conveniant as NEI type mods.
So it does kind of make sense why it took so long.
The whole reason i made betterhandbook was the basic missing features that jei had but the vanilla handbook already has so many issues and lag.
Also I'll have to update harmony patches any time they update it but it is another workaround.
A completely separate gui for looking up recipes could definitely be easier to upkeep as even adding the autofill button to handbook was kind of a pain and the handbook is still not as performant as I would like.
I'd like to keep compatibility with this mod. My mod is open source if you want to check. I don't think it will have issues as long as this is focused on the custom menu.
i am completely down to work with you on compatability! I actually used your mod for the longest time.
realistically my next things ill work on is improved modding compatability, (especially with modded benches, and ill try to work on some compatability with betterhandbook as well) and ui improvements. I should create an api so other mod authors can more cleanly integrate. Thank you for checking out my mod! everyone has been so kind.
Please add:
@ to filter items by the mod name.
Something to specifically look for items with specific tags, like #weapon etc.
Ability to use mouse scroll to switch pages. Using these buttons is super inconvenient.
I believe that these 3 things are what this mod desperately needs.
added :)
With these changes added its already at v1.0 state.
Thanks.