Mods / Durable Better Prospecting
Author: DetPikachu
Side: Both
Created: Sep 5th at 1:17 PM
Last modified: Oct 30th at 5:15 PM
Downloads: 5030
Follow Unfollow 133
Recommended download (for Vintage Story 1.21.0 - 1.21.5):
durablebetterprospecting_21.2.0.zip
1-click install
OVERVIEW
This mod is for those players who find prospecting for ores somewhat tedious and would like to improve their experience without resorting to cheating or upping the world gen settings to unfun levels. It offers different modes of prospecting that should make the experience more pleasant, without completely removing the difficulty aspect of the process.
NOTE: Whilst an attempt to somewhat balance the default values has been done, this mod was not tested extensively in survival. If you find the default values unbalanced, please leave a comment, post a message on the mod's thread in the official VS Discord, or open an issue on the Issue Tracker with your suggestions!
SUPPORT AND SUGGESTIONS
If you have any questions or suggestions, or encounter any bugs, leave a comment, post a message on the mod's thread in the official VS Discord, or open an issue on the Issue Tracker!
BREAKING CHANGES
21.2.0 - Changes the sampled area from a cuboid to a sphere / cylinder. The configuration entries for sizes now refer to a radius, rather than a diameter. As such, the default values are now half of what they used to be. If you encounter performance issues or simply want to use the new defaults, you can reset them using ConfigLib, or by deleting the VintagestoryData/ModConfig/durablebetterprospecting/common.json file and letting the mod regenerate it. It is, nonetheless, recommended to halve your existing values for the behavior to remain the same, otherwise the sampled area is effectively double the volume it used to be.
21.1.0 - Is a complete rewrite. The mod will attempt to automatically migrate the configuration from 1.4.0, but manual checking is recommended. Please report any bugs you find using any of the channels mentioned above.
1.2.0 - Adds various new fields to the configuration file. The mod should automatically upgrade configuration files, thus no longer requiring manual deletion. The default values have also been changed in an attempt to make the mod more balanced by default.
1.1.0 - Changes the structure of the configuration file. It is recommended, but not necessary, to delete the old one and let the mod recreate it.
FEATURES
- Multiple prospecting modes to choose from
- Density - The vanilla Density mode, with the option to simplify it to require a single block to be sampled instead of 3.
- Node - The vanilla Node mode. Disabled by default.
- Rock - Outputs the shortest distance to each rock type found in the area.
- Column - Outputs all ores found in the area, from the mantle to the world height.
- Distance - Outputs the shortest distance to each ore type found in the area. Available in short, medium and long range variants.
- Quantity - The vanilla Node mode but with increased range and added features. Available in short, medium and long range variants.
- Fully configurable
- Integrated with ConfigLib (optional dependency).
- Changes done through ConfigLib are synchronized automatically, meaning you don't need to reload the world / server for them to take effect.
- This is true in both single-player and multi-player setups.
- Common configuration (used on both the server and the client) can be edited in-game in a dedicated server setup if the player has the controlserver privilege.
- Modes and their variants can be individually enabled or disabled to reduce visual clutter if a certain mode is never desired.
- Enabling or disabling a mode will automatically refresh on all connected clients, meaning no world / server reload is needed.
- Enabling or disabling a mode will automatically refresh on all connected clients, meaning no world / server reload is needed.
- Readings can be ordered in increasing or decreasing distance / quantity.
- The configuration for this feature is client-side, meaning that each player can have their own settings.
- The configuration for this feature is client-side, meaning that each player can have their own settings.
- Readings can optionally display a direction text, in addition to the distance / quantity.
- This needs to be allowed on the server, found in the Common configuration.
- In addition to it needing to be allowed on the server, each player can enable or disable this functionality in the Client configuration.
- Samples taken in the Column, Distance (Long range) and Quantity (Long range) modes can optionally create a map marker, similar to the vanilla functionality.
- This needs to be allowed on the server, found in the Common configuration.
- In addition to it needing to be allowed on the server, each player can enable or disable this functionality in the Client configuration.
CHANGELOG
21.2.0
Full changelog here: https://git.omni.ms/vintage-story-mods/durable-better-prospecting/releases/tag/21.2.0
- Made each mode variant toggleable (Thank you, Doomstrike53!)
- Made the sampled areas spheres / cylinders, instead of cuboids (Thank you, Doomstrike53!)
21.1.3
- Fix CTD due to improper registration of the OnAssetsLoaded handler (Thank you, StatsBloke, Arkdirfe!)
- Fix CTD due to null array access
21.1.2
- Fix CTD in some edge cases where the icons for the modes would be accessed prior to the ASSETS_LOADED phase (Thank you, DrBubba!)
21.1.1
- Fix CTD (Crash to Desktop) when joining a server due to an unchecked null array access (Thank you, Kaschperle!)
21.1.0
- Complete rewrite of the mod, using custom libraries for code generation and automatic synchronization of configuration values
- Switch to new versioning scheme
- Added Column mode (Thank you, DrBubba!)
- Added Reading Direction (Thank you, Kaldo & eerino!)
- Added Automatic Map Markers (Thank you, abculatter_2!)
1.4.0
- Add ordering to readings and associated configuration (enabled-by-default, ascending order)
- Add simplified density search operation (disabled-by-default)
- Tweak the translations such that Rock Mode and Distance Mode are distinguishable from each other
0.4.0
- Backported mod to Vintage Story 1.20.x (Thank you, rayray!)
1.3.1
- Fix incorrect defaults in the ConfigLib GUI
- Add configuration synchronization packet and update client configuration when connecting to a server (Thank you, ElusiveEnigma!)
1.3.0
- Make the output prettier
- Block names now link to their hand book pages
1.2.0
- Position Rock Mode immediately after the vanilla modes
- Add the medium range variant to the Distance Mode
- Add all strings to a translation file, opening the possibility for community-driven translations
- Add a configuration flag to each mode to control whether it is enabled or not (Thank you, Kaitcha!)
- Add limits to configuration fields and enable the configuration file to be automatically migrated between versions
- Add the vanilla Node Search mode as a disabled-by-default option
- A first balancing pass of the default values
- General refactoring and improvements
1.1.2
- Redesign mode icons
1.1.1
- Add new logo and mod icon
1.1.0
- Add support for ConfigLib with hot reloading of configuration changes
- Use clear durability penalties per range, instead of multipliers
- Small refactoring of the config class
1.0.0
- Complete code rewrite of the original mod
PLANNED FEATURES
You can see what features are planned on the Issue Tracker! Suggestions are welcome!
VERSIONING SCHEME
Durable Better Prospecting uses an adapted SemVer system, where the MAJOR component always corresponds to Vintage Story's MINOR component of the version the build is for.
For example, if version 1.0 of Durable Better Prospecting is built for Vintage Story version 1.21.x, then the complete version of that mod file will be 21.1.0.
This is very similar to what a lot of Minecraft mods do, and you can read more about it here.
ACKNOWLEDGEMENTS
This mod wouldn't have been possible without these amazing modders, in no particular order:
- JohnVintageStory for their mod which this one was initially forked from, BetterProspecting.
- SpearAndFang for their mod Buzzwords from which I learned how to synchronize configuration between server and clients.
- egocarib for their mod Auto Map Markers from which I learned how to create map markers programatically.
- TheInsanityGod for their mod Insanity Lib from which I learned a lot of things about custom ConfigLib integrations.
| Mod Version | Mod Identifier | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|---|
| 21.2.0 | durablebetterprospecting | 1161 | Oct 30th at 5:09 PM | durablebetterprospecting_21.2.0.zip | 1-click install | ||
|
21.2.0 - Changes the sampled area from a cuboid to a sphere / cylinder. The configuration entries for sizes now refer to a radius, rather than a diameter. As such, the default values are now half of what they used to be. If you encounter performance issues or simply want to use the new defaults, you can reset them using ConfigLib, or by deleting the VintagestoryData/ModConfig/durablebetterprospecting/common.json file and letting the mod regenerate it. It is, nonetheless, recommended to halve your existing values for the behavior to remain the same, otherwise the sampled area is effectively double the volume it used to be.
Full changelog here: https://git.omni.ms/vintage-story-mods/durable-better-prospecting/releases/tag/21.2.0
| |||||||
| 21.1.3 | durablebetterprospecting | 912 | Oct 16th at 2:57 PM | durablebetterprospecting_21.1.3.zip | 1-click install | ||
| |||||||
| 21.1.2 | durablebetterprospecting | 63 | Oct 16th at 5:50 AM | durablebetterprospecting_21.1.2.zip | 1-click install | ||
| |||||||
| 21.1.1 | durablebetterprospecting | 114 | Oct 15th at 2:35 PM | durablebetterprospecting_21.1.1.zip | 1-click install | ||
| |||||||
| 21.1.0 | durablebetterprospecting | 43 | Oct 15th at 12:11 PM | durablebetterprospecting_21.1.0.zip | 1-click install | ||
| |||||||
| 1.4.0 | durablebetterprospecting | 1577 | Sep 10th at 3:00 PM | durablebetterprospecting_1.4.0.zip | 1-click install | ||
| |||||||
| 1.3.1 | durablebetterprospecting | 202 | Sep 9th at 7:23 AM | durablebetterprospecting_1.3.1.zip | 1-click install | ||
| |||||||
| 1.3.0 | durablebetterprospecting | 266 | Sep 7th at 4:48 PM | durablebetterprospecting_1.3.0.zip | 1-click install | ||
| |||||||
| 1.2.0 | durablebetterprospecting | 140 | Sep 7th at 12:54 PM | durablebetterprospecting_1.2.0.zip | 1-click install | ||
| |||||||
| 1.1.2 | durablebetterprospecting | 55 | Sep 7th at 10:16 AM | durablebetterprospecting_1.1.2.zip | 1-click install | ||
| |||||||
| 1.1.1 | durablebetterprospecting | 35 | Sep 7th at 9:13 AM | durablebetterprospecting_1.1.1.zip | 1-click install | ||
| |||||||
| 1.1.0 | durablebetterprospecting | 167 | Sep 6th at 2:35 PM | durablebetterprospecting_1.1.0.zip | 1-click install | ||
| |||||||
| 1.0.0 | durablebetterprospecting | 194 | Sep 5th at 1:18 PM | durablebetterprospecting_1.0.0.zip | 1-click install | ||
|
Initial release
| |||||||
| 0.4.0 | durablebetterprospecting | 101 | Sep 12th at 6:05 AM | durablebetterprospecting_0.4.0.zip | 1-click install | ||
| |||||||
does column mode work in a straight line like a single block or is it different
Heya! good to see you implemented the modes being toggeable individually! I'm please to continue the conversation on discord, but it says that you aren't acepting requests. You can add me! (@aylanj123) I also have some questions as I want to start into mod development!
Thank you so much for the encouraging words, JohnVintageStory! I've added you on Discord! :D
Hey DetPikachu, I love how you've expanded the mod! It's great to see its development continue even though I don't really had the time to work on the original one anymore.
Let me know if you'd like to take up the original mod page "BetterProspecting", and I'd be happy to add you as a team member or even give you ownership!
Hello AylanJ123! Thanks for your comment.
I will take into consideration your suggestions and see about the possibility of implementing some or all of them, as they seem fit within the mod's vision. I especially like the modes (or at least the Column mode) being gated behind the tier of the prospecting pickaxe being used.
I feel like some of the suggestions you made wouldn't fit the direction of this mod specifically, since it is explicitly designed to make prospecting an easier task. I do believe there is value in a lot of your suggestions though, and either adding a "hard mode" setting to this mod, or creating a sibling mod that implements some of your suggestion might prove valuable for players who'd still like the more deterministic and enhanced functionality of this mod, but without completely removing the difficulty or tedium from the prospecting process.
If you'd agree to it, I'd love to continue this conversation on a Discord DM thread (@detpikachu) in order for me to get a clearer picture of what to put where, and of course, I'm happy to credit you accordingly!
After playing for 10h with a copper pick in survival, I have a couple comments:
Doomstrike53 The configurations are called "Sample Size", not directly referring to a radius. You are correct in that it's sort of a diameter, but more precisely, the sampled area is a cube that is centered on the sampled (mined) block, whose edge is the confiugred size in length.
So, if we take the default medium range size of 32, this would mean that the sampled area is a 32x32x32 cube centered on the sampled block, i.e. 16 blocks in each direction from said block.
If using ConfigLib, the mod adds descriptions to the size settings explaining this. The primary reasoning for going for a simple cube (such as the vanilla behavior) is that it's faster to iterate through the blocks, rather than using a cylinder or a sphere. Of course, this does also mean that it may detect blocks that distance-wise fall outside of the configured area, because it's on a diagonal from the sampled block.
I've added a ticket to the issue tracker to look into making the sampled area a sphere (or a cylinder for Column Mode) since you're not the first person to raise concerns similar to this and I can see how it can be confusing for anyone who didn't see the code itself. In addition to this, I'll look into adding some text in the description explaining this. Thank you for your comment!
After some more experimentation, I've discovered the quantity mode (haven't tested this with other modes yet) doesn't actually scan the area you specify in the config. If I set the range to sample size 16, it doesn't pick up any ore until a radius of 8. If I set it to the vanilla 6, it doesn't pick up anything until a radius of 3. My current theory is that the number specified is not radius, but diameter.
Doomstrike53 thank you for the suggestion! Added to the issue tracker.
It would be cool if we could disable individual ranges for quantity or distance modes. Like for example, I'd like to only have quantity short range and disable the other 2, using it as a sort of vanilla plus that picks something up nearby and tells me the direction.
That's the only thing I can think of after toying with the mod, liking it so far.
eerino That error happens when you update a mod after already having played on a world or server with it loaded. The game doesn't automatically reload mod files in such a case, so you'll need to restart the game completely.
If that doesn't fix it, please open your mods folder and make sure you only have one durablebetterprospecting_x.y.z.zip file present.
Lastly, please make sure you use the latest version (currently 21.1.3) since there were a few bugs with the initial 21.1.x versions
I just tried to update to 21.1.0 and while loading the world I got
10:38:45 [Error] [durablebetterprospecting] Please restart the game. The mod's .dIl was already loaded and cannot be reloaded. Most likely cause is switching mod versions after already playing one world. Other rare causes include two mods with dils with the same name 16.10.2025 10:38:45 [StoryEvent] Something went awry...please check the program logs... (Exception thrown by server during startup or process,
DetPikachu I just tried the new version and the game loaded without a crash. I don't have the time to actually play at the moment but you fixed the crash that I was having. Thank you.
DrBubba, Ivashca - Please try version 21.1.2, it should fix the CTD due to the assets loading issue. In case it doesn't work, please provide the game output rather than an LLM's interpretation of it, as it helps greatly in pinpointing the issues in code.
StatsBloke - Please also try the newest version and see if it fixes your issue. With it working fine on my end and there being no logs, it will be difficult to debug if this fix doesn't work, so please DM me on Discord (@detpikachu) in that case.
flakeinator - Please also try the newest version. In case it doesn't work, please provide logs as without them it's very difficult to pinpoint the issue.
DetPikachu The new version crashes my game when trying to load it. Going back to version 1.40 fixes the crashes.
The mod doesn't work, my game crashes, which is what Deepseek wrote to me about the problem.
Short summary:
❌ Problem: Mod
durablebetterprospecting@21.1.1is crashing your game⚡ Cause: Mod breaks asset loading rules - tries to load graphics BEFORE game is ready
🛠️ Solution: Remove
durablebetterprospecting@21.1.1from mods folder🎯 Result: Game will launch normally after removal. Use vanilla prospecting pick instead.
What to do: Find and delete
durablebetterprospecting@21.1.1→ restart game → everything will work.I'm also CTD on server join with the latest update (21.1.1), and it didn't generate a crash report. Looked in both client and server logs and can't see any output.
Big crashy-crashy...
jup works now and doesn't crash
You're a rockstar, DetPikachu! (see what I did there?)
Kaschperle thanks for the report! I wasn't able to reproduce the issue myself, but I have added extra guards in the code that was causing the crash. Please try version 21.1.1 and let me know if it still occurs.
Crash Report
Running on 64 bit Windows 10.0.26100.0 with 65483 MB RAM
Game Version: v1.21.4 (Stable)
15/10/2025 15:51:36: Critical error occurred
Loaded Mods: aculinaryartillery@1.2.6-pre.9, americanfrontiersman@1.8.4, ancientarmory@1.1.6, atwatersedge@1.5.1, beamium@1.2.2, BetterGrass@0.0.3, blacksmithname@1.2.0, buzzybees@1.1.7, canoemode@1.0.4, catchledge@0.5.8, cavesymphony@1.2.0, cbr@1.0.0, chiseltools@1.15.2, claycasting@1.3.4, clickuptorches@1.1.1, containersbundle@1.1.2, cpxem@1.0.1, craftablecompanion@1.3.2, crawlanddive@0.2.1, darcesdriftersredone@1.2.4, decopottery@1.1.0, diversediets@1.0.3, dodgemaster@1.2.3, draconisrebalanced@0.1.1, hqzlights@1.1.2, expandedmolds@1.2.0, explosive@0.1.2, fallingtree@0.4.5, floralzonescaperegion@1.0.24, floralzonescaribbeanregion@1.0.19, floralzonescentralaustralianregion@1.0.16, floralzonescosmopolitanregion@1.0.6, floralzoneseastasiaticregion@1.0.14, floralzonesmediterraneanregion@1.0.15, bovinae@0.3.1, caninae@1.0.34, casuariidae@1.1.6, cervinae@0.1.8, chelonioidea@1.0.4, dinornithidae@1.0.19, elephantidae@1.0.15, felinae@0.2.11, iniidae@0.1.4, machairodontinae@1.0.27, manidae@1.0.17, meiolaniidae@0.1.7, pantherinae@1.2.2, rhinocerotidae@1.0.21, sirenia@1.0.24, spheniscidae@1.0.13, thylacinidae@0.1.4, viverridae@1.0.6, vombatidae@0.4.3, geoaddons@1.4.4, hangingoillamps@1.0.5, immersivemining@0.2.17, immersiveorecrush@2.2.4, improvedsheep@1.0.1, jonasboat@1.0.3, litbrig@0.7.6, longtermfood@0.4.7, manualdough@1.1.6, manualquenching@1.0.8, manualscraping@1.3.0, mbr@1.0.0, metalleaf@1.2.1, millwright@1.2.8, morefuel@1.1.0, nacatfish@2.0.2, crockenheimer@2.1.5, oneoredrop@1.0.2, ornamentalfish@5.0.1, overhaullib@1.12.8, packyourshovel@1.0.8, primitivesurvival@3.9.8, prospecttogether@2.1.1, pulverize_rocks@1.0.0, rmobadvancedinteractions@1.0.2, redclaytoredceramic@1.1.0, RelightTorches@1.0.0, repairablelocust@1.5.0, rustandrotcrashfix@1.0.1, shelfobsessed@1.7.7, sprintmomentum@0.1.3, suevitebloomery@1.0.1, temporalsymphony@2.2.2, torchholdersmithingplus@1.0.0, translocatorengineeringredux@1.6.1, usefultraders@2.3.1, vaultandroll@0.1.1, game@1.21.4, vsimgui@1.1.14, warmgambeson@1.0.0, wdepositscarcity@1.0.0, ancienttools@1.6.0-pre.6, apegrapes@1.3.1, attributerenderinglibrary@2.3.0, bandageanimation@1.0.0, flags@1.1.12, betterfirepit@1.2.0, betterfpcamera@1.3.0, betterjonasdevicesfixed@2.1.4, betterruins@0.5.0, blacksmithenhancementsrealistic@1.2.0, bloodtrail@1.1.3, butchering@1.10.6, carryon@1.12.1, combatoverhaul@0.10.5, commonlib@2.8.0, configlib@1.10.6, configurableroomsize@1.3.1, corduroyroads@1.0.3, coreofartspatch@1.0.3, craftablecartographyfork@0.1.8, cruciblecapacity@1.0.2, danatweaks@3.6.0, decorpatched@1.3.1, doubleupdatefix@1.0.4, durablebetterprospecting@21.1.0, infrastructureextension@1.1.0, electricalprogressivecore@2.3.3, entitycolortint@2.1.2, entitynametag@1.4.0, envelopes@2.0.2, tackandequipment@1.0.0, expandedfoods@1.7.6-pre.107, expandedstomach@1.2.2, extrainfo@1.10.1, fairplayguardian@1.2.1, farseer@1.3.2, fendragonbcs@0.1.8, fieldsofsalt@1.2.4, flowerfarming@1.1.1, foodshelves@2.3.1, fromgoldencombs@1.9.4, genelib@2.1.0, gourmandbalance@1.1.0, gourmand@1.7.9, healthbar@1.1.1, herbarium@1.4.1-rc.1, hidenametagsmod@1.21.0, hydrateordiedrate@2.2.24, immersiverope@1.0.6, immersivewoodchopping@0.8.2, immersivewoodsawing@0.2.8, insanitylib@1.0.5, jaunt@2.1.1, justthepalisades@1.0.0, kevinsfurniture@1.7.5, knapster@3.0.0, landclaming@1.0.1, maketeaforked@0.7.1, maltiezcrossbows@1.6.6, maltiezfirearms@1.3.5, mannequinstand@1.0.7, medievalexpansionpatch@1.3.3, metalpots@1.6.1, moreanimals@1.6.3, morepiles@2.2.0, mountcamerafix@0.2.0, mountDestroyLeaves@1.1.3, mcrate@1.2.1, naturalfertilizer@1.2.0, onebedsleeping@3.0.1, oneroof@1.11.0, pelaguswinds@1.2.2, petai@4.0.1, playerlist@2.1.5, precisepickedup@1.0.7, purposefulstorage@1.4.1, realsmoke@1.1.7, redspecsareaunload@1.0.4, removeprimitivesurvivalstairs@1.0.0, ropetiableall0@1.2.4, rpgdifficulty@1.1.9, rustworld@1.0.8, saltandsands@1.1.4, simplefootstepsredux@1.0.4, slowtox@3.0.1, smithingplus@1.8.3, statushudcont@4.0.1, stepupadvanced@1.2.3, stillnecessaries@1.3.0, stonebakeoven@1.2.0, substrate@1.1.3, tailoringforall@1.0.1, tarmod@1.1.3, th3dungeon@0.4.4, thecritterpack@1.3.4, toolsmith@1.2.12, unconscious@2.0.0-rc.4, coffee@1.0.3, vintagescarecrow@0.0.8, visorhelmets@1.1.3, creative@1.21.4, vsquest@3.0.0, survival@1.21.4, vsvillage@3.0.1, waterfall@1.0.0, workbenchexpansionpatch@1.1.0, xlib@0.9.0-pre.2, armory@1.4.0, artofgrowingpatch@1.1.5, artofgrowingpatchgrassfix@1.1.6, autoconfiglib@2.0.9, beamtools@1.0.2, bloodisegg@2.0.0, brainfreeze@1.3.1, brittlemaltiezfirearms@1.0.2, butcheringfotsafellcompat@1.0.0, cats@4.0.0, compatlayer@0.0.6, draconis@1.1.2, electricalprogressivebasics@2.3.4, elkjaunt@1.2.0, equus@1.2.0-rc.8, em@3.3.3, fueledwearablelights@1.0.5, morearrows@1.1.1, playercorpse@1.12.0, quiversandsheaths@0.5.2, realsmokeforancienttools@1.0.0, realsmokeforbraziers@1.1.0, realsmokeforchiseltools@1.1.1, theremnantscopatch@1.0.6, shearlib@1.2.0, snowshoes@2.1.2, stonequarry@3.5.1, tabards@0.2.1, vsvillageaged@0.0.6, vsvillageindustrial@0.0.6, vsvillagetowers@0.0.6, wearandtear@1.5.15, wildcraftfruit@1.4.1, wildcrafttree@1.3.2, wolftaming@4.0.1, xinvtweaks@1.8.1, xskills@0.9.0-pre.2, zrustdrops@2.0.0, aogbreedingaddonpatch@1.1.1, artxskillsplus@1.1.1, blackguardadditionscoredux@1.0.3, electricalprogressiveqol@2.3.4, exoskeletons@0.4.3, realsmokeartofgrowingfirepit@2.0.0, tabatdsemblemsschwarzspecht@0.0.1, tailorsdelight@2.1.0, ashes@1.3.0, wildcrafttreesoneroof@0.8.1, equusbp@1.0.2, wool@1.7.2, dressmakers@1.7.1
System.ArgumentNullException: Value cannot be null. (Parameter 'source')
at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
at System.Linq.Enumerable.Contains[TSource](IEnumerable`1 source, TSource value, IEqualityComparer`1 comparer)
at Vintagestory.Client.NoObf.ClientPlayer.HasPrivilege(String privilegeCode) in VintagestoryLib\Client\Model\ClientPlayer.cs:line 217
at Common.Mod.Config.ConfigSystem.OnClientPlayerJoined(IClientPlayer player)
at Common.Mod.Core.System`1.OnClientPlayerJoined(IClientPlayer player)
at Vintagestory.Client.NoObf.ClientEventAPI.TriggerPlayerJoin(IClientPlayer plr) in VintagestoryLib\Client\API\ClientEventAPI.cs:line 284
at Vintagestory.Client.NoObf.GeneralPacketHandler.HandlePlayerData(Packet_Server packet) in VintagestoryLib\Client\Systems\GeneralPacketHandler.cs:line 293
at Vintagestory.Client.NoObf.ProcessPacketTask.ProcessPacket(Packet_Server packet) in VintagestoryLib\Client\Systems\ProcessPacketTask.cs:line 18
at Vintagestory.Client.NoObf.ProcessPacketTask.Run() in VintagestoryLib\Client\Systems\ProcessPacketTask.cs:line 12
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 786
at Vintagestory.Client.GuiScreenConnectingToServer.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenConnectingToServer.cs:line 298
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 760
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 663
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 338
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 133
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 = 15/10/2025 15:46:27, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.21.4.0, time stamp: 0x68a40000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x2758
Faulting application start time: 0x1dc3dd9d076c6dc
Faulting application path: H:\Vintagestory\Vintagestory.exe
Faulting module path: H:\Vintagestory\Lib\openal32.dll
Report Id: 041f9107-d3ff-4010-a2db-32b280334c43
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 15/10/2025 15:24:32, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.21.4.0, time stamp: 0x68a40000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x4a34
Faulting application start time: 0x1dc3dd65a25584f
Faulting application path: H:\Vintagestory\Vintagestory.exe
Faulting module path: H:\Vintagestory\Lib\openal32.dll
Report Id: 3d0abb20-8c71-416c-baf0-709c17c705a3
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 15/10/2025 15:19:51, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.21.4.0, time stamp: 0x68a40000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x5b58
Faulting application start time: 0x1dc3dd597077c0d
Faulting application path: H:\Vintagestory\Vintagestory.exe
Faulting module path: H:\Vintagestory\Lib\openal32.dll
Report Id: 2563831f-87f0-47cf-92d0-f18b3ea8377e
Faulting package full name:
Faulting package-relative application ID: }
Server has been crashing when other people joined might have to do with syncing up the configs for everyone as that's what the server says before each player gets crashed. Older version before newest of today works just fine.
After a long-ish wait due to a complete rewrite, the new version is finally here! Among many changes and improvements, it notably adds:
DetPikachu YES! That would be amazing! I'd love for it to include directions.
Hello Kaldo! I don't think it'd be overly complex technically to add directionality to the readings. I'm currently working on a new version of the mod and I'll look into adding this as a toggleable feature!
Hi, thanks for the mod, looking forward to trying it out!
There is one thing I was wondering and was hoping you could answer - is adding something that also shows the direction of the ore something technically difficult, or something modders avoid because it'd make prospecting too easy? The ranges are nice but sometimes I am annoyed by the triangulation, especially when it's close quarters and you end up digging out an entire room's worth of rock just to find the remaining pieces or the beginning of a vein.
Thanks, DetPikachu
Fully on board with making sure the mod stays within your vision (and can confirm the two mods don't work together), so thank you for at least considering it. :)
DrBubba The 2 mods would definitely conflict since they overwrite the same item, being the prospecting pickaxe. Having said that, I will look into the functionality and see if it fits the goals of this mod!
DetPikachu:
Would you consider adding Bore More funtionality such as the mode that Betterer Prospecting has? I like that your mod allows you to choose the size of your search, but the Bore mode from BP is pretty sweet, too. Not sure if their mod would conflict with yours, but I'm kind of assuming they wouldn't play well together, so I thought I'd ask.
Thanks for such a great mod either way!
@DetPikachu
I meant adding that or similar functionality to all the other modes, yeah, or at least the large ones. It would be good to have a way to turn it off and on, though, or to opt-in with a link in chat that is added to the prospect message, or something along those lines. That way if you're doing finer triangulation or are doing vertical triangulation you don't have to delete a bunch of waypoints.
Also, something I just thought of would be to add a in-game date to when the reading was taken, since unlike with vanilla heat distribution, many of this mod's readings can change based on what you have and have not mined.
abculatter_2 Thank you for the suggestion! If you're referring to the behavior vanilla has, where performing a density search results in a map marker with the results, that functionality is preserved by this mod since it calls into the vanilla code. If you're referring to it adding markers in different modes, I'm happy to add that functionality - it would help me a lot to have more information about it, though.
Haven't used this mod yet but have used BetterProspecting and wanted to make a suggestion based on that experience; add a way to automatically generate a map marker from a prospectors pick reading. Probably by clicking a link in chat or something similar.
Lhosson Thank you for the kind and encouraging words! I'm very happy that you like the mod and that it has achieved its goal of reducing some of the tedium!
Wishing you bountiful veins all around!
DetPikachu Wow, this mod is a game-changer for me. I've always struggled with the teduim of vanilla prospecting, but don't want to use some sort of x-ray mod to cheat. I've also tried BettererProspecting - which was pretty good, but also had some issues with tedium that still carry over from the vanilla system (not the mods fault). So having just jumped in and tried this mod I quickly found myself actually having fun looking for the ore. It's like 3D Minesweeper. I love it :)
Thanks for taking the time to create such a well thought-out system that still requires some effort. I challenge anyone to try this and deny its usefullness. It really is that good!
Now... I'm off to find some elusive Iron...
rayray The mod is made specifically for 1.21 onwards, but I'll have a look to see how difficult it would be to make it work for 1.20
EDIT: I've uploaded version 0.4.0 that targets Vintage Story 1.20.12 (but should work for any 1.20 patch). I unfortunately had to remove configuration hot-reloading because of ConfigLib lacking support, so you'll have to reload the world / server if you change configuration.
I've also not tested this extensively so please let me know if there are any bugs!
well this work for 1.20 not ugraded yet i like my current mod set
Hello ElusiveEnigma! I'm glad you enjoy the mod! Thank you for reporting this bug!
Indeed the configuration file wasn't being enforced upon clients by the server. This was an oversight on my part where I mistakenly assumed this would happen out of the box. Please try version 1.3.1 which should fix this issue and clients should now display only those modes that have been enabled on the server.
As a note, players still wouldn't have been able to use modes that were disabled since it is the server that performs the actions, but it would lead to confusing situations where the mode picker UI on the client would display a different mode from what the server would actually execute.
DetPikachu
Great work, here! Thank you. Question for ya: Is the server-side config enforced onto the clients? One of my users reported that he was able to use some modes that I had disabled, server-side, but I am unsure if it was a bug or not. I did reload the world.
Kaitcha That's very nice to hear! Thank you and I hope you have a great day as well!
DetPikachu Thank you, and I am loving it! I've already been using it and as mentioned, it did help with that last ore block lol. Thank you for the config options as well! I was able to replace two other mods in my list with this one, which is also a nice bonus.
I really appreciate all your work with this mod! Have a great day!
Hi Kaitcha! You're very welcome, I hope you like the mod! I consider one person using a feature a good enough reason to keep said feature in, unless it's somehow technically limited. With that in mind, I'm happy to leave area mode in. Thank you for the suggestion to add config options to toggle modes on or off! I think it'd be beneficial to add such a toggle to all modes, so people can disable those they don't use at all.
DetPikachu Thank you!! Been looking for a mod that has both the Qol of better prospecting plus the normal-ish density and node search of vanilla. You mention maybe removing the area search, but if you decide to do so, could you make it a config option to set to either true or false, please? The reason is, I for one, enjoy prospecting, but I love the option to do the distance search when I just can't find that last ore block in a vein. It does help a lot with the durability of my pickaxes... :P
Hello Denis_NoL! What I mean by that is the amount of durability points the prospecting pickaxe loses for each prospected block (for example, if the durability is 500 and the cost is 1, then prospecting 1 block will result in a durability of 499). I've also changed the description of the mod to no longer say "penalty" as that was just confusing.
Hi,
Before to install your mod I would like to understand what you call Durability Cost and/or Durability Penalties .
In advance, thx a lot for your answer.
Friendy yours,
Denis