Mods / Useful Stuff (Unofficial)

Category: #Technology
Author: Stahl
Side: Both
Created: Sep 23rd 2022 at 1:51 PM
Last modified: Oct 7th 2022 at 5:42 PM
Downloads: 3396
Follow Unfollow 44

See jakecool19's Useful Stuff for more info.

Wicker shield has been removed because I didn't want to debug it. 🀷‍♂️ Otherwise your old pottery kilns, climbing picks, etc. should work, hopefully even normally. πŸ˜„

Bendy chute might have a problem that was solved in Useful Stuff 2.3.1... The source code on Github is unfortunately for 2.3.0., so I don't know the solution yet. πŸ˜…

Version For Game version Downloads Release date Changelog Download
v1.0.2 2473 Oct 7th 2022 at 5:42 PM Show
v1.0.1 675 Sep 24th 2022 at 7:21 PM Show
v1.0.0 248 Sep 23rd 2022 at 3:17 PM Show

19 Comments (oldest first | newest first)

💬 Thranos, Nov 29th 2022 at 10:38 PM

I've noticed a bit of an exploit with the clothing recycling feature (which is unfortunate because it's very useful).
Some clothing items allow you to basically transmute resources- IE a rawhide mantle/trousers (made from raw hides) can be recycled into... twine?
There's also some mod interactions, such as a grass cape being able to be turned into twine as well.

Is there any way to fix this on my end/the server I'm running US(U) on?

💬 Mendall, Nov 3rd 2022 at 4:24 PM

@CaveSalamander yes I have all he needs, I build him a little cabin with a bed and a storage jar full of bread and grain.

and I do get spawns, I just seldom figure out he is there because I get busy.

but thanks for the info about spawning behavior it will come in handy,

I think I’m going to build a little trading village.

with about 6 little houses and place the mats two days apart so there is always at least one trader on hand.

I know that he is spawning even when I don’t catch him because the money in the jar keeps going up.

A feature I kinda try to ignore.

Because to me the point is seeing how much money can make from trading.

So I have to keep that money separate so It does not corrupt my count. I take it out back and throw it in the lake to de-spawn every now and again.

💬 CaveSalamander, Nov 1st 2022 at 8:10 PM

@Mendall are you sure you have the mat's requirements met as listed in the Useful Stuff Guide? It needs a bed and a container with food nearby (no real requirement to be in a "room", open air works in a pinch). A trader's arrival time matches the time the mat was placed down, and days are counted in 24h increments. If the chunk gets unloaded the mat 'catches up' once you return by quickly cycling days until it matches current time so you don't miss any payments traders may have left.

Mats cannot be placed in the same enclosed space (it won't let you), but in a non-enclosed space they can be placed 8 blocks apart, and if given separate rooms they ignore other mats so you can make small temporary rooms for tighter placement. Once placed, mats don't care about each other, even if their 'room' gets deleted, and several merchants can spawn right by each other as long as they all have food available. Should not be an issue for performance if you're only spawning ~4-6 at a time.

💬 TheNiteFox, Oct 27th 2022 at 5:52 PM

@Stahl No I was just thinking itd be cool to make use of the potions from Alchemy for the Arrow Tips, bears didnt even cross my mind, I wouldnt care what the effects would be, we just be nice to have more uses and crosscompabtability was all I was saying ^_^ Or are the arrows in this mod just for shooting bears? o.o 

💬 Mendall, Oct 26th 2022 at 5:30 PM

@stahl   I had not thought of all that,  I play single player so I never considered how the idea would efect a server. But if he just had a bell to ring that would be herd if you are in the area. or maybe just some info posted someplace that explaines in detail his spawning behavior like for instance. does he always spawn at same time of day. how close do you have to be for him to spawn(because I have noticed sometimes he is not there even though the rug said he is.), when rug says he will spawn within a day is that 12 hours or 24.  I have been brainstorming on this for days because I just can't ever catch him at home. another question if i place say 4 rugs to up my chances can they all be in the same room or do they need there own rooms, will more than one spawn at all, and if so will it cause problems of any kind for the server.

as for your question. they should notify when they arive so if you are buisy building or something you know to go trade. 

BTW I agree with TheNightFox parts of this mod especialy the lantern are a god send especialy now that you need to have a hammer in off hand to chisle. that made chisleing at night or in a dark room near imposible without this mod, thnks for that

💬 Stahl, Oct 26th 2022 at 1:33 PM

Mendall Not sure how to go about it. I think the trader makes their usual noices when present, but beyond that, when should the trader notify that they have arrived: when they arrive, or when someone is close by? Who should they notify: only the person who places the mat, the whole server, or people nearby? How should they notify? What if you miss the first notification because you're not near the trader? Maybe what you need instead is for the trader to stay longer?

TheNiteFox So you want to give more movement speed and mining efficiency to the bear you shoot? Maybe even make it more hungry? πŸ€”πŸ˜…

BananaBob What kind of buff? The sluice ramp is already very configurable in the configuration file.

💬 BananaBob, Oct 25th 2022 at 8:04 PM

any chance sluice ramps will be getting a buff? right now its a huge waste of resource to set them up with very little in terms of rewards

💬 TheNiteFox, Oct 25th 2022 at 2:37 AM

This is just a thought, but it would be really cool if the Tipped Arrows could also use the potions from the Alchemy mod. Idk where I was going with this thought though haha. Just thought itd be cool to dip the arrows into something and it gives them effects. :) 

💬 TheNiteFox, Oct 25th 2022 at 12:55 AM

Thank you so much for updating this mod! I use ABCS and Moreclasses all the time and love the latern feature that comes with this for the ABCS backpacks :') 

💬 Mendall, Oct 20th 2022 at 11:40 PM

Is there any way to get the travling merchant to ring a bell 

I supply or put a message in chat when he arives.

💬 Stahl, Oct 10th 2022 at 8:23 AM

Amigurumi In my tests I get the red text and no errors. πŸ€”The area is checked for blacklisted items before trying to pack it. It could be that there is some item that causes the error when you try to pack it, but it shouldn't be blacklisted, and in fact the same error should occur if you try to export it in creative mode, because the code uses the same function (besides, you can export Useful Stuff blacklisted items in creative mode without errors). But your error message seems to imply that it's not necessarily an item that's causing the crash, since it says there is something null in Entity.OnStoreCollectibleMappings(Dictionary`2 blockIdMapping, Dictionary`2 itemIdMapping), so something is null in

foreach (var val in Properties.Server.Behaviors)
val.OnStoreCollectibleMappings(blockIdMapping, itemIdMapping);


I'm pretty sure val==null, so something in Properties.Server.Behaviors has to be null. That makes me think the source is something outside Useful Stuff. 🀷‍♂️

Can you pack things that don't contain blacklisted stuff? Or is it just the blacklisted stuff causing problems? I can add error handling, but it won't make the tent bag work I think: it just stops the crashing. 🀷‍♂️

💬 Amigurumi, Oct 9th 2022 at 5:51 PM

I think I found the cause. It looks like instead of popping the red text to tell you that you can't pack things like a placed anvil, it caused a client crash. Tried it out with a couple of the other blacklisted items. Everything else worked as expected and the bags don't pack when trying to pack with these items in the build so no worries of corrupted bags. Just seems to be not handling the error message without crashing.

💬 Stahl, Oct 9th 2022 at 1:07 PM

Amigurumi: I suspect it's a problem with some other mod/thing that just shows up when you use the tent bag.  πŸ€” I'm not sure I can help/debug this thing, as it seems to happen 'outside' the mod, but I'll think about it. If you can, see if the problem persist when you export structures in creative mode.

💬 Amigurumi, Oct 8th 2022 at 6:19 PM

Got this crash when packing a tent bag. Any ideas?

Running on 64 bit Windows with 32 GB RAM
Game Version: v1.17.6 (Stable)
10/8/2022 12:18:15 PM: Critical error occurred in the following mod: usefulstuff17@1.0.1
Loaded Mods: acorns@0.5.1, aculinaryartillery@1.0.6, animalcages@2.0.6, backpackpackplus@1.0.3, betterruins@0.0.2, BuggisRandomChanges@3.1.0, buildersblocks@1.0.0, chiseltools@1.5.5, fieldsofgold@2.0.2-rc.1, moreclasses@1.2.4, necessaries@1.1.3, nightwatcher@1.3.0, pieontheshelf@1.0.0, potontheshelf@1.0.0, primitivesurvival@3.0.5, qptech@1.10.4, rustandrails@1.0.3, sleevesdecor@1.0.1, locustmod@2.3.5, tradeomat@1.6.3, translocatorengineeringredux@1.2.0, game@1.17.6, wildcrafttrees@1.0.1, wildcraft@1.4.4, carrycapacity@0.6.5, dsdebarkedlogs@1.0.5, expandedfoods@1.6.1, extrajuice@1.0.1, fromgoldencombs@1.3.15, legendarymobs@1.1.0, lichen@1.6.1, medievalexpansion@3.8.0, moreanimals@1.2.3, moredoor@1.0.0, petai@1.5.4, playercorpse@1.4.1, roadworks@1.0.7, ruinvariants@1.0.1, usefulstuff17@1.0.1, creative@1.17.6, vsquest@0.0.4, survival@1.17.6, workbenchexpansion@1.5.0, xlib@0.6.10, xrowboat@0.0.5, cats@1.5.3, elsewherequests@1.0.1, em@1.0.1, feverstonehorses@1.2.9, moremolds@1.2.0, wolftaming@1.5.4, xskills@0.6.12, bricklayers@1.1.1
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.API.Common.Entities.Entity.OnStoreCollectibleMappings(Dictionary`2 blockIdMapping, Dictionary`2 itemIdMapping) in C:\Users\tyron\Documents\vintagestory\game\VintagestoryApi\Common\Entity\Entity.cs:line 1702
at Vintagestory.API.Common.EntityAgent.OnStoreCollectibleMappings(Dictionary`2 blockIdMapping, Dictionary`2 itemIdMapping) in C:\Users\tyron\Documents\vintagestory\game\VintagestoryApi\Common\Entity\EntityAgent.cs:line 1123
at Vintagestory.API.Common.BlockSchematic.AddArea(IWorldAccessor world, BlockPos start, BlockPos end) in C:\Users\tyron\Documents\vintagestory\game\VintagestoryApi\Common\Collectible\Block\BlockSchematic.cs:line 314
at UsefulStuff.ItemTentbag.OnHeldInteractStart(ItemSlot slot, EntityAgent byEntity, BlockSelection blockSel, EntitySelection entitySel, Boolean firstEvent, EnumHandHandling& handling)
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel, EnumHandInteract useType, EnumHandHandling& handling) in C:\Users\tyron\Documents\vintagestory\game\VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 852
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseActiveSlotItem(BlockSelection blockSel, EntitySelection entitySel) in C:\Users\tyron\Documents\vintagestory\game\VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 835
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in C:\Users\tyron\Documents\vintagestory\game\VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 540
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in C:\Users\tyron\Documents\vintagestory\game\VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 86
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in C:\Users\tyron\Documents\vintagestory\game\VintagestoryLib\Client\Util\ClientEventManager.cs:line 201
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in C:\Users\tyron\Documents\vintagestory\game\VintagestoryLib\Client\ClientMain.cs:line 1174
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in C:\Users\tyron\Documents\vintagestory\game\VintagestoryLib\Client\ClientMain.cs:line 1362
at Vintagestory.Client.GuiScreenRunningGame.RenderToDefaultFramebuffer(Single dt) in C:\Users\tyron\Documents\vintagestory\game\VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 202
at Vintagestory.Client.ScreenManager.Render(Single dt) in C:\Users\tyron\Documents\vintagestory\game\VintagestoryLib\Client\ScreenManager.cs:line 709
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in C:\Users\tyron\Documents\vintagestory\game\VintagestoryLib\Client\ScreenManager.cs:line 613
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(Object sender, FrameEventArgs e) in C:\Users\tyron\Documents\vintagestory\game\VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 124
at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
at OpenTK.GameWindow.RaiseRenderFrame(Double elapsed, Double& timestamp) in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:line 476
at OpenTK.GameWindow.DispatchRenderFrame() in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:line 452
at OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second) in C:\Users\Nexrem\Desktop\transfer\opentk\src\OpenTK\GameWindow.cs:line 375
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in C:\Users\tyron\Documents\vintagestory\game\VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93

Event Log entries containing Vintagestory.exe, the latest 3
{ TimeGenerated = 10/7/2022 11:25:01 AM, Site = , Source = Application Hang, Message = The program Vintagestory.exe version stopped interacting with Windows and was closed. To see if more information about the problem is available, check the problem history in the Security and Maintenance control panel.

Process ID: 43d0

Start Time: 01d8da6c1f25d83b

Termination Time: 6

Application Path: C:\Users\geeke\AppData\Roaming\Vintagestory\Vintagestory.exe

Report Id: 0d27a85a-b3af-4879-8300-c2e463ce056c

Faulting package full name:

Faulting package-relative application ID:

Hang type: Unknown
{ TimeGenerated = 10/7/2022 11:24:55 AM, Site = , Source = Windows Error Reporting, Message = Fault bucket 1916843002928761099, type 5
Event Name: AppHangB1
Response: Not available
Cab Id: 0

Problem signature:
P1: Vintagestory.exe
P3: 633bf838
P4: 9281
P5: 134217728

Attached files:

These files may be available here:

Analysis symbol:
Rechecking for solution: 0
Report Id: 0d27a85a-b3af-4879-8300-c2e463ce056c
Report Status: 268435456
Hashed bucket: bc89ab0a4b894325fa99fe8e27c3090b
Cab Guid: 0 }
{ TimeGenerated = 10/7/2022 10:42:17 AM, Site = , Source = Windows Error Reporting, Message = Fault bucket 1818027785413511276, type 4
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: Vintagestory.exe
P3: 633bf838
P4: nvwgf2umx.dll
P6: 5e6e125e
P7: c0000005
P8: 0000000000c144d7

Attached files:

These files may be available here:

Analysis symbol:
Rechecking for solution: 0
Report Id: 2bbceaa5-2931-4a04-8c8b-fb1f747e766b
Report Status: 268435456
Hashed bucket: 443ca877979db03c993aeea3755cc86c
Cab Guid: 0 }

💬 Zufar, Oct 8th 2022 at 3:43 PM

Thank you for doing this!

💬 Stahl, Sep 28th 2022 at 6:50 PM


Can't replicate, seems to work fine for me. πŸ€”

💬 Saytromi, Sep 28th 2022 at 4:03 PM

1.17.4, dont work sluice ramp

💬 Stahl, Sep 25th 2022 at 11:57 AM

@Nudge I can't seem to replicate this, the clip on works fine in my tests. Can you post your logs from VintageStoryData/Logs to e.g. server-main, server-debug, client-main, client-debug might be able to tell me something. 🀷‍♂️

💬 Nudge, Sep 25th 2022 at 4:24 AM

The lantern clip on feature doesn't seem to work.

(edit comment delete)