Mods / BetterEr Prospecting

Tags:
QoL Simplification
Author:
KnewOne
Side:
Both
Created:
Sep 6th 2025 at 2:04 AM
Last modified:
Aug 9th at 1:03 PM
Downloads:
129335
Recommended download (for Vintage Story 1.22.0 - 1.22.6):
bettererprospecting_3.4.5.zip  1-click install

A fully configurable set of prospecting modes and settings for them. 

For brevity, percentile refers to [0-1] factor that governs percentile text that refers to the very poor-ultrahigh scale. Prospecting radius is 32 blocks (1 chunk), total area is 4 chunks centered on player.

Main features are as follows:

  • A new density search mode. Integrated with the in-game prospecting map
    • No more false positive readings 
    • Parts per thousand are now based on the actual in-game blocks instead of being conjured out of heatmaps
    • Percentile is now tied to the current save file. It's calculated at runtime based on historical readings made by all players.
    • Still takes 3 durability overall. Not cheaty this way :^)
  • Proximity Mode, to helps finding the ore blocks while in tight caves
  • Stone Mode. Everyone likes tanning but nobody likes 0 lime. Has percent-based mode and exact search to a block. I recommend using percent-based, less cheaty that way imo. And hey, can use borehole with stone mode to get the column reading.
  • Borehole Mode: a mildly immersive prospecting approach, breaking a block from the top side with this will reveal each block down to the mantle in a radius ( configurable, default is 8 ). Conveniently, has the toggles for both ore and stone separately.
  • Node Mode remains the same as vanilla

 

Main philosophy is to make the density search > borehole mode > node mode > proximity usage pipeline. 

Mod commands available under /help btrpr

 

Expected quirks of the system:

  • First few readings will be on polar opposites of low-high spectrum. This is entirely expected, you must feed the mod several readings for it to figure out the math.
  • First few readings will write one percentile text into chat and be immediatelly different on the world map. This is a restriction due to client-server infra and i can't change anything here
  • Old readings might change their percentile text after you take new readings: this is expected. The more readings you make across your save file the more precise the system will be and less changed will be made
  • ALL ores present in the prospecting radius will be displayed with at least "Very poor" value

 

Highly recommend Configlib for any and all configurations. The mod supports hot config changes, so you don't need to reenter the world after changes.

Advanced

Google sheet for the mod: here

If you wish to see the changes to the factor of a reading  and its percentile text, you can check the sheet above.

If you wish to make an ore visibile in density, meaning you wish to add its oremap, you can also see that in the same file.

Compatibility

ProspectTogether: Last compat check done for 2.2.1 of PT and 3.2.6 of betterer prospecting. Stone readings will not be available in prospecting together dropdown.

IOG: Supported natively

HoD: Aquifer shows properly (until they break it again)

 

Migration guide

When using on a fresh world, everything will work out of the box.

If at any point you either disabled the mod and made readings, or made readings before installing the mod, they will not be taken into account. To fix this you will have to run /btrpr reprospect followed by  /btrpr oreData. Be aware that a reprospect is an expensive and a cpu intensive task. It is best to run it only once after moving to the mod, after server restart with as few players as possible to not have a degraded experience. A notification will appear if your world has been freshly migrated to this mod, but not on subsequent disables/enables.

 

Thanks to developers of EasyProspect, Proximity Prospecting Pick and BetterProspecting for inspiration and open source code.

 

 

Post any suggestions here or in the dedicated VS Discord thread.

Bug reports also go only there. Before writing a bug report for readings percentile text, run (/btrpr reprospect) and then (/btrpr oreData), re-enter the world
There is a debug mode for missing code pages/subtrace readings/etc, please post issues with its output, provided the context allows.

AI ai aI Ai claude Claude vibecoded vibe coded vibe-coded Vibecoded

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
3.4.5 bettererprospecting
1.22.0 - 1.22.6
2492 Aug 9th at 1:03 PM bettererprospecting_3.4.5.zip 1-click install
3.4.5 Fix borehole waypoint hover text
3.4.4 bettererprospecting
1.22.0 - 1.22.6
1967 Aug 4th at 2:28 PM bettererprospecting_3.4.4.zip 1-click install
3.4.4 Fix proximity mode's usage of density filter for ore, improve config desc
3.4.3 bettererprospecting
1.22.0 - 1.22.6
10515 Jul 6th at 8:55 PM bettererprospecting_3.4.3.zip 1-click install
3.4.3 Use internal timed dictionary impl instead of external library
3.4.2 bettererprospecting
1.22.0 - 1.22.3
446 Jul 6th at 9:30 AM bettererprospecting_3.4.2.zip 1-click install
3.4.2 Fix crashes during localization process
3.4.1 bettererprospecting
1.22.0 - 1.22.3
1996 Jul 5th at 9:09 AM bettererprospecting_3.4.1.zip 1-click install
3.4.1 Fix stone distance reading, Try to fix 'need to reprospect' not disappearing , increase amount of supported locales
3.4.0 bettererprospecting
1.22.0 - 1.22.3
532 Jul 4th at 2:05 PM bettererprospecting_3.4.0.zip 1-click install
3.4.0 Add borehole waypoint chat message generator
3.3.3 bettererprospecting
1.22.0 - 1.22.3
15221 Jun 2nd at 1:40 PM bettererprospecting_3.3.3.zip 1-click install
3.3.3 Ru TL Update
3.3.2 bettererprospecting
1.22.0 - 1.22.3
160 Jun 2nd at 11:29 AM bettererprospecting_3.3.2.zip 1-click install
3.3.2 Safeguard reading generation for ores that didn't have an oremap
3.3.1 bettererprospecting
1.22.0 - 1.22.3
2803 May 30th at 1:11 PM bettererprospecting_3.3.1.zip 1-click install

3.3.1 Fix new world reprospect messages spam

3.2.9 bettererprospecting
1.22.0 - 1.22.2
2910 May 26th at 11:39 AM bettererprospecting_3.2.9.zip 1-click install
3.2.9 Improve messaging for world that didn't previously have the mod
3.2.8 bettererprospecting
1.22.0 - 1.22.2
2107 May 23rd at 7:13 PM bettererprospecting_3.2.8.zip 1-click install
3.2.8 Use basegame propick register string for improved propick. Should make propicks from other mods behave better if defined by classitem instead of patches to game asset
3.2.7 bettererprospecting
1.22.0 - 1.22.2
1581 May 21st at 2:23 PM bettererprospecting_3.2.7.zip 1-click install

3.2.7 Editable stone search blacklist

3.2.6 bettererprospecting
1.22.0 - 1.22.2
4822 May 12th at 4:19 PM bettererprospecting_3.2.6.zip 1-click install
3.2.6 Fix ProspectTogether compat
3.2.5 bettererprospecting
1.22.0 - 1.22.2
239 May 12th at 10:40 AM bettererprospecting_3.2.5.zip 1-click install
3.2.5 Korean TL
3.2.4 bettererprospecting
1.22.0 - 1.22.2
4692 May 4th at 6:17 PM bettererprospecting_3.2.4.zip 1-click install
3.2.4 Fix ppt nodes being lost on manual world exit. Should work right away, but for sanity check you can run `/btrpr oreData` on worlds created before this patch
Btw did you know you can add images here ?
:)
3.2.3 bettererprospecting
1.22.0 - 1.22.1
8794 Apr 28th at 6:21 PM bettererprospecting_3.2.3.zip 1-click install

3.2.3 Add reprospect progress notifications, reprospect concurrency setting

3.2.2 bettererprospecting 2736 Apr 23rd at 5:35 PM bettererprospecting_3.2.2.zip 1-click install
3.2.2 Blacklist for density is now user-input
3.2.1 bettererprospecting
1.22.0-pre.1 - 1.22.0
2015 Apr 9th at 10:21 AM bettererprospecting_3.2.1.zip 1-click install
3.2.1 Compress client<>server packet exchanges to a single multivalue one, code cleanup
3.2.0 bettererprospecting
1.22.0-pre.1 - 1.22.0-rc.5
678 Mar 26th at 10:51 AM bettererprospecting_3.2.0.zip 1-click install

3.2.0 - this is a recompile of 3.1.9 for net 10 for 1.22.0+ versions

3.1.9 bettererprospecting 4162 Mar 26th at 12:13 AM bettererprospecting_3.1.9.zip 1-click install
3.1.9 Attempt to fix MP client<>server ui
3.1.8 bettererprospecting 224 Mar 23rd at 1:10 PM bettererprospecting_3.1.8.zip 1-click install

3.1.8  Add some code guards for duplicate prospecting modes

3.1.7 bettererprospecting 201 Mar 21st at 3:45 PM bettererprospecting_3.1.7.zip 1-click install

3.1.7 Minor cleanup

3.1.6 bettererprospecting 78 Mar 21st at 1:01 PM bettererprospecting_3.1.6.zip 1-click install

3.1.6 Reformat logic for easier external mode addition

3.1.5 bettererprospecting
1.22.0-pre.1 - 1.22.0-rc.2
1098 Feb 6th at 6:31 PM bettererprospecting_3.1.5-pre.1.zip 1-click install

1.22.0 pre1 recompile

3.1.4 bettererprospecting
1.21.1 - 1.21.6
13096 Feb 5th at 3:30 PM bettererprospecting_3.1.4.zip 1-click install
Proximity mode no longer points to quartz, changed scaling factor for readings output from 5 to 5.5 ( overall your readings will be slightly higher factor text )
3.1.3 bettererprospecting
1.21.1 - 1.21.6
7731 Jan 17th at 11:04 PM bettererprospecting_3.1.3.zip 1-click install
3.1.3 Fix in-memory data loss on autosave
3.1.1 bettererprospecting
1.21.1 - 1.21.6
255 Jan 17th at 7:54 PM bettererprospecting_3.1.1.zip 1-click install

RU TL

3.1.0 bettererprospecting
1.21.1 - 1.21.6
890 Jan 16th at 3:17 PM bettererprospecting_3.1.0.zip 1-click install

3.1.0 Improve Prospecting Together compat

Note that rocks will not be available in prospecting together menu

3.0.0 bettererprospecting
1.21.1 - 1.21.6
576 Jan 15th at 6:35 PM bettererprospecting_3.0.0.zip 1-click install
Add an option to generate rock readings (off by default)
Linear scaling of reading factor is now on by default
Stone search no longer tracks meteorite iron and suevite
2.2.3 bettererprospecting
1.21.1 - 1.21.6
217 Jan 15th at 2:56 PM bettererprospecting_2.2.3.zip 1-click install

Automatically backfill only when mod is new for the save file

2.2.2 bettererprospecting
1.21.1 - 1.21.6
686 Jan 14th at 6:35 PM bettererprospecting_2.2.2.zip 1-click install

Try to fix readings always being ultrahigh, especially on servers

If your readings are strill wrong, run 

/btrpr reprospect

and then

/btrpr oreData

 

2.2.1 bettererprospecting
1.21.1 - 1.21.6
285 Jan 14th at 9:50 AM bettererprospecting_2.2.1.zip 1-click install

Add user-created locales

2.2.0 bettererprospecting
1.21.1 - 1.21.6
358 Jan 13th at 11:11 PM bettererprospecting_2.2.0.zip 1-click install

Add more strings-to-translate

Add a vague proximity messages option

2.1.1 bettererprospecting
1.21.1 - 1.21.6
189 Jan 13th at 8:34 PM bettererprospecting_2.1.1.zip 1-click install

Simplify /btrpr oreData command

2.1.0 bettererprospecting
1.21.1 - 1.21.6
3272 Jan 4th at 11:40 AM bettererprospecting_2.1.0.zip 1-click install

Fix a bug with PPT saving. Run /btrpr oreData iAcceptLagfest for best results after updating

Improve IoG compat 

2.0.2 bettererprospecting
1.21.1 - 1.21.6
1713 Jan 3rd at 12:31 PM bettererprospecting_2.0.2.zip 1-click install

IoG fix final.final(2)

2.0.1 bettererprospecting
1.21.0-pre.1 - 1.21.6
124 Jan 3rd at 11:37 AM bettererprospecting_2.0.1.zip 1-click install

Add IOG workaround to avoid spawning ore when prospecting

2.0.0 bettererprospecting
1.21.1 - 1.21.6
4054 Dec 14th 2025 at 2:57 PM bettererprospecting_2.0.0.zip 1-click install

Significantly reworked how new density works. Please read migration guide(only a specific case will require player interaction) and quirks explanation on the mod page.

1.4.0 bettererprospecting
1.21.1 - 1.21.5
5154 Nov 14th 2025 at 9:07 PM bettererprospecting_1.4.0.zip 1-click install

Added OreCalculationDivider to counter the previously added multiplier and the triesPerChunkFactor to offset how vanilla spawn behaviour works.

You will need to run /reprospect unless you change the recommended tries per chunk from 0.7 to 1.0

1.3.6 bettererprospecting
1.21.1 - 1.21.5
639 Nov 11th 2025 at 11:45 PM bettererprospecting_1.3.6.zip 1-click install

Hungarian tl by The_Revisionist

1.3.5 bettererprospecting 4503 Oct 21st 2025 at 10:42 PM bettererprospecting_1.3.5.zip 1-click install

Remove accidental nuking of all harmony patches

1.3.4 bettererprospecting Oct 21st 2025 at 7:52 PM 1-click install

Add experimental toggle for linear density texts and ore detection range multiplier to cope with abudance of ultrahigh. Feedback appreciated

E: Don't install this version

1.3.3 bettererprospecting
1.21.1 - 1.21.5
2178 Oct 11th 2025 at 12:36 PM bettererprospecting_1.3.3.zip 1-click install

Ru locale by qua8ion

1.3.2 bettererprospecting
1.21.2 - 1.21.4
823 Oct 8th 2025 at 5:29 PM bettererprospecting_1.3.2.zip 1-click install

Try to fix spanish locale. Will use SA version for both for now

1.3.1 bettererprospecting
1.21.2 - 1.21.4
465 Oct 7th 2025 at 10:25 AM bettererprospecting_1.3.1.zip 1-click install

Spanish TL, thanks NeoB

1.3.0 bettererprospecting
1.21.2 - 1.21.4
1783 Sep 26th 2025 at 10:33 PM bettererprospecting_1.3.0.zip 1-click install

Reworked uplifitng code. Your uplifting settings have been reset. If you were playing with IOG please check the config.

1.2.7 bettererprospecting 555 Sep 24th 2025 at 7:20 PM bettererprospecting_1.2.7.zip 1-click install

Proximity search is now a sphere

1.2.6 bettererprospecting 247 Sep 24th 2025 at 10:08 AM bettererprospecting_1.2.6.zip 1-click install

Stone mode now goes to mantle. Up/sides are still radius-limited

1.2.5 bettererprospecting 236 Sep 23rd 2025 at 10:40 PM bettererprospecting_1.2.5.zip 1-click install

Borehole can be radius 0, thus making it a line again. Default is still 8

Also changed description for it

1.2.4 bettererprospecting 483 Sep 22nd 2025 at 7:02 PM bettererprospecting_1.2.4.zip 1-click install

Made borehole radius configurable because i have free will

1.2.3 bettererprospecting 84 Sep 22nd 2025 at 6:14 PM bettererprospecting_1.2.3.zip 1-click install

Significant change to borehole. Now a downward cylinder instead of single line. Feedback appreciated

1.2.2 bettererprospecting 206 Sep 22nd 2025 at 11:34 AM bettererprospecting_1.2.2.zip 1-click install

Try to handle unloaded chunks with /reprospect. Might eat RAM or CPU on big servers. Need feedback. Don't forget you can run for selected player

1.2.1 bettererprospecting 89 Sep 22nd 2025 at 9:58 AM bettererprospecting_1.2.1.zip 1-click install

Add a guard to /reprospect to not update unloaded chunk readings. I'll try to come up with a better solution

1.2.0 bettererprospecting 333 Sep 21st 2025 at 5:30 PM bettererprospecting_1.2.0.zip 1-click install

Revert the factor change for now. PPT will stay the new realistic though. Should be ~ 1/4 of previous values. Run /reprospect

1.1.12 bettererprospecting 93 Sep 21st 2025 at 5:16 PM bettererprospecting_1.1.12.zip 1-click install

Fixed ppt being overcounted by 4x. Added compensatory 2x to make the process less annoying. You will see ppt and factor ~ 1/2 of the previous values. Feedback appreciated

Backup savefile and run /reprospect to get new values

1.1.11 bettererprospecting 650 Sep 16th 2025 at 8:15 PM bettererprospecting_1.1.11.zip 1-click install

Fix HoD compat. Bump minversion of it to 2.2.13

1.1.10 bettererprospecting 477 Sep 14th 2025 at 1:01 AM bettererprospecting_1.1.10.zip 1-click install

Fix modsystem name because that was horrid

1.1.9 bettererprospecting 378 Sep 12th 2025 at 7:55 PM bettererprospecting_1.1.9.zip 1-click install

Fix lapis

1.1.8 bettererprospecting 330 Sep 11th 2025 at 8:43 PM bettererprospecting_1.1.8.zip 1-click install

Fix propick deleting non-prospectable blocks from existence

1.1.7 bettererprospecting 169 Sep 11th 2025 at 1:24 PM bettererprospecting_1.1.7.zip 1-click install
  • Improve ore handbook link for borehole
  • Add density enable / vanilla oneshot toggle
  • This means you can disable all modes now
  • Why ?
1.1.6 bettererprospecting 161 Sep 11th 2025 at 9:28 AM bettererprospecting_1.1.6.zip 1-click install

Fix configlib not being optional ( but you really should use it )

1.1.5 bettererprospecting 167 Sep 11th 2025 at 1:06 AM bettererprospecting_1.1.5.zip 1-click install

Fix ore visibility in borehole/proximity

1.1.4 bettererprospecting 155 Sep 10th 2025 at 8:05 PM bettererprospecting_1.1.4.zip 1-click install
  • Improve speed and efficiency for density prospecting
  • Improve support for HydrateOrDiedrate

 

1.1.3 bettererprospecting 250 Sep 9th 2025 at 6:45 PM bettererprospecting_1.1.3.zip 1-click install

Add trace/poor toggles for some ease of use with mods whose generators don't return good generated readings

1.1.2 bettererprospecting
1.21.0 - 1.21.1
448 Sep 9th 2025 at 2:36 PM bettererprospecting_1.1.2.zip 1-click install

Add trace readings uplifter

1.1.1 bettererprospecting
1.21.0 - 1.21.1-rc.2
216 Sep 9th 2025 at 12:03 AM bettererprospecting_1.1.1.zip 1-click install

Add hot config reload.

Works for everything except enabling/disabling borehole/stone/proximity modes. Dense mode will switch but will use the wording from the world startup one

1.1.0 bettererprospecting
1.21.0 - 1.21.1-rc.2
237 Sep 8th 2025 at 1:55 PM bettererprospecting_1.1.0.zip 1-click install

Improve compatability for other mods trying to add percentile generators

1.0.6 bettererprospecting
1.21.0 - 1.21.1-rc.2
226 Sep 7th 2025 at 8:59 PM bettererprospecting_1.0.6.zip 1-click install

Add links to rocks in stone mod. Sort values based on search type

1.0.5 bettererprospecting
1.21.0 - 1.21.1-rc.2
137 Sep 7th 2025 at 7:09 PM bettererprospecting_1.0.5.zip 1-click install

Add HydrateOrDiedrate aquifer support

1.0.4 bettererprospecting
1.21.0 - 1.21.1-rc.2
175 Sep 7th 2025 at 10:39 AM bettererprospecting_1.0.4.zip 1-click install

Tweak: Add percentage-based stone search mode
Fix libconfig gui not showing separators

1.0.3 bettererprospecting
1.21.0 - 1.21.1-rc.2
257 Sep 6th 2025 at 10:40 PM bettererprospecting_1.0.3.zip 1-click install

Fix silver being ignored

1.0.2 bettererprospecting
1.21.0 - 1.21.1-rc.2
117 Sep 6th 2025 at 9:38 PM bettererprospecting_1.0.2.zip 1-click install

Improve percentile calculation for rarity. Should be properly scaled to the whole world for each ore separately. PPT still own

1.0.1 bettererprospecting
1.21.0 - 1.21.1-rc.1
228 Sep 6th 2025 at 11:13 AM bettererprospecting_1.0.1.zip 1-click install

Add debug mode for bug reporting ease

1.0.0 bettererprospecting
1.21.0 - 1.21.1-rc.1
216 Sep 6th 2025 at 2:05 AM bettererprospecting_1.0.0.zip 1-click install

Initial release

0.9.0 bettererprospecting 444 Sep 12th 2025 at 7:54 PM bettererprospecting_0.9.0.zip 1-click install

Backport. No hot config, no aquifer


348 Comments (oldest first | newest first) (threaded | flat)

seether, 5 days ago

Hey, I just started using this mod on a week-old save. Started looking for tin and got to a spot where the borehole reading said it was present, and then dug down to the mantle looking for it, periodically rechecking the borehole and node search. I never did find the tin, even after digging around in creative. Wondering if this is just a massive skill issue or a bug

Apurrsed, Aug 9th at 10:52 AM

Hi, could you clarify on the borehole waypoint functionality?

I've clicked on the link in the chatbox to create a waypoint, but the waypoint only reads Borehole Results: , without actually listing the ores below. I'd have expected it to list the ores instead.

screenshot

ErTaquito, Jul 26th at 4:26 PM

Would be nice to have a blacklist/filter for the proximity prospecting mode

Onesilverkey, Jul 24th at 7:58 PM

Asking because normal prospecting doesnt. Does this detect Vugs (rose/smokey quartz) presence

KnewOne , Jul 25th at 9:34 AM
@Onesilverkey: Asking because normal prospecting doesnt. Does this detect Vugs (rose/smokey quartz) presence

Anything not shown by default prospecting will not be visible with this. This is for density mode specifically

Epiteto, Jul 22nd at 11:26 PM

Hi, game crashed after i clicked "All Rocks" in Prospecting Menu (https://prnt.sc/lFpui33ZoFis

Crash Report
Running on 64 bit Windows 10.0.26200.0 with 31909 MB RAM
Game Version: v1.22.5 (Stable)
22/07/2026 20:21:41: Critical error occurred in the following mod: bettererprospecting@3.4.3
Loaded Mods: walkingstick@3.0.10, betterflintore@1.0.0, betterarrows@1.0.1, biggerpockets@1.0.6, fieldsandplateaus@1.0.10, fragilecharcoal@0.0.1, lootgoblinbackpacks@0.0.5, helvehammersoundbegone@1.0.4, millwright@1.3.3, molds@0.3.6, morefat@1.5.5, overhaullib@2.0.10, plainsandvalleys@1.0.13, sortablestorage@3.0.0, specializedclasses@3.0.0, tlf999@0.0.3, easytorchlight@1.0.0, visibleoresandminerals@1.4.1, game@1.22.5, vsimgui@1.2.7, zoombuttonreborn@2.0.2, attributerenderinglibrary@3.1.5, egocaribautomapmarkers@5.0.3, betterarrow@1.0.3, bettererprospecting@3.4.3, bloodtrail@1.2.5, carryonlib@1.0.0-pre.7, composter@1.2.2, configlib@1.12.0, upgradablestorage@1.1.9, cropforecaster@2.1.0, extrainfo@2.2.1, farseer@1.4.0, fillmybloomery@1.0.3, fromgoldencombs@2.0.8, genelib@3.1.2, geologymap@1.1.0, jaunt@3.1.0, justanarrowheadmold@1.1.0, knapster@4.0.0, metalpots@1.8.0, multiclassreborn@0.2.4, ndltreegrowth@2.6.0, optitime@1.5.15, postsandbeams@1.5.1, statushudcont@4.3.2, stepupadvanced@1.4.0, creative@1.22.5, vsroofing@1.6.6, survival@1.22.5, watersheds@6.4.3, woodenfortifications@2.0.11, xlib@1.0.24, carryon@2.0.0-pre.7, equus@1.4.0, em@3.7.0, medievalarchitecture@1.1.1, prospectorsdispatch@1.2.1, xskills@1.0.81, xskillsgilded@1.3.40
Involved Harmony IDs: bettererprospecting
System.Collections.Generic.KeyNotFoundException: The given key 'rock-' was not present in the dictionary.
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at BetterErProspecting.Patches.Stone.RebuildMapComponentsPatch.Prefix(OreMapLayer __instance) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Patches\Stone\RebuildMapComponentsPatch.cs:line 21
   at Vintagestory.GameContent.OreMapLayer.RebuildMapComponents_Patch7(OreMapLayer this)
   at BetterErProspecting.Patches.Stone.ComposeDialogExtrasPatch.<>c__DisplayClass0_0.<Prefix>g__onSelectionChanged|0(String code, Boolean selected) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Patches\Stone\ComposeDialogExtrasPatch.cs:line 73
   at Vintagestory.API.Client.GuiElementDropDown.didSelect(String newvalue, Boolean on) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementDropDown.cs:line 130
   at Vintagestory.API.Client.GuiElementListMenu.OnMouseDown(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementListMenu.cs:line 575
   at Vintagestory.API.Client.GuiElementDropDown.OnMouseDown(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementDropDown.cs:line 412
   at Vintagestory.API.Client.GuiComposer.OnMouseDown(MouseEvent mouseArgs) in VintagestoryApi\Client\UI\GuiComposer.cs:line 470
   at Vintagestory.GameContent.GuiDialogWorldMap.OnMouseDown(MouseEvent args) in VSEssentials\Systems\WorldMap\GuiDialogWorldMap.cs:line 340
   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
Crash Report
Running on 64 bit Windows 10.0.26200.0 with 31909 MB RAM
Game Version: v1.22.5 (Stable)
22/07/2026 20:21:41: Critical error occurred in the following mod: bettererprospecting@3.4.3
Loaded Mods: walkingstick@3.0.10, betterflintore@1.0.0, betterarrows@1.0.1, biggerpockets@1.0.6, fieldsandplateaus@1.0.10, fragilecharcoal@0.0.1, lootgoblinbackpacks@0.0.5, helvehammersoundbegone@1.0.4, millwright@1.3.3, molds@0.3.6, morefat@1.5.5, overhaullib@2.0.10, plainsandvalleys@1.0.13, sortablestorage@3.0.0, specializedclasses@3.0.0, tlf999@0.0.3, easytorchlight@1.0.0, visibleoresandminerals@1.4.1, game@1.22.5, vsimgui@1.2.7, zoombuttonreborn@2.0.2, attributerenderinglibrary@3.1.5, egocaribautomapmarkers@5.0.3, betterarrow@1.0.3, bettererprospecting@3.4.3, bloodtrail@1.2.5, carryonlib@1.0.0-pre.7, composter@1.2.2, configlib@1.12.0, upgradablestorage@1.1.9, cropforecaster@2.1.0, extrainfo@2.2.1, farseer@1.4.0, fillmybloomery@1.0.3, fromgoldencombs@2.0.8, genelib@3.1.2, geologymap@1.1.0, jaunt@3.1.0, justanarrowheadmold@1.1.0, knapster@4.0.0, metalpots@1.8.0, multiclassreborn@0.2.4, ndltreegrowth@2.6.0, optitime@1.5.15, postsandbeams@1.5.1, statushudcont@4.3.2, stepupadvanced@1.4.0, creative@1.22.5, vsroofing@1.6.6, survival@1.22.5, watersheds@6.4.3, woodenfortifications@2.0.11, xlib@1.0.24, carryon@2.0.0-pre.7, equus@1.4.0, em@3.7.0, medievalarchitecture@1.1.1, prospectorsdispatch@1.2.1, xskills@1.0.81, xskillsgilded@1.3.40
Involved Harmony IDs: bettererprospecting
System.Collections.Generic.KeyNotFoundException: The given key 'rock-' was not present in the dictionary.
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at BetterErProspecting.Patches.Stone.RebuildMapComponentsPatch.Prefix(OreMapLayer __instance) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Patches\Stone\RebuildMapComponentsPatch.cs:line 21
   at Vintagestory.GameContent.OreMapLayer.RebuildMapComponents_Patch7(OreMapLayer this)
   at BetterErProspecting.Patches.Stone.ComposeDialogExtrasPatch.<>c__DisplayClass0_0.<Prefix>g__onSelectionChanged|0(String code, Boolean selected) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Patches\Stone\ComposeDialogExtrasPatch.cs:line 73
   at Vintagestory.API.Client.GuiElementDropDown.didSelect(String newvalue, Boolean on) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementDropDown.cs:line 130
   at Vintagestory.API.Client.GuiElementListMenu.OnMouseDown(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementListMenu.cs:line 575
   at Vintagestory.API.Client.GuiElementDropDown.OnMouseDown(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementDropDown.cs:line 412
   at Vintagestory.API.Client.GuiComposer.OnMouseDown(MouseEvent mouseArgs) in VintagestoryApi\Client\UI\GuiComposer.cs:line 470
   at Vintagestory.GameContent.GuiDialogWorldMap.OnMouseDown(MouseEvent args) in VSEssentials\Systems\WorldMap\GuiDialogWorldMap.cs:line 340
   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
Graim, Jul 21st at 5:41 PM

Hi. Had a couple of random crashes after prospecting. I am not sure if it is related to this mod.

Here is the last log:

7/21/2026 7:21:25 PM: Critical error occurred
Loaded Mods: tallheightwatershedslandformssealevelfork@2.1.2, aloysiasearlyinkandquill@2.3.0, ancientarmory@1.2.3, cbr@2.0.1, chiseltools@1.17.3, clickuptorches@1.1.1, decor@1.3.1, dwarf@0.1.1, fallingtree@0.5.2, firewoodtoparchment@0.0.1, foreverempty@0.1.1, caninae@1.1.8, capreolinae@2.0.16, casuariidae@1.1.11, dinornithidae@1.0.22, elephantidae@1.0.17, felinae@0.2.13, manidae@1.0.19, rhinocerotidae@1.0.23, sirenia@1.0.30, spheniscidae@1.0.16, geoaddons@1.4.8, immersivelanterns@0.4.1, immersivemining@0.3.0, increasedstoragecapacity@0.0.7, interestingoregen@2.3.8, jsonpatcheslib@1.5.3, moreicons@1.1.1, NoCaveAmbient@1.0.1, norustcreatures@0.0.4, overhaulliblegacycompat@1.2.4, overhaullib@2.0.10, prospecttogether@2.2.1, p2lumbersling@1.0.3, spinningwheel@1.2.12, stonequarryrepckfipil@3.6.3, tankardsandgoblets@1.4.4, terratag@0.5.0, toolbelt@0.3.5, visibleoresandminerals@1.4.1, game@1.22.3, vsimgui@1.2.7, zoombuttonreborn@2.0.2, algernonsterrainsampler@1.3.0, ancientarmoryqts@1.0.0, ancienttoolsfork@1.6.5, animationslib@0.0.2, attributerenderinglibrary@3.1.5, egocaribautomapmarkers@5.0.3, bedspawnv2@1.7.1, bettererprospecting@3.4.3, blocksoverlay@4.11.5, butchering@1.13.5, carryonlib@1.0.0-pre.7, chiselgridmod@0.2.21, closedcaptions@1.0.7, commonlibforked@2.8.1, configlib@1.12.0, coriaendershaders@1.2.2-pre.3, cratebulkinput@1.0.0, extrainfo@2.2.1, farseer@1.4.0, fastmap@122.5.1, fbgtamer@2.0.0, fishingplus@1.2.0, foodshelves@3.0.4, fromgoldencombs@2.0.8, geologymap@1.1.0, handbookbookmarkbutton@0.1.2, immersivemodularbackpacks@1.3.2, immersivewoodworking@1.0.0, improvedhandbookrecipesfork@1222.0.2, inventorytransfer@1.7.0, iwantsmoothtemperature@1.1.6, knapster@4.0.0, mngeology@2.0.10, medievalexpansionpatch@1.4.1, metalpots@1.8.0, minimalcompass@1.1.5, morefluxes@0.4.0, ndltimetracker@5.0.1, ndltreegrowth@2.5.0, ndlwoodentorchholder@3.0.2, nonegativearmorupdate@1.0.0, opdoorpack@0.0.1, placeonslabs@1.2.0, playermodellib@1.23.2, purposefulstorage@2.0.1, realsmoke@1.3.1, rustmatica@1.0.0, scaffolding@1.3.1, slapalabelonit@1.0.0, statueshaper@1.4.2, statushudcont@4.3.2, stepupadvanced@1.4.0, temporalgearsmithing@1.0.3, unchiseledpatch@1.0.0, creative@1.22.3, vsroofing@1.6.3, survival@1.22.3, wildfarmingfork@2.1.5, xlibfork@1.0.21, carryon@2.0.0-pre.7, rlldtco0001@2.3.0, crossbowsfork@1.10.0, em@3.7.0, fotsabutcheringcompat@0.1.0, fueledwearablelightsfork@1.2.3, heatretentioncontinued@1.0.3, lrc@0.3.1, playercorpseforked@1.14.1, quiversfork@0.9.29, realsmokeqppatch@1.0.1, terrainslabs@1.0.17, vermicomposting@1.0.6, xskills@1.0.75, xskillsgilded@1.3.38
System.NullReferenceException: Object reference not set to an instance of an object.
   at Vintagestory.API.Client.RichTextComponentBase.UseMouseOverCursor(ElementBounds richtextBounds) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\Richtext\RichTextComponentBase.cs:line 162
   at Vintagestory.API.Client.GuiElementRichtext.RenderInteractiveElements(Single deltaTime) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Text\GuiElementRichtext.cs:line 476
   at Vintagestory.API.Client.GuiComposer.Render(Single deltaTime) in VintagestoryApi\Client\UI\GuiComposer.cs:line 737
   at Vintagestory.Client.NoObf.HudDialogChat.OnRenderGUI(Single deltaTime) in VintagestoryLib\Client\Systems\Gui\Huds\HudDialogChat.cs:line 374
   at Vintagestory.Client.NoObf.GuiManager.OnRenderFrameGUI(Single deltaTime) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 309
   at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1048
   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

KnewOne , Jul 22nd at 8:57 AM
@Graim: Hi. Had a couple of random crashes after prospecting. I am not sure if it is related to this mod. Here is the last log: 7/21/2026 7:21:25 PM: Critical error occurredLoaded Mods: tallheightwatershedslandformssealevelfork@2.1.2, aloysiasearlyinkandquill@2.3

Error log doesn't help here unforch. If it's reliably reproduceable, try to find the conflicting mod by disabling in halves. You can check pin in mods-general for how to do that

Ganlhi, Jul 21st at 3:57 AM

Hello! I don't understand, the density search mode gives me "found 1 traces of ore in this area" but doesn't say which ore. Is it normal?

KnewOne , Jul 21st at 9:51 AM
@Ganlhi: Hello! I don't understand, the density search mode gives me "found 1 traces of ore in this area" but doesn't say which ore. Is it normal?

Try with debug on, provide log ( server.debug, server.main ) alongside. Steps to reproduce would be best, but would need to know which ore is malfunctioning, properly. Block overlay (x-ray) can help see the ore in question

Medixxx, Jul 15th at 3:20 PM

Hey any way to fix this error?

Spoiler
15.7.2026 11:16:12 [Server Notification] [LoggingMod] BreakBlock event entered, player=Medixxx
15.7.2026 11:16:12 [Server Notification] [LoggingMod] Axe check failed: ItemBetterErProspectingPick
15.7.2026 11:16:12 [Server Error] Exception: Value cannot be null. (Parameter 'args')
   at System.ArgumentNullException.Throw(String paramName)
   at System.String.Format(String format, Object[] args)
   at Vintagestory.API.Config.TranslationService.TryFormat(String value, Object[] args) in VintagestoryApi\Localization\Transl
ationService.cs:line 227
15.7.2026 11:16:12 [Server Warning] Exception at client 7. Disconnecting client.
15.7.2026 11:16:12 [Server Notification] Client 7 disconnected: An action you (or your client) did caused an unhandled excepti
on
15.7.2026 11:16:12 [Server Notification] Last player disconnected, compacting large object heap...
15.7.2026 11:16:15 [Server Debug] Despawn player entity Medixxx.
15.7.2026 11:16:15 [Server Event] Player Medixxx got removed. Reason: Threw an exception at the server
15.7.2026 11:16:15 [Server Error] Exception: Object reference not set to an instance of an object.
   at Vintagestory.API.Config.TranslationService.TryFormat(String value, Object[] args) in VintagestoryApi\Localization\Transl
ationService.cs:line 244
   at Vintagestory.API.Config.Lang.GetL(String langcode, String key, Object[] args) in VintagestoryApi\Localization\Lang.cs:li
ne 173
   at Vintagestory.Server.ServerPlayer.SendLocalisedMessage(Int32 groupId, String message, Object[] args) in VintagestoryLib\S
erver\Models\ServerPlayer.cs:line 220
   at BetterErProspecting.Extensions.ServerPlayerExtensions.SendLocalized(IServerPlayer player, String message, Int32 groupTyp
e, Object[] args) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Extensions\ServerPla
yerExtensions.cs:line 26
   at BetterErProspecting.Extensions.ServerPlayerExtensions.Info(IServerPlayer player, String message, Int32 chatGroup, Object
[] args) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Extensions\ServerPlayerExtens
ions.cs:line 18
   at BetterErProspecting.Item.Data.DelayedMessage.Send(IServerPlayer sp) in C:\Users\Ilya\Documents\GITREP\RiderProjects\Bett
erErProspecting\BetterErProspecting\Item\Data\DelayedMessage.cs:line 28
   at BetterErProspecting.Item.ItemBetterErProspectingPick.<>c__DisplayClass15_0.<ProbeBlockDensityMode>b__1(DelayedMessage ms
g) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs
:line 149
   at System.Collections.Generic.List`1.ForEach(Action`1 action)
   at BetterErProspecting.Item.ItemBetterErProspectingPick.ProbeBlockDensityMode(IServerPlayer serverPlayer, BlockSelection bl
ockSel) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPi
ck.cs:line 149
   at BetterErProspecting.Item.ItemBetterErProspectingPick.ProbeDensity(IWorldAccessor world, IServerPlayer serverPlayer, Item
Slot itemslot, BlockSelection blockSel) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspectin
g\Item\ItemBetterErProspectingPick.cs:line 114
   at BetterErProspecting.Item.ItemBetterErProspectingPick.OnBlockBrokenWith(IWorldAccessor world, Entity byEntity, ItemSlot i
temslot, BlockSelection blockSel, Single dropQuantityMultiplier) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProsp
ecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 90
   at Vintagestory.Server.ServerSystemBlockSimulation.TryModifyBlockInWorld_Patch1(ServerSystemBlockSimulation this, ServerPla
yer player, Packet_ClientBlockPlaceOrBreak cmd)
   at Vintagestory.Server.ServerSystemBlockSimulation.HandleBlockPlaceOrBreak(Packet_Client packet, ConnectedClient client) in
 VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 410
   at Vintagestory.Server.ServerMain.HandleClientPacket_mainthread(ReceivedClientPacket cpk) in VintagestoryLib\Server\ServerM
ainNetworking.cs:line 275
   at Vintagestory.Server.ServerMain.ProcessMain() in VintagestoryLib\Server\ServerMain.cs:line 964
Spoiler
15.7.2026 11:16:12 [Server Notification] [LoggingMod] BreakBlock event entered, player=Medixxx
15.7.2026 11:16:12 [Server Notification] [LoggingMod] Axe check failed: ItemBetterErProspectingPick
15.7.2026 11:16:12 [Server Error] Exception: Value cannot be null. (Parameter 'args')
   at System.ArgumentNullException.Throw(String paramName)
   at System.String.Format(String format, Object[] args)
   at Vintagestory.API.Config.TranslationService.TryFormat(String value, Object[] args) in VintagestoryApi\Localization\Transl
ationService.cs:line 227
15.7.2026 11:16:12 [Server Warning] Exception at client 7. Disconnecting client.
15.7.2026 11:16:12 [Server Notification] Client 7 disconnected: An action you (or your client) did caused an unhandled excepti
on
15.7.2026 11:16:12 [Server Notification] Last player disconnected, compacting large object heap...
15.7.2026 11:16:15 [Server Debug] Despawn player entity Medixxx.
15.7.2026 11:16:15 [Server Event] Player Medixxx got removed. Reason: Threw an exception at the server
15.7.2026 11:16:15 [Server Error] Exception: Object reference not set to an instance of an object.
   at Vintagestory.API.Config.TranslationService.TryFormat(String value, Object[] args) in VintagestoryApi\Localization\Transl
ationService.cs:line 244
   at Vintagestory.API.Config.Lang.GetL(String langcode, String key, Object[] args) in VintagestoryApi\Localization\Lang.cs:li
ne 173
   at Vintagestory.Server.ServerPlayer.SendLocalisedMessage(Int32 groupId, String message, Object[] args) in VintagestoryLib\S
erver\Models\ServerPlayer.cs:line 220
   at BetterErProspecting.Extensions.ServerPlayerExtensions.SendLocalized(IServerPlayer player, String message, Int32 groupTyp
e, Object[] args) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Extensions\ServerPla
yerExtensions.cs:line 26
   at BetterErProspecting.Extensions.ServerPlayerExtensions.Info(IServerPlayer player, String message, Int32 chatGroup, Object
[] args) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Extensions\ServerPlayerExtens
ions.cs:line 18
   at BetterErProspecting.Item.Data.DelayedMessage.Send(IServerPlayer sp) in C:\Users\Ilya\Documents\GITREP\RiderProjects\Bett
erErProspecting\BetterErProspecting\Item\Data\DelayedMessage.cs:line 28
   at BetterErProspecting.Item.ItemBetterErProspectingPick.<>c__DisplayClass15_0.<ProbeBlockDensityMode>b__1(DelayedMessage ms
g) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs
:line 149
   at System.Collections.Generic.List`1.ForEach(Action`1 action)
   at BetterErProspecting.Item.ItemBetterErProspectingPick.ProbeBlockDensityMode(IServerPlayer serverPlayer, BlockSelection bl
ockSel) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPi
ck.cs:line 149
   at BetterErProspecting.Item.ItemBetterErProspectingPick.ProbeDensity(IWorldAccessor world, IServerPlayer serverPlayer, Item
Slot itemslot, BlockSelection blockSel) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspectin
g\Item\ItemBetterErProspectingPick.cs:line 114
   at BetterErProspecting.Item.ItemBetterErProspectingPick.OnBlockBrokenWith(IWorldAccessor world, Entity byEntity, ItemSlot i
temslot, BlockSelection blockSel, Single dropQuantityMultiplier) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProsp
ecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 90
   at Vintagestory.Server.ServerSystemBlockSimulation.TryModifyBlockInWorld_Patch1(ServerSystemBlockSimulation this, ServerPla
yer player, Packet_ClientBlockPlaceOrBreak cmd)
   at Vintagestory.Server.ServerSystemBlockSimulation.HandleBlockPlaceOrBreak(Packet_Client packet, ConnectedClient client) in
 VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 410
   at Vintagestory.Server.ServerMain.HandleClientPacket_mainthread(ReceivedClientPacket cpk) in VintagestoryLib\Server\ServerM
ainNetworking.cs:line 275
   at Vintagestory.Server.ServerMain.ProcessMain() in VintagestoryLib\Server\ServerMain.cs:line 964
KnewOne , Jul 15th at 5:35 PM (modified Jul 15th at 5:44 PM)
@Medixxx: Hey any way to fix this error? Spoiler 15.7.2026 11:16:12 [Server Notification] [LoggingMod] BreakBlock event entered, player=Medixxx 15.7.2026 11:16:12 [Server Notification] [LoggingMod] Axe check failed: ItemBetterErProspectingPick 15.7.2026 11:16:12 [S

Based on lines, you don't have the latest mod version. There was a bug with localized messages, and the 28th line indicates you're using a 3.4.2 modid

Bowmanoflight, Jul 8th at 2:28 AM

Will general prospecting show quartz? I haven't found any in my world. (using Interesting Ore Gen)

KnewOne , Jul 8th at 5:05 PM
@Bowmanoflight: Will general prospecting show quartz? I haven't found any in my world. (using Interesting Ore Gen)

Anything not shown by default prospecting will not be visible with this unless the mod author makes it so. Ross is aware of this, direct the questions to him

FlyiaDragons, Jul 7th at 1:20 AM

does halite count as an ore or a stone with this mod?

KnewOne , Jul 7th at 11:03 AM
@FlyiaDragons: does halite count as an ore or a stone with this mod?

It's rock. All rock-'s are rocks, all ore-s are ores. (.edi) command or settings dev tab will allow you to view this

Spike88, Jul 13th at 10:08 PM
@KnewOne: It's rock. All rock-'s are rocks, all ore-s are ores. (.edi) command or settings dev tab will allow you to view this

So does this mean I need to use stone mode or density for finding halite?

KnewOne , Jul 14th at 10:06 AM
@Spike88: So does this mean I need to use stone mode or density for finding halite?

Up to you. Density still works the same;  borehole can be used that way

KnewOne , Jul 6th at 9:29 AM

Hiran, GaelCrash both should be fixed now

Hiran, Jul 5th at 7:39 PM (modified Jul 5th at 7:41 PM)

Latest version does not add new prospects to prospectTogether map. 
Also something weird happens when prospecting blocks that have womething with gravity (sand/gravel) above - they don't fall.

GaelCrash, Jul 5th at 6:24 PM

After this last update we cant density prospect, everyone is getting kicked off the server when they do.

Crash Report

5.7.2026 18:19:27 [Server Error] Exception: Object reference not set to an instance of an object. at Vintagestory.API.Config.TranslationService.TryFormat(String value, Object[] args) in VintagestoryApi\Localization\TranslationService.cs:line 244 at Vintagestory.Server.ServerPlayer.SendLocalisedMessage(Int32 groupId, String message, Object[] args) in VintagestoryLib\Server\Models\ServerPlayer.cs:line 220 at BetterErProspecting.Extensions.ServerPlayerExtensions.SendLocalized(IServerPlayer player, String message, Int32 groupType, Object[] args) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Extensions\ServerPlayerExtensions.cs:line 26 at BetterErProspecting.Extensions.ServerPlayerExtensions.Info(IServerPlayer player, String message, Int32 chatGroup, Object[] args) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Extensions\ServerPlayerExtensions.cs:line 18 at BetterErProspecting.Item.Data.DelayedMessage.Send(IServerPlayer sp) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Item\Data\DelayedMessage.cs:line 28 at BetterErProspecting.Item.ItemBetterErProspectingPick.<>c__DisplayClass15_0.<ProbeBlockDensityMode>b__1(DelayedMessage msg) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 149 at System.Collections.Generic.List1.ForEach(Action1 action) at BetterErProspecting.Item.ItemBetterErProspectingPick.ProbeBlockDensityMode(IServerPlayer serverPlayer, BlockSelection blockSel) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 149 at BetterErProspecting.Item.ItemBetterErProspectingPick.ProbeDensity(IWorldAccessor world, IServerPlayer serverPlayer, ItemSlot itemslot, BlockSelection blockSel) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 114 at BetterErProspecting.Item.ItemBetterErProspectingPick.OnBlockBrokenWith(IWorldAccessor world, Entity byEntity, ItemSlot itemslot, BlockSelection blockSel, Single dropQuantityMultiplier) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 90 at Vintagestory.Server.ServerSystemBlockSimulation.TryModifyBlockInWorld_Patch1(ServerSystemBlockSimulation this, ServerPlayer player, Packet_ClientBlockPlaceOrBreak cmd) at Vintagestory.Server.ServerSystemBlockSimulation.HandleBlockPlaceOrBreak(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 410 at Vintagestory.Server.ServerMain.HandleClientPacket_mainthread(ReceivedClientPacket cpk) in VintagestoryLib\Server\ServerMainNetworking.cs:line 275 at Vintagestory.Server.ServerMain.ProcessMain() in VintagestoryLib\Server\ServerMain.cs:line 964

Jadesy, Jul 5th at 2:02 AM

So, I have updated the multiplayer server a few times and run the commands to redo the ores (as given by this mod), rebooted the server, and it still is saying that the commands need to be run. I keep waiting on a note that this is fixed. Has this persistence of the "tell the admin to run X command" (even though they've been run repeatedly) been reported other than me, here?

KnewOne , Jul 5th at 8:27 AM (modified Jul 5th at 8:32 AM)
@Jadesy: So, I have updated the multiplayer server a few times and run the commands to redo the ores (as given by this mod), rebooted the server, and it still is saying that the commands need to be run. I keep waiting on a note that this is fixed. Has this persist

This has been reported, but i cannot replicate. The last time i asked for the person to give their save file or steps to reproduce, but he ghosted me. I'll try to amend this in the next patch, but i'd rather get down to the cause

Jadesy, Jul 5th at 1:48 PM
@KnewOne: This has been reported, but i cannot replicate. The last time i asked for the person to give their save file or steps to reproduce, but he ghosted me. I'll try to amend this in the next patch, but i'd rather get down to the cause

What do you need? Our save file is 10Gb (zipped) lmao so there's no way I could send that. I could give you our server address and you could experience it?

KnewOne , Jul 5th at 4:20 PM
@Jadesy: What do you need? Our save file is 10Gb (zipped) lmao so there's no way I could send that. I could give you our server address and you could experience it?

Unfortunatelly i can't really "experience" it without debugging. Though 10gb is ouch. I pushed an update that should make it fine after the reprospect. Try that and report changes. 

MadSeraph, Jul 4th at 1:05 AM

Would it be possible to have a link in the borehole chat output that when clicked places a waypoint marker with the propick icon and what was found?

KnewOne , Jul 4th at 12:43 PM (modified Jul 4th at 2:07 PM)
@MadSeraph: Would it be possible to have a link in the borehole chat output that when clicked places a waypoint marker with the propick icon and what was found?

Maybe later. I have an idea how to implement but wanna play something else

Though it's relatively easy so sure

MightyFox, Jun 26th at 2:16 PM

Borehole Mode: a mildly immersive prospecting approach, breaking a block from the top side with this will reveal each block down to the mantle in a radius ( configurable, default is 8 ). Conveniently, has the toggles for both ore and stone separately.

I cant figure out how to switch between ore and stone? Is it a config thing?

Noiita, Jun 26th at 11:28 AM

Thanks for a great mod!
I have two questions though:
1. What's the depth for the borehole prospecting? Hadn't found any infor in configs. 
2. Node search and proximity works the same way for me. I.e. on the same distance. Is it by design?

KnewOne , Jun 26th at 1:40 PM
@Noiita: Thanks for a great mod!I have two questions though:1. What's the depth for the borehole prospecting? Hadn't found any infor in configs. 2. Node search and proximity works the same way for me. I.e. on the same distance. Is it by design?

1. From mod desc: Borehole Mode: a mildly immersive prospecting approach, breaking a block from the top side with this will reveal each block down to the mantle in a radius

2. They work the same way or they have the same range ? Everything in this mod is configurable. Node doesn't tell you exact block count the way proximity does ( it also has a found/not found in radius behaviour ), whereas node is always yes/no. By configuring node to be bigger and proximity to be lower, you can use them on different scales. But the main reason proximity exists is because initially the mod was a way to have a single mod for all the popular at the time features, density notwithstanding this

Noiita, Jun 26th at 2:13 PM
@KnewOne: 1. From mod desc: Borehole Mode: a mildly immersive prospecting approach, breaking a block from the top side with this will reveal each block down to the mantle in a radius 2. They work the same way or they have the same range ? Everything in this mod is

1. Ah thanks, I was so thrilled to try it that missed that detail :)
2. Yes, I meant the same distance. I'll probably tweak node up to ~7 blocks with proximity down to 4 to keep them on a different scale.

ghostmaner, Jun 26th at 7:21 AM

does the perforation mode signals coal variants? because the node mode told me that in a chunk there is a lot of brown coal but the perforation thing doesn't get it

KnewOne , Jun 26th at 10:04 AM (modified Jun 26th at 10:04 AM)
@ghostmaner: does the perforation mode signals coal variants? because the node mode told me that in a chunk there is a lot of brown coal but the perforation thing doesn't get it

"borehole", i assume. by default it does ore ( coal is also ore ), iirc. maybe you changed your settings ? double check with xray

MiguelBazil, Jun 19th at 6:35 PM

I'm playing with this mod and quite a few more, which includes the "interesting ore generation" mod. However, with the changes that it does, quarzt finding became a lot harder.

To help with that, I modified the list of exceptions on BettererProspecting to allow for quartz to be prospected, but it was not working. So, I installed block overlay to be sure, and indeed, it was not properly prospecting quartz.

 

I then activated debug mode, and got the following message:

"Found ore keys not in the ppws prospectable list. Is it intentional? : quartz"

I guess there is a "ppws prospectable list" somewhere in the code, or config files, that I don't know how to find, to make this work. Can anyone give me a hand? Maybe you can shed some light on this KnewOne?

KnewOne , Jun 19th at 9:44 PM
@MiguelBazil: I'm playing with this mod and quite a few more, which includes the "interesting ore generation" mod. However, with the changes that it does, quarzt finding became a lot harder. To help with that, I modified the list of exceptions on BettererProspecting to

This issue is unfortunatelly on the IOG side. PPWS prospectable list is defined by "withOreMap: true" in the ore worldgen definition and must be set by them. There is a guide on the google sheet in the "advanced" section showing how you can make a custom mod to make an ore visible, but there's nothing i can do on my side. IOG will not show quartz with default propick, and therefore will not be visible with this either. This decision was made to allow external mods to define their prospectability themselves, rather than this just finding everything and ruining potential balancing part of a mod's ore.

Baltsaros, Jun 17th at 7:31 PM

Hello!
I keep getting a warning about "World requires a reprospect" after installing a new version of the addon. I executed the commands (/btrpr reprospect -> /btrpr oreData) many times, reloaded the world, reinstalled different version of the mod, but without success. What could be wrong?
I am on 1.22.3 game version.

KnewOne , Jun 18th at 11:44 AM (modified Jun 18th at 11:50 AM)
@Baltsaros: Hello!I keep getting a warning about "World requires a reprospect" after installing a new version of the addon. I executed the commands (/btrpr reprospect -> /btrpr oreData) many times, reloaded the world, reinstalled different version of the mod, but wit

Overly eager reprospect check. 3.3.1+ should fix this but edge case maybe ? Any chance you're on linux ? Running reprospect and then gracefully saving the world by qutting/autosavenow should be enough

Could you give steps to reproduce ? Ideally no other mods and new save file. 

Baltsaros, Jun 18th at 4:51 PM
@KnewOne: Overly eager reprospect check. 3.3.1+ should fix this but edge case maybe ? Any chance you're on linux ? Running reprospect and then gracefully saving the world by qutting/autosavenow should be enough Could you give steps to reproduce ? Ideally no other m

No, I am on Windows. I tried to save the world by quitting after the commands were executed, but without success. Now I returned to my old version 3.2.8 and this resolved the issue. So I guess something in migration from 3.2.8 to 3.3.x does not go well. 

Weberle, Jun 17th at 6:01 PM (modified Jun 18th at 4:39 AM)

I recently installed the mod, but I don't get it. How do I find ores like tin with it? Is there a video tutorial anyone could give me a link for?

KnewOne , Jun 17th at 6:49 PM
@Weberle: I recently installed the mod, but I don't get it. How do I find ores like tin with it? Is there a video tutorial anyone could give me a link for?

Just do the same prospecting as if you're in base game. The only real difference is that you can trust all values. So you won't have a case where there is high tin but you dig down and there's nothing

FloodLight, Jun 16th at 10:53 AM

Is there a way to configure what ores are searched for in proximity scan? I really don't need to find olivine when mining for peridot.

FloodLight, Jun 16th at 8:09 PM
@KnewOne: Proximity reuses density blacklist

And uhh where can I find the density ore blacklist? The autolib doesn't have it, and I've searched all the configs I could find to no avail

FloodLight, Jun 17th at 3:50 PM
@KnewOne:

I checked it and I don't have it because I am using an older version than 3.2.2, the one of 1.21.6, sorry for bothering you

Thranduil61, Jun 11th at 5:02 PM

what does the OneShotDensity option do? I am able to do density search with one rock while option is false.

KnewOne , Jun 11th at 6:36 PM
@Thranduil61: what does the OneShotDensity option do? I am able to do density search with one rock while option is false.

It's for when the new density is disabled. configlib should have the comment explaining that iirc

catKnignt, Jun 9th at 8:32 PM

how far does the density search? is there a way to change it?

KnewOne , Jun 10th at 11:15 AM
@catKnignt: how far does the density search? is there a way to change it?

It's 32 radius, so a 65x65 square, or 4 chunks.

Too high of a number will make finding centerpoint of a deposit harder, since you'd be able to find only edges reliably, and the whole deposit range could get inside the radius, making every reading ultrahigh with mostly the same ppt.

I have thought about adding a way to change its radius, but that might create more issues than it solves.

catKnignt, Jun 12th at 8:02 PM
@KnewOne: It's 32 radius, so a 65x65 square, or 4 chunks. Too high of a number will make finding centerpoint of a deposit harder, since you'd be able to find only edges reliably, and the whole deposit range could get inside the radius, making every reading ultrahig

my issue is i cant find resources, ive been stuck at a max of 0.3 (or 0.03 cant remember) native copper and that % is surface deposits

borehole mode is by far the easiest way to find deposits if you know they are in the area

Sirenne, Jun 4th at 10:59 PM

Hi there! Looks like we're having an issue with Advanced Geology:

 

Crash Report
4.6.2026 16:29:15 [Error] Exception: The given key 'chalcopyrite' was not present in the dictionary.
at BetterErProspecting.Prospecting.ProspectingSystem.generateReadigs(ICoreServerAPI sapi, BlockPos blockPos, Dictionary`2 codeToFoundOre, PropickReading& readings, List`1& updatePairs, List`1 delayedMessages) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Prospecting\ProspectingSystem.cs:line 318
at BetterErProspecting.Item.ItemBetterErProspectingPick.ProbeBlockDensityMode(IServerPlayer serverPlayer, BlockSelection blockSel) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 129
at BetterErProspecting.Item.ItemBetterErProspectingPick.OnBlockBrokenWith(IWorldAccessor world, Entity byEntity, ItemSlot itemslot, BlockSelection blockSel, Single dropQuantityMultiplier) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 87
at Vintagestory.Server.ServerSystemBlockSimulation.TryModifyBlockInWorld_Patch1(ServerSystemBlockSimulation this, ServerPlayer player, Packet_ClientBlockPlaceOrBreak cmd)
at Vintagestory.Server.ServerSystemBlockSimulation.HandleBlockPlaceOrBreak(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 410
at Vintagestory.Server.ServerMain.HandleClientPacket_mainthread(ReceivedClientPacket cpk) in VintagestoryLib\Server\ServerMainNetworking.cs:line 275
at Vintagestory.Server.ServerMain.ProcessMain() in VintagestoryLib\Server\ServerMain.cs:line 964
KnewOne , Jun 5th at 9:54 AM
@Sirenne: Hi there! Looks like we're having an issue with Advanced Geology: Crash Report 4.6.2026 16:29:15 [Error] Exception: The given key 'chalcopyrite' was not present in the dictionary. at BetterErProspecting.Prospecting.ProspectingSystem.generateReadigs(ICoreS

If you're on 3.3.1 or lower you might get a fix when getting 3.3.2+, if you're on 3.3.3 and higher i need full log + steps to reproduce.

THis mod's version ? That mod's version ? Was that mod added halfway into the world ? Can you reproduce with only these two mods ? 

Did a quick test and couldn't reproduce. Ideally it's reproducible in new world, worst case i'll need your save file. 

FentonCheese, Jun 4th at 12:16 PM

does density mode pick up surface copper nodes?, i keep getting high copper readings with only 0.3% which doesnt make much sense becuase im using IOG

KnewOne , Jun 4th at 3:28 PM (modified Jun 4th at 3:28 PM)
@FentonCheese: does density mode pick up surface copper nodes?, i keep getting high copper readings with only 0.3% which doesnt make much sense becuase im using IOG

It doesn't differentiate between surface copper and regular copper. It will pick it up based on the oreblock

0.3 could happen if you're prospecting on the edge of the big iog structure, but you're probably certain there are none close, so yeah it's probably surface copper

PixalPromethean, Jun 3rd at 7:00 PM

Hello! Absolutely love this mod! Been using it in every version since I started modded and never looked back!
Unfortunately, one of the newer updates, it seems to have broken to some extent? Using the prospect pick at all prompts the reprospect/oredata message instead of any readouts (assuming working as intended!), but even after running both commands and waiting for them to resolve sequentially, it will continue to prompt me to run the commands while using long range search. I have tried it multiple times, across multiple restarts and dedicated a fair amount of time to trying to get it to work again! I'm desperately searching for nickel...
I really hope it isn't broken for this world? It's currently my planned forever world since 1.22 dropped and I'd love to get it up and running again! Weirdly, all other functions of the propic work absolutely fine! Borehole, stonesearch, prox, etc. Just long range!
If you have any help that would be amazing! I love your work and I know you have a life so I'm not worried about a instant fix!

KnewOne , Jun 3rd at 7:31 PM
@PixalPromethean: Hello! Absolutely love this mod! Been using it in every version since I started modded and never looked back!Unfortunately, one of the newer updates, it seems to have broken to some extent? Using the prospect pick at all prompts the reprospect/oredata mes

I did an oopsie in the 3.3.1 release. It has since been updated up to 3.3.3
The readings are still being created by the way. It's just that the message is being sent in two different channels. If you switch to info chat in the bottom-left it will still show the reading. But, assuming you're on 3.3.3, it should be fine. If you're on 3.3.3 and encountering the issue, please tell

Ghaelen, Jun 2nd at 1:51 PM (modified Jun 2nd at 1:52 PM)

I'm excited to use this mod!  I installed this mod, Prospect Together, and Loose Stone Prospecting.  Noticed two things (I created a test world with only these 3 mods, so that narrows things down):

 

#1) First, when I take a reading with the prospecting pick, I see the results doubled.   Screenshot.  You can see two instances of "Found 7 traces of ore in this area".  Interestingly, one panel has been ordered by trace percentage while the other has not.  I disabled Loose Stone Prospect and the problem persisted, so that mod isn't causing the doubling.  Any idea why the information is doubled?  Feels like both this mod and either the game itself or Prospect Together are writing to the dialogue box's output.  It's not a "make or break" bug, but it does indicate there's un-anticipated behavior going on somewhere.

 

#2) Secondly, it seems that I only need to prospect pick one stone / block to get a reading instead of three.  I disabled Loose Stone and Prospect Together and found that the "one block reading" is due to this mod.  I kind of like the idea of triangulation to get a reading, and I'm afraid that one block readings might make the game too easy, causing me to lose interest.   Is this expected behavior?  If so, is there a way to get triangulation back?

KnewOne , Jun 2nd at 2:32 PM
@Ghaelen: I'm excited to use this mod! I installed this mod, Prospect Together, and Loose Stone Prospecting. Noticed two things (I created a test world with only these 3 mods, so that narrows things down): #1) First, when I take a reading with the prospecting pick,

1: Prospecting Together shows a similar readout compared to the base game readout. You can disable layers on the left to split them into separate things. This is baseline behaviour of prospecting together. Two readings - one being the square of 32x32 being shown, and 1 reading of the point reading.

2: It's an expected behaviour. "Triangulation" doesn't really happen because it doesn't make sense. I don't see a big demand for it, and adding it is a bit annoying so i'd rather not. I also kinda dislike how base game it just comes down to digging down, prospecting, and then making 2 tunnels of 3 block depth into 2 sides to get readings. One block reading flip is only for base game density. If you think it's less durability spent due to no need to mine blocks, you can pump the dura damage to 9 or something

ChimMAG, Jun 2nd at 1:36 PM

I have updated the Russian translation and added these six technical lines. 😀

TotallyNotASmurf, Jun 2nd at 5:11 AM

Is there any way to add Olivine to the density reading?

KnewOne , Jun 2nd at 11:26 AM
@TotallyNotASmurf: Is there any way to add Olivine to the density reading?

I've added an "advanced" section with a google sheet file. Second page, with pointers on how-to-do. Right now i don't want to add this functionality as base part of the mod for a number of compat issues. You'll also have to use the newest version of the mod

Sankis, Jun 1st at 7:45 AM

Really liking your changes to the prospecting system. However, was finding Bitumenous Coal or Anthracite changed? Or have I simply been extremely unlucky in this world? I've gone through multiple prospecting picks trying to find a reading of some but have had no luck so far.

KnewOne , Jun 1st at 8:31 AM (modified Jun 1st at 9:31 AM)
@Sankis: Really liking your changes to the prospecting system. However, was finding Bitumenous Coal or Anthracite changed? Or have I simply been extremely unlucky in this world? I've gone through multiple prospecting picks trying to find a reading of some but have

Any chance you spawned in the limestone biome ?

Btw you can always double check by loading suprrflat, placing a single block of ore a few blocks under the ground level and then prospecting a block above it in 32 block radius. I'd mention it.

I'll check later tho

yeah it's fine

FlamingLunatic, May 30th at 8:20 PM

I can't seem to prospect for phosphorite, it doesn't appear in the filter, is this a bug?

KnewOne , May 31st at 5:32 PM
@FlamingLunatic: I can't seem to prospect for phosphorite, it doesn't appear in the filter, is this a bug?

Filter is only a blacklist on top of regular search. If the ore doesn't get a reading in base game, it doesn't get reading in the mod. oremap value on an ore governs everything

Sleelan, May 26th at 10:01 AM

Your migration section only mentions disabling and re-enabling the mod, but is it gonna be the same story if I want to start using it on a world where I used vanilla prospecting before? Will running /btrpr oreData let the old prospect readings be used for the modded ones' calculations after installing, or would I need to discard all the old ones and start fresh somehow?

KnewOne , May 26th at 10:48 AM (modified May 26th at 11:21 AM)
@Sleelan: Your migration section only mentions disabling and re-enabling the mod, but is it gonna be the same story if I want to start using it on a world where I used vanilla prospecting before? Will running /btrpr oreData let the old prospect readings be used for

Will add a new sction. On a world that has never used any version of this mod, but has existing readings, must run a reprospect task. It is somewhat CPU heavy so it's to be ran manually and ideally right after restarting with no other players. Afterwards you run oredata. By the time you read this, this info will be there

Kaschperle, May 19th at 8:47 AM (modified May 19th at 8:50 AM)

heyho curious if you know why that exception occurs, sometimes when prospecting you get kicked.

 

using interestingoregen not really anything else that would change anything related to ores.Otherwise geology material needs. (edit also using visible ores and minerals)

 

Spoiler
19.5.2026 09:45:26 [Server Error] Exception: The given key 'nativecopper' was not present in the dictionary.
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at BetterErProspecting.Prospecting.ProspectingSystem.generateReadigs(ICoreServerAPI sapi, BlockPos blockPos, Dictionary`2
codeToFoundOre, PropickReading& readings, List`1& updatePairs, List`1 delayedMessages) in C:\Users\Ilya\Documents\GITREP\Ride
rProjects\BetterErProspecting\BetterErProspecting\Prospecting\ProspectingSystem.cs:line 309
   at BetterErProspecting.Item.ItemBetterErProspectingPick.ProbeBlockDensityMode(IServerPlayer serverPlayer, BlockSelection b
lockSel) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspecting
Pick.cs:line 129
   at BetterErProspecting.Item.ItemBetterErProspectingPick.ProbeDensity(IWorldAccessor world, IServerPlayer serverPlayer, Ite
mSlot itemslot, BlockSelection blockSel) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspect
ing\Item\ItemBetterErProspectingPick.cs:line 111
   at BetterErProspecting.Item.ItemBetterErProspectingPick.OnBlockBrokenWith(IWorldAccessor world, Entity byEntity, ItemSlot
itemslot, BlockSelection blockSel, Single dropQuantityMultiplier) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErPro
specting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 87
   at Vintagestory.Server.ServerSystemBlockSimulation.TryModifyBlockInWorld_Patch1(ServerSystemBlockSimulation this, ServerPl
ayer player, Packet_ClientBlockPlaceOrBreak cmd)
   at Vintagestory.Server.ServerSystemBlockSimulation.HandleBlockPlaceOrBreak(Packet_Client packet, ConnectedClient client) i
n VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 410
   at Vintagestory.Server.ServerMain.HandleClientPacket_mainthread(ReceivedClientPacket cpk) in VintagestoryLib\Server\Server
MainNetworking.cs:line 275
   at Vintagestory.Server.ServerMain.ProcessMain() in VintagestoryLib\Server\ServerMain.cs:line 964
KnewOne , May 19th at 9:23 AM (modified May 19th at 9:23 AM)
@Kaschperle: heyho curious if you know why that exception occurs, sometimes when prospecting you get kicked. using interestingoregen not really anything else that would change anything related to ores.Otherwise geology material needs. (edit also using visible ores and

Unfortunately cannot reproduce with iog and material needs. try to isolate the scenario when this happens and the correpsonding mods. make sure you're on latest mod versions. 

InternetDragon, May 16th at 1:15 AM

New updates removed ability to detect Suevite with stone mode.

InternetDragon, May 16th at 5:07 PM
@KnewOne: Intentional

Could you make it a config option? 

KnewOne , May 16th at 8:51 PM (modified May 16th at 8:52 PM)
@InternetDragon: Could you make it a config option?

That's kinda cheaty imo. I'm trying to keep it close to vanilla and nothing allows finding suevite easily there

Randonymous, May 17th at 4:00 PM (modified May 17th at 4:05 PM)
@KnewOne: That's kinda cheaty imo. I'm trying to keep it close to vanilla and nothing allows finding suevite easily there

I'd like to see it as a config option too, it feels more arbitrary to have had it for this long then suddenly outright removing it without making it an option so the player can decide. We like this mod because it's betterEr than vanilla prospecting and this was part of that for me.

M4sonnn, May 14th at 5:45 AM

using this on a private server, and I don't see the same "medium range" search that I do on my solo that shows me "trace amounts, medium amounts, etc". what do I need to change in the config to get that back?

M4sonnn, May 15th at 12:55 AM
@KnewOne: You're probably confusing this and (durable)better prospecting

no, I definitely have this one installed haha

M4sonnn, May 15th at 3:07 AM
@KnewOne: You're probably confusing this and (durable)better prospecting

to be more specific, I have 4 modes available to me, when i used to have a fifth, as follows:
Density Search Mode (Long Range, percent based reading)
Medium Search (the one missing)
Proximity (Short Range that says "closest ore is x blocks away")
Stone Mode (Long Range stone search mode)
Borehole Mode (cylindrical search)

on my solo, I had another medium range search (not sure what it was called) that just disappeared? not sure if this mod removes it and thats a vanilla feature, if they got condensed into the same search mode with this mod, if theres a config I'm missing, etc. any help is appreciated, but this is the only prospecting mod I have:)

KnewOne , May 15th at 8:43 AM (modified May 15th at 9:06 AM)
@M4sonnn: to be more specific, I have 4 modes available to me, when i used to have a fifth, as follows:Density Search Mode (Long Range, percent based reading)Medium Search (the one missing)Proximity (Short Range that says "closest ore is x blocks away")Stone Mode (

Oh that's the node search. You have world config set to 0 range on that prospecting mode which is why it's hidden. It's set either via a command or ehen opening the save and pressing edit button

/worldconfig propickNodeSearchRadius [0-12]

seaseraphic, May 13th at 4:05 AM

So what's the difference between this mod and BetterProspecting (now DurableBetterProspecting?)?

KnewOne , May 13th at 10:26 AM
@seaseraphic: So what's the difference between this mod and BetterProspecting (now DurableBetterProspecting?)?

That one prefers showing shortest distance to the block. I dislike the idea and made my approach follow vanilla. The density mode here is an upgraded version of vanilla, the other modes were added because i either found them neat or they were a popular but abandoned mod. It's much easier to make 1 mod that adds all the modes with the ability to toggle them off than to have several mods trying to add all their modes

Timbrage, May 9th at 1:58 PM (modified May 9th at 2:02 PM)

How can you use barehole mode with stone mode? I can just use that stone mode to find readings to find percentage, but if I select barehole it shows me readings to ores. Oh you have to enable it in the settings

 

Also, how does stone mode works, it shows readings on how many blocks?

 

Spoiler!
image
Epiteto, May 8th at 7:13 PM

Hi! IOG adds saltpeter ore. Does this mod detect/show it in density mode?

KnewOne , May 8th at 8:25 PM
@Epiteto: Hi! IOG adds saltpeter ore. Does this mod detect/show it in density mode?

If it's not visible with vanilla density, it's not visible with this in the density mode

PersonGuyThe, May 6th at 12:56 AM

How many readings do i need before the math stabilizes? ive taken around 20 readings over an aprox 400x400 area and there's still a lot of ultra highs on my initial readings

KnewOne , May 6th at 10:25 AM (modified May 6th at 10:29 AM)
@PersonGuyThe: How many readings do i need before the math stabilizes? ive taken around 20 readings over an aprox 400x400 area and there's still a lot of ultra highs on my initial readings

Are you on the latest version ? There was a bug there for game reentry.
There shouldn't be that many ultra highs after like 3-4 because it's a 90th percentile which is most likely closest to the ore region centerpoint 
This is a result of opening a new world and prospecting 6 times and then filtering for native copper. The red one was the last taken and it was lowest value of all, properly sent in the chat and reflected on the map

Nulldur, May 5th at 4:26 PM

can i use this and prospecting together at the same time?

KnewOne , May 5th at 5:03 PM
@Nulldur: can i use this and prospecting together at the same time?

please read compat section

Nulldur, May 7th at 3:29 PM
@KnewOne: please read compat section

-_____- dang that tab was mad hidden, thanks for pointing it out. apologies!  -________-

Jalex, May 4th at 6:18 PM

damn, I got rick rolled by patch notes [:pensive:] 

KnewOne , May 4th at 5:58 PM (modified May 4th at 6:17 PM)

Shazza, DeterminedBun i have found the cause but the solution might take some time. It doesn't save data on manual exists, only on autosave. Quickfix is to run /autosavenow before existing the world. If you forget to, you can just /btrpr oreData - this will restore data from prospecting points. Aftewards it will work properly, but i do advise to /autosavenow right after for simplicity. I'll make a new version that fixes it and requires no manual input when i figure a nice solution for server <> client   

should be fine now

Shazza, May 4th at 12:52 PM

Loving this mod for making things less hellish for propicking! Though I'm having an issue on 1.22.1 where re-entering the world completely forgets all past readings, meaning their values start from Ultra High again until enough new nodes are found to repopulate that data.

DeterminedBun, May 4th at 1:25 AM

It's beena  few scans already but i think something broke cuz it keeps giving me Ultra High readings on everything it finds??

KnewOne , May 4th at 1:43 AM
@DeterminedBun: It's beena few scans already but i think something broke cuz it keeps giving me Ultra High readings on everything it finds??

mod version and steps to reproduce. please make sure it's not one of the quirks above

InitiaNova, May 3rd at 6:17 PM

Since Quartz and Olivine can't be prospected, if anyone wants to turn back on the default ore gen for these with IOG, follow these steps:


Go to your Mods folder.
Unpack InterestingOreGen-v2.3.5.zip. Make sure the files are unpacked into their own folder. You should not have a modinfo.json file directly in your Mods folder.
Open the unpacked folder and go to assets/interestingoregen/patches/game/worldgen/disable-vanilla-oregen.json.
There are 4 objects in there you want to remove. 3 have the file name "game:worldgen/deposits/mineralore/quartz.json" and one has the file name "game:worldgen/deposits/mineralore/olivine.json".
Restart your server.

Any new chunks that are generated will run the default quartz and olivine generators in addition to the generators provided by IOG. This does *not* disable the added quartz and olivine generated by IOG. Doing that depends on what additional compatible mods you are running.

These changes will not persist if you upgrade to a new version of IOG, and may need to be redone.

momokinou, May 3rd at 11:32 AM

Hello,
Thanks for the mod.
I ran a few tests, and quartz and olivine don't show up in the results. I'm guessing there are other minerals that aren't showing up either.
As for quartz, I know it's not intentional, because I removed it from the blacklist and it didn't make a difference.
I tested absoluteprospecting and got the correct results, so I don’t understand. Do you have any idea as to why I have this issue?

Thanks :)

I’m playing with IOG but I don’t have any error logs.

KnewOne , May 3rd at 11:45 AM
@momokinou: Hello,Thanks for the mod.I ran a few tests, and quartz and olivine don't show up in the results. I'm guessing there are other minerals that aren't showing up either.As for quartz, I know it's not intentional, because I removed it from the blacklist and it

The way other prospecting mods do it is by finding all ore blocks and reporting them as a pure ore node regardless of any other variables.

My mod uses the same underying principle; if the prospecting pick wouldn't pick it up in vanilla, my mod wouldn't either, since both of us rely on prospecting workspace to contain the ore, which relies on the ore having an oreMap in its config. IOG doesn't enable the ore map for quartz, so even with the filter it's irrelevant. The blacklist exists only for scenarios where you want to exclude something that is already visible. You can enable debug mod and prospect in a place where you know there's quatz/olivine and it will notify that the ores have been found but have no ore map. This is an intentional decision to be in line with how vanilla decides whether ores should be visible or not. Note that the borehole and proximity aren't restricted by this, neither should be node iirc.

I do not want to be an arbiter as to what should be visible, so i just defer to vanilla decisionmaking. I've talked to ross about the quartz and he said he wasn't aware about the oremap, but wouldn't change because he intends to make quartz much more common anyway

Tegotia, Apr 23rd at 5:59 PM

Thank you for the quick update! I just tested and there seems to be an error with getting the readings for quartz, after removing its entry from the blacklist, density search fails to report a reading and this error appears in server-main.log:

 

Crash Report
23.4.2026 13:56:28 [Error] Exception: The given key 'quartz' was not present in the dictionary.
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at BetterErProspecting.Prospecting.ProspectingSystem.generateReadigs(ICoreServerAPI sapi, BlockPos blockPos, Dictionary`2 codeToFoundOre, PropickReading& readings, List`1 delayedMessages) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Prospecting\ProspectingSystem.cs:line 247
at BetterErProspecting.Item.ItemBetterErProspectingPick.ProbeBlockDensityMode(IServerPlayer serverPlayer, BlockSelection blockSel) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 128
at BetterErProspecting.Item.ItemBetterErProspectingPick.ProbeDensity(IWorldAccessor world, IServerPlayer serverPlayer, ItemSlot itemslot, BlockSelection blockSel) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 110
at BetterErProspecting.Item.ItemBetterErProspectingPick.OnBlockBrokenWith(IWorldAccessor world, Entity byEntity, ItemSlot itemslot, BlockSelection blockSel, Single dropQuantityMultiplier) in C:\Users\Ilya\Documents\GITREP\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 86
at Vintagestory.Server.ServerSystemBlockSimulation.TryModifyBlockInWorld(ServerPlayer player, Packet_ClientBlockPlaceOrBreak cmd) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 739
at Vintagestory.Server.ServerSystemBlockSimulation.HandleBlockPlaceOrBreak(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 410
at Vintagestory.Server.ServerMain.HandleClientPacket_mainthread(ReceivedClientPacket cpk) in VintagestoryLib\Server\ServerMainNetworking.cs:line 275
at Vintagestory.Server.ServerMain.ProcessMain() in VintagestoryLib\Server\ServerMain.cs:line 964
KnewOne , Apr 23rd at 11:50 PM
@Tegotia: Thank you for the quick update! I just tested and there seems to be an error with getting the readings for quartz, after removing its entry from the blacklist, density search fails to report a reading and this error appears in server-main.log: Crash Repor

I cannot reproduce that error. What's even more problematic for you is that quartz is not added to a list of entries that are prospectable - even with IOG, since they are not in propick workspace. Ross needs to handle that; i will not change behaviour from this

Tegotia, Apr 23rd at 2:42 PM

Is there any chance at changing the filtering settings within the mod? While not detecting Quartz is fine in vanilla, IOG makes it noticeably rarer so it being excluded makes it very difficult to find.

Nexium, Apr 22nd at 1:39 AM

...... I thought my configlib mod was up to date.... it wasn't.

InternetDragon, Apr 21st at 9:15 PM

A certified must-have mod, up there with betterruins

herbemoji, Apr 19th at 10:30 AM

Derp, turns out I wasn't using the actual stone mode, I just had stone turned on for bore mode and was using that. Using stone mode does indeed remember the readings. Thanks!

KnewOne , Apr 18th at 11:37 AM

herbemoji stone readings are created only when doing stone prospecting and the toggle is selected. It will always be visible on the default map, but for prospecting together it won't be there, which is what this refers to. IIRC prospecting together also has a function of syncing data between players, so theoretically it should also send those, since i use the same readings list as the default game for storage, so those should be synced. I didn't explicitly test this because i don't have multuple accounts ( also lazy to figure out if i need to ).

So you should be able to see stone readings even with PT so long as you go back to base game readings UI. There's even a toggle to show stone only or specific stone readings

herbemoji, Apr 18th at 12:04 AM

Adore this mod. Tysm for making it.

I read what you said about needing to work with the ProspectingTogether dev to get it to properly display stone readings, but I wanted to ask if stone readings get recorded anywhere? I know I found peridotite somewhere, but I can't remember where, and I can't see stone readings on the world map anywhere.

Vyh06, Apr 16th at 1:25 AM

KnewOne Alright

Vyh06, Apr 16th at 12:40 AM

Is this compatible with Prospect Together and can I add it to my existing world that uses Prospect Together?

KnewOne , Apr 15th at 12:12 AM

Hercutheus is the rock mode enabled for it ? There are settings that allow him to show ore and/or rocke

Hercutheus, Apr 14th at 12:37 PM

Bore reading doesn't seem to detect stone underneath it, is there any way to make that happen?

Ailailou, Apr 5th at 9:05 PM

Fantastic mod thank you! 

NateDoesLife, Apr 4th at 4:19 PM

KnewOne Oh I worded that bad, I really ment like as I mine it and reprospect that chunk lol not actively as I mined...yeah that would be bad!

KnewOne , Apr 4th at 11:16 AM

NateDoesLife it doesn't do that automatically. You can run reprospect which gets more expensive the more players there are and the more readings there are ( can run per-player ) or delete and make a new reading. I'd rather not ddos the server 

NateDoesLife, Apr 4th at 7:55 AM

Does the actual density search update as you mine out the chunk area?

For example if I happened to mine out all of the ore in a given chunk area.....would it update to reflex there is no ore in that chunk region?

Anteeksi, Mar 26th at 12:06 PM

KnewOne Awesome. Thank you. 

KnewOne , Mar 26th at 10:18 AM (modified Mar 26th at 10:52 AM)

Anteeksi 3.1.9 is for 1.21.6 . I don't know why it marked itself ok for 1.22 . I've added a recompile so that the mod managers auto download the update and handle themselves

Anteeksi, Mar 26th at 3:31 AM

KnewOne Yo. Thank you for your hard work. And sorry in advance to provide more ... btw, you're awesome.

 

Crash Report
File name: 'Eto, Version=2.10.0.0, Culture=neutral, PublicKeyToken=null'
at VSPlatform.XPlatImpl.ShowMessageBox(String title, String text) in XPlatformInterface\PlatformFormsImpl.cs:line 38
at Vintagestory.Client.NoObf.ClientThread.Process() in VintagestoryLib\Client\ClientThread.cs:line 65
at System.Threading.Thread.StartCallback()
Game Version: v1.22.0-rc.5 (Unstable)
26.03.2026 4:28:13: Critical error occurred in the following mod: bettererprospecting@3.1.9
Loaded Mods: crockmod@2.1.1, farmlandnutrientmanagement@1.1.0, fernslikegrass@1.2.2, firewoodbeam@0.0.3, foodcrate@2.2.1, gearthatlasts@0.1.0, idlepause@0.1.0, dolabra@2.0.0, moredrygrass@0.2.0, morepaperrecipes@2.0.0, propersticks@0.2.0, realisticseawatersalt@1.0.0, scythemouldupdated@1.0.1, skepdrop@1.0.2, stickstepsounds@1.0.0, game@1.22.0-rc.5, accessibilitytweaks@4.0.0, egocaribautomapmarkers@4.1.0, bettererprospecting@3.1.9, cavebear@0.2.4, cavespawning@0.1.0, claycraftingupdated@1.1.0, grabber@1.0.1, commonlib@2.8.0, drifterdevito@0.0.1, deathstarmoonreplacer@1.0.0, farmlanddropswithnutrients@1.2.2, furnotfear@0.1.2, greypropickreading@1.1.1, immersivecorpsedrop@1.0.4, immersivebackpackoverhaul@0.6.2, ironcrates@1.0.2, ndlblocksslabsstairs@1.0.0, ndlwoodentorchholder@3.0.0, particlesplus@2.4.0, paxelcontinued@1.0.0, rebalancedlanterncrafting@1.1.0, seraphsstonepickaxes@1.2.0, statushudcont@4.2.0, stepupcontinued@0.0.2, stonebakeoven@1.2.1, creative@1.22.0-rc.5, survival@1.22.0-rc.5, wateringcanfill@1.0.2, flaxtorope@1.0.0, functionalminerbeltandlantern@1.0.4, playergrave@1.0.0
System.MissingMethodException: Method not found: 'Void Vintagestory.API.Common.CollectibleObject.DamageItem(Vintagestory.API.Common.IWorldAccessor, Vintagestory.API.Common.Entities.Entity, Vintagestory.API.Common.ItemSlot, Int32)'.
at BetterErProspecting.Item.ItemBetterErProspectingPick.OnBlockBrokenWith(IWorldAccessor world, Entity byEntity, ItemSlot itemslot, BlockSelection blockSel, Single dropQuantityMultiplier) in C:\Users\Ilya\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 77
at Vintagestory.Client.NoObf.ClientMain.OnPlayerTryDestroyBlock(BlockSelection blockSelection) in VintagestoryLib\Client\ClientMain.cs:line 1796
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.ContinueBreakSurvival(BlockSelection blockSelection, Block block, Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 810
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 601
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 243
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1059
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 782
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
KnewOne , Mar 25th at 12:44 PM

jeikobu__ nice having you around :D

jeikobu__, Mar 25th at 11:38 AM (modified Mar 25th at 12:39 PM)

Hi! Thanks for the mention in the credits. I have now added your mod as recommended on the Proximity Propick page.

Thank you for your hard work - you have made this a much more pleasant mod to use that I could ever be bothered to :P 

KnewOne , Mar 25th at 11:16 AM

Hexwall if you think there are disparities then check with the x-ray mod. I have no impact on your luck, the y-level of where you git and whatnot. The values are from the world, so the question is very much not answerable

Hexwall, Mar 25th at 2:41 AM

I got this mod but im not sure im using it right

image

I have this density scan but when i dig around this area I only get galena despite copper being way higher (allegedly). What am I doing wrong?

KnewOne , Mar 21st at 10:25 AM

TatteredRibbon the way he injects his mode is entirely different from how i do it. I can make adding his mode to this mod's list easier so long as he's willing to make the integration work on his end. Otherwise no

TatteredRibbon, Mar 20th at 8:23 PM

This mod overrides another mod, Prosping. It be nice to have both of these mods, cause I use Prosping for proximity searching.

 

ZeroAresIV, Mar 10th at 8:50 PM

This mod is the reason i even keep a prospecting pick on me anymore. Thank you

KnewOne , Mar 10th at 10:26 AM

Noche it should since stone mod works with rock-* blocks and salt is rock-halite

Noche, Mar 10th at 8:53 AM

Out of curiosity, does stone search detect halite? I know you mentioned density mode still detects the same stuff as vanilla so it can detect halite but I'm curious to know if one can use stone search for that too.

KnewOne , Mar 9th at 2:15 PM

Calmest_skies happy that it works for you because 80% of that explanation flew right past me as i'm not a linux user

Calmest_skies, Mar 9th at 2:32 AM (modified Mar 9th at 3:57 AM)

KnewOne Sorry for taking so long, a lot came up.
One detail I forgot to mention (I am so, so sorry) is that I was using the tarball version of the game. Installing, and using the flatpak version fixed the issue for whatever reason. 
Both the mods you suggested worked on the flatpak version, too.

mount | grep /tmp
(I build Chromium on a tmpfs zram file, if you're wondering why the values are so weird.)

tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noexec,relatime,size=28719552k,inode64,huge=within_size)
tmpfs on /tmp/srcpkgs type tmpfs (rw,nosuid,nodev,relatime,mode=1700,uid=1000,gid=1000,inode64,huge=within_size)
tmpfs on /tmp/makepkgs type tmpfs (rw,nosuid,nodev,relatime,size=28719552k,mode=1700,uid=1000,gid=1000,inode64,huge=within_size)

 

It wasn't my OS that was the problem, but the way it was configured. I think it has something to do with my tmp dir.

client-main.log

9.3.2026 02:44:13 [Warning] ===============================================================
9.3.2026 02:44:13 [Warning] (x_x) Captured 20 issues during startup:
9.3.2026 02:44:13 [Error] [bettererprospecting] An exception was thrown when trying to start the mod:
9.3.2026 02:44:13 [Error] [bettererprospecting] Exception: Patching exception in method System.String Vintagestory.GameContent.PropickReading::ToHumanReadable(System.String languageCode, System.Collections.Generic.Dictionary`2<System.String, System.String> pageCodes)
---> System.DllNotFoundException: Unable to load shared library '/tmp/mm-exhelper.so.xAiZMC' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable:
/home/myuser/.local/share/vintagestory//tmp/mm-exhelper.so.xAiZMC: cannot open shared object file: No such file or directory
/usr/share/dotnet/shared/Microsoft.NETCore.App/10.0.3//tmp/mm-exhelper.so.xAiZMC: cannot open shared object file: No such file or directory
/tmp/mm-exhelper.so.xAiZMC: failed to map segment from shared object

at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
at HarmonyLib.PatchClassProcessor.ProcessPatchJob(Job job)
--- End of inner exception stack trace ---
at HarmonyLib.PatchClassProcessor.ReportException(Exception exception, MethodBase original)
at HarmonyLib.PatchClassProcessor.Patch()
at HarmonyLib.Harmony.b__15_0(Type type)
at HarmonyLib.CollectionExtensions.Do[T](IEnumerable`1 sequence, Action`1 action)
at HarmonyLib.Harmony.PatchCategory(Assembly assembly, String category)
at HarmonyLib.Harmony.PatchCategory(String category)
at BetterErProspecting.BetterErProspect.PatchUnpatch() in C:\Users\Ilya\RiderProjects\BetterErProspecting\BetterErProspecting\BetterErProspect.cs:line 78
at BetterErProspecting.BetterErProspect.Start(ICoreAPI api) in C:\Users\Ilya\RiderProjects\BetterErProspecting\BetterErProspecting\BetterErProspect.cs:line 39
at Vintagestory.Common.ModLoader.TryRunModPhase(Mod mod, ModSystem system, ICoreAPI api, ModRunPhase phase) in VintagestoryLib\Common\API\ModLoader.cs:line 665
9.3.2026 02:44:13 [Error] Failed to run mod phase Start for mod BetterErProspecting.BetterErProspect
9.3.2026 02:44:13 [Warning] ===============================================================

Fulmine, Mar 6th at 6:27 PM

Cinahcem not the mod author, but I've had sulfur show up in readings at least.

KnewOne , Mar 5th at 5:57 PM

Can only guess. You broke the block that was being read ?  Morgade

Morgade, Mar 5th at 4:57 PM (modified Mar 5th at 5:03 PM)

Weird thing happening with bore mode : I'm boring a block, I get a reading. I bore a block a couple layers down in the same column, I get no reading. What does that mean ?

Cinahcem, Mar 3rd at 9:55 PM

so i'm really unlucky for borax, but pretty sure that sulfur isn't detected

KnewOne , Mar 3rd at 9:05 PM

Cinahcem it has the same filtering system as vanilla. Borax is visible there, so it is visible here. Quartz isn't visible in either. Quartz is also not visible in proximity but that's a different mode

Cinahcem, Mar 3rd at 8:09 PM

Does the density search mode detect sulfur and borax ? Because i can't find any of them and i see that the quartz isn't detected...

KnewOne , Feb 26th at 10:45 AM

Equilix you go sideways. 0.01 is the lowest possible value. It could indicate a single block

Equilix, Feb 26th at 4:02 AM (modified Feb 26th at 4:19 AM)

I probably just don't understand how Stone Mode works. However maybe someone can help me out. I'm using a Copper Prospecting Pick and Terra Prety. I used Stone Mode to try and search for Limestone it says "0.01" in multiple area's. Now I can take this two ways in my mind. Either go in a certain direction and it'll increase or go underground and it'll increase? I've used Borehole mode to try and see if it's underneath certain rocks. With no luck. It's also possible that this is just such a small vien and I should just search for another far away?

Thanks for taking the time to read this any help would be appreciated a lot. My understnading of Prospecting is not great. So any tips on finding ore as well would be great. :)
image

KnewOne , Feb 24th at 10:59 AM

EldritchElli borehole by default has a radius to check against, not a single block column; otherwise it's slightly too busted. Configurable

EldritchElli, Feb 23rd at 10:18 PM

is borehole mode bugged or something? every time i try to find zinc I prospect it, it says its there but after digging down to the mantle it just doesnt show up down the column.

KnewOne , Feb 11th at 11:24 AM (modified Feb 11th at 2:37 PM)

Calmest_skies result of  mount | grep /tmp ?

For another harmony patch mod, https://mods.vintagestory.at/wildfarmingrevival

or/and https://mods.vintagestory.at/show/mod/38090

Also try with only this mod enabled

Calmest_skies, Feb 11th at 8:58 AM (modified Feb 11th at 8:59 AM)

KnewOne I am 90% certain this issue is not because of my OS, which is Linux. Game ver is 1.21.6, mod ver is 3.1.4, if you have a link to another mod that uses Harmony patch, please link so I can test this for you.

server-main.log

11.2.2026 08:41:37 [Notification] Server logger started.
11.2.2026 08:41:37 [Notification] Game Version: v1.21.6 (Stable)
11.2.2026 08:41:37 [Event] It begins...
11.2.2026 08:41:37 [Event] Launching server...
11.2.2026 08:41:37 [Event] It senses...
11.2.2026 08:41:37 [Event] Server v1.21.6, network v1.21.10, api v1.21.0
11.2.2026 08:41:37 [Notification] Entering runphase Initialization
11.2.2026 08:41:37 [Event] Loading configuration...
11.2.2026 08:41:37 [Notification] Entering runphase Configuration
11.2.2026 08:41:37 [Notification] Loading savegame
11.2.2026 08:41:37 [Notification] Loaded existing save game data. Playstyle: surviveandbuild, Playstyle Lang code: preset-surviveandbuild, WorldType: preset-surviveandbuild
11.2.2026 08:41:37 [Notification] Savegame /home/username/.config/VintagestoryData/Saves/gloomy hermit valley.vcdbs loaded
11.2.2026 08:41:37 [Notification] World size = 1024000 256 1024000
11.2.2026 08:41:37 [Notification] Start discovering assets
11.2.2026 08:41:37 [Notification] Found 1 base assets in category blocktypes
11.2.2026 08:41:37 [Notification] Found 0 base assets in category itemtypes
11.2.2026 08:41:37 [Notification] Found 32 base assets in category lang
11.2.2026 08:41:37 [Notification] Found 0 base assets in category patches
11.2.2026 08:41:37 [Notification] Found 24 base assets in category config
11.2.2026 08:41:37 [Notification] Found 0 base assets in category worldproperties
11.2.2026 08:41:37 [Notification] Found 49 base assets in category sounds
11.2.2026 08:41:37 [Notification] Found 230 base assets in category shapes
11.2.2026 08:41:37 [Notification] Found 176 base assets in category textures
11.2.2026 08:41:37 [Notification] Found 0 base assets in category recipes
11.2.2026 08:41:37 [Notification] Found 0 base assets in category worldgen
11.2.2026 08:41:37 [Notification] Found 3 base assets in category entities
11.2.2026 08:41:37 [Notification] Found 0 base assets in category b
11.2.2026 08:41:37 [Notification] Found 515 base assets in total
11.2.2026 08:41:37 [Event] Building assets...
11.2.2026 08:41:37 [Notification] Entering runphase LoadAssets
11.2.2026 08:41:37 [Notification] Will search the following paths for mods:
11.2.2026 08:41:37 [Notification] /home/username/.local/share/vintagestory/Mods
11.2.2026 08:41:37 [Notification] /home/username/.config/VintagestoryData/Mods
11.2.2026 08:41:37 [Notification] Found 11 mods (0 disabled)
11.2.2026 08:41:37 [Notification] Mods, sorted by dependency: landformoverhaul, rlmoonsun, game, bettererprospecting, betterruins, bloodtrail, farseer, optitime, statushudcont, creative, survival
11.2.2026 08:41:37 [Notification] Instantiated 137 mod systems from 9 enabled mods
11.2.2026 08:41:37 [Notification] External Origins in load order: modorigin@/home/username/.local/share/vintagestory/assets/creative/, modorigin@/home/username/.local/share/vintagestory/assets/survival/, mod@Conquest Landform Overhaul v1.0.2.zip, mod@bettererprospecting_3.1.4.zip, mod@BetterRuinsv0.5.7.zip, mod@BloodTrail-v1.1.8.zip, mod@farseer_1.3.3.zip, themepack@RLMoonSunv0.1.3.zip
11.2.2026 08:41:37 [Notification] Found 514 external assets in category blocktypes
11.2.2026 08:41:37 [Notification] Found 286 external assets in category itemtypes
11.2.2026 08:41:37 [Notification] Found 31 external assets in category lang
11.2.2026 08:41:37 [Notification] Found 60 external assets in category patches
11.2.2026 08:41:37 [Notification] Found 181 external assets in category config
11.2.2026 08:41:37 [Notification] Found 25 external assets in category worldproperties
11.2.2026 08:41:37 [Notification] Found 561 external assets in category sounds
11.2.2026 08:41:37 [Notification] Found 5333 external assets in category shapes
11.2.2026 08:41:37 [Notification] Found 7769 external assets in category textures
11.2.2026 08:41:37 [Notification] Found 436 external assets in category recipes
11.2.2026 08:41:37 [Notification] Found 1281 external assets in category worldgen
11.2.2026 08:41:37 [Notification] Found 78 external assets in category entities
11.2.2026 08:41:37 [Notification] Found 76 external assets in category compatibility
11.2.2026 08:41:37 [Notification] Reloaded lang file with mod assets
11.2.2026 08:41:37 [Error] [bettererprospecting] An exception was thrown when trying to start the mod:
11.2.2026 08:41:37 [Error] [bettererprospecting] Exception: Patching exception in method System.String Vintagestory.GameContent.PropickReading::ToHumanReadable(System.String languageCode, System.Collections.Generic.Dictionary`2<System.String, System.String> pageCodes)
---> System.DllNotFoundException: Unable to load shared library '/tmp/mm-exhelper.so.8A2vxI' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable:
/home/myuser/.local/share/vintagestory//tmp/mm-exhelper.so.8A2vxI: cannot open shared object file: No such file or directory
/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.22//tmp/mm-exhelper.so.8A2vxI: cannot open shared object file: No such file or directory
/tmp/mm-exhelper.so.8A2vxI: failed to map segment from shared object

at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
at HarmonyLib.PatchClassProcessor.ProcessPatchJob(Job job)
--- End of inner exception stack trace ---
at HarmonyLib.PatchClassProcessor.ReportException(Exception exception, MethodBase original)
at HarmonyLib.PatchClassProcessor.Patch()
at HarmonyLib.Harmony.<>c__DisplayClass14_0.b__1(Type type)
at HarmonyLib.CollectionExtensions.Do[T](IEnumerable`1 sequence, Action`1 action)
at HarmonyLib.Harmony.PatchCategory(Assembly assembly, String category)
at HarmonyLib.Harmony.PatchCategory(String category)
at BetterErProspecting.BetterErProspect.PatchUnpatch() in C:\Users\Ilya\RiderProjects\BetterErProspecting\BetterErProspecting\BetterErProspect.cs:line 78
at BetterErProspecting.BetterErProspect.Start(ICoreAPI api) in C:\Users\Ilya\RiderProjects\BetterErProspecting\BetterErProspecting\BetterErProspect.cs:line 39
at Vintagestory.Common.ModLoader.TryRunModPhase(Mod mod, ModSystem system, ICoreAPI api, ModRunPhase phase) in VintagestoryLib\Common\API\ModLoader.cs:line 664
11.2.2026 08:41:37 [Error] Failed to run mod phase Start for mod BetterErProspecting.BetterErProspect
11.2.2026 08:41:37 [Notification] Compatibility lib: 1 assets added, 0 assets replaced.
11.2.2026 08:41:38 [Notification] JsonPatch Loader: 624 patches total, successfully applied 624 patches, unmet conditions on 23 patches, no errors
11.2.2026 08:41:38 [Event] It remembers...
11.2.2026 08:41:38 [Error] Item with code game:prospectingpick-copper has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:38 [Error] Item with code game:prospectingpick-tinbronze has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:38 [Error] Item with code game:prospectingpick-bismuthbronze has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:38 [Error] Item with code game:prospectingpick-blackbronze has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:38 [Error] Item with code game:prospectingpick-gold has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:38 [Error] Item with code game:prospectingpick-silver has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:38 [Error] Item with code game:prospectingpick-iron has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:38 [Error] Item with code game:prospectingpick-meteoriciron has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:38 [Error] Item with code game:prospectingpick-steel has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:39 [Notification] Loaded 3974 unique items
11.2.2026 08:41:39 [Event] All that came before...
11.2.2026 08:41:40 [Notification] Loaded 13444 unique blocks
11.2.2026 08:41:40 [Notification] Loaded 760 unique entities
11.2.2026 08:41:40 [Notification] Loaded 12 entity tags, 4 item tags and 1 block tags from 'game' domain
11.2.2026 08:41:40 [Notification] BlockLoader: Entities, Blocks and Items loaded
11.2.2026 08:41:40 [Event] Remapping blocks and items...
11.2.2026 08:41:40 [Event] 14 cooking recipes loaded
11.2.2026 08:41:40 [Event] Taste and smell...
11.2.2026 08:41:40 [Event] 1629 crafting recipes loaded from 295 files
11.2.2026 08:41:40 [Event] Grand inventions...
11.2.2026 08:41:40 [Event] 9 metal alloys loaded
11.2.2026 08:41:40 [Event] Glimmers in the soil...
11.2.2026 08:41:40 [Event] 255 smithing recipes loaded
11.2.2026 08:41:40 [Event] Burning sparks...
11.2.2026 08:41:40 [Event] 82 clay forming recipes loaded
11.2.2026 08:41:40 [Event] Molded forms...
11.2.2026 08:41:40 [Event] 37 knapping recipes loaded
11.2.2026 08:41:40 [Event] Simple tools...
11.2.2026 08:41:40 [Event] 245 barrel recipes loaded
11.2.2026 08:41:40 [Notification] Entering runphase AssetsFinalize
11.2.2026 08:41:40 [Event] Server assets loaded, parsed, registered and finalized
11.2.2026 08:41:40 [Event] Initialising systems...
11.2.2026 08:41:40 [Notification] Entering runphase LoadGamePre
11.2.2026 08:41:40 [Notification] Reloaded 19 weather patterns, 5 wind patterns and 5 weather events
11.2.2026 08:41:40 [Notification] Started 116 systems on Server:
11.2.2026 08:41:40 [Notification] Mod 'VSEssentials.dll' (game):
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.Core
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.EntityPartitioning
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ErrorReporter
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.ModCompatiblityUtil
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.NoObf.ModJsonPatchLoader
11.2.2026 08:41:40 [Notification] FluffyClouds.FluffyCloudsModSystem
11.2.2026 08:41:40 [Notification] Vintagestory.Essentials.PathfindSystem
11.2.2026 08:41:40 [Notification] Vintagestory.Essentials.PathFindDebug
11.2.2026 08:41:40 [Notification] Vintagestory.Essentials.PathfindingAsync
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.JsonExport
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.ModBasicBlocksLoader
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.AiRuntimeConfig
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemSyncHarvestableDropsToClient
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemEmotes
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.LeafBlockDecay
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.POIRegistry
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.RoomRegistry
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.WeatherSystemCommands
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.WeatherSystemServer
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.WorldMapManager
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.NoObf.ModRegistryObjectTypeLoader
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.LoadColorMaps
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ClothManager
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GridRecipeLoader
11.2.2026 08:41:40 [Notification] Mod 'VSSurvivalMod.dll' (survival):
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenTerra
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenSnowLayer
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemControlPoints
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.SurvivalCoreSystem
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenTerraPostProcess
11.2.2026 08:41:40 [Notification] Vintagestory.Systems.StoryLockableDoor
11.2.2026 08:41:40 [Notification] Vintagestory.Client.NoObf.StoryGenFailedSystem
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.UpgradeTasks
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.ChiselBlockBulkSetMaterial
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.ModSystemDetailModeSync
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.NpcControl
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.ModSystemTiledDungeonGenerator
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenFromHeightmap
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenMaps
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenRockStrataNew
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenHotSprings
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenCreatures
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemExplosionAffectedStability
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.MyceliumSystem
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModsystemButterflySpawnCondsExtra
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemCatchCreature
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemGliding
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemSwoopDev
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.Timeswitch
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ClutterBookshelfUtil
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ScreenshakeToClientModSystem
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemResoArchiveCommands
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.StoryStructuresSpawnConditions
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemNPCHairStyling
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemSkinnableAdditions
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemVillagerDebug
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemAuction
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemBlockReinforcement
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.Core
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemBoatingSoundAndRatlineStamina
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.CharacterSystem
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.VariablesModSystem
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModsystemElevator
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ActivityModSystem
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ActivityEditorSystem
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.FruitingSystem
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemCommandHandbook
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemTutorial
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemCorpseReturnTeleporter
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemNightVision
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.TobiasTeleporter
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModJournal
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.LiquidItemStackRenderer
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemStructureLocator
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModLootRandomizer
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemEntityOwnership
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemRifts
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemRiftWeather
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSleeping
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemSupportBeamPlacer
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.TeleporterManager
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModTemperature
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.SystemTemporalStability
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.TemporalStabilityEffects
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemWearableStats
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemEditableBook
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.Mechanics.MechanicalPowerMod
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenDungeons
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenDeposits
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.GenStoryStructures
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenCaves
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenStructures
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.WgenCommands
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenDevastationLayer
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenBlockLayers
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenPonds
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenStructuresPosPass
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenVegetationAndPatches
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.RecipeRegistrySystem
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenRivulets
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenLightSurvival
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.RecipeLoader
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemFireFromLightning
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemOreMap
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemSnowballs
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.HumanoidOutfits
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.ModSystemDevastationEffects
11.2.2026 08:41:40 [Notification] Vintagestory.GameContent.DisableRecipeRegisteringSystem
11.2.2026 08:41:40 [Notification] Mod 'VSCreativeMod.dll' (creative):
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.Core
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.WorldEdit.WorldEdit
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenBlockLayersFlat
11.2.2026 08:41:40 [Notification] Vintagestory.ServerMods.GenLightCreative
11.2.2026 08:41:40 [Notification] Mod 'bettererprospecting_3.1.4.zip' (bettererprospecting):
11.2.2026 08:41:40 [Notification] BetterErProspecting.BetterErProspect
11.2.2026 08:41:40 [Notification] BetterErProspecting.Tracking.PptTracker
11.2.2026 08:41:40 [Notification] BetterErProspecting.Prospecting.ProspectingSystem
11.2.2026 08:41:40 [Notification] Mod 'BloodTrail-v1.1.8.zip' (bloodtrail):
11.2.2026 08:41:40 [Notification] BloodTrail.Core
11.2.2026 08:41:40 [Notification] Mod 'farseer_1.3.3.zip' (farseer):
11.2.2026 08:41:40 [Notification] Farseer.FarseerModSystem
11.2.2026 08:41:40 [Event] 26 traits loaded from 1 files
11.2.2026 08:41:40 [Event] 6 classes loaded from 1 files
11.2.2026 08:41:41 [Notification] [bettererprospecting] [BetterEr Prospecting] Reprospecting started by console on player? all
11.2.2026 08:41:41 [Notification] Server map set
11.2.2026 08:41:41 [Event] A world unbroken...
11.2.2026 08:41:41 [Notification] Entering runphase GameReady
11.2.2026 08:41:41 [Notification] Entering runphase WorldReady
11.2.2026 08:41:41 [Event] The center unfolding...
11.2.2026 08:41:41 [Event] Starting world generators...
11.2.2026 08:41:41 [Notification] Sending server identification with remap False. Server control privilege is True
11.2.2026 08:41:45 [Notification] Reloaded 35 tree generators
11.2.2026 08:41:45 [Event] Loading 7x7x8 spawn chunks...
11.2.2026 08:41:45 [Event] 0% (49 in queue)
11.2.2026 08:41:45 [Event] The carved mountains...
11.2.2026 08:41:45 [Event] Begin game ticking...
11.2.2026 08:41:45 [Event] ... it calls to you
11.2.2026 08:41:45 [Notification] Entering runphase RunGame
11.2.2026 08:41:45 [Notification] Successfully loaded 2 waypoints
11.2.2026 08:41:45 [Notification] Starting server threads
11.2.2026 08:41:45 [Event] Singleplayer Server now running!
11.2.2026 08:41:45 [Event] Return again.
11.2.2026 08:41:45 [Notification] Please be aware that as of 1.20, servers default configurations have changed - servers no longer register themselves to the public servers list and are invite-only (whitelisted) out of the box. If you desire so, you can enable server advertising with '/serverconfig advertise on' and disable the whitelist mode with '/serverconfig whitelistmode off'
11.2.2026 08:41:45 [Notification] All clients disconnected, pausing game calendar.
11.2.2026 08:41:45 [Notification] A Client attempts connecting via Dummy connection on 127.0.0.1:0, assigning client id 1
11.2.2026 08:41:46 [Notification] UDP: Client 1 connected via: 0.0.0.0:0
11.2.2026 08:41:46 [Notification] Client 1 uid user-id attempting identification. Name: Calmest_skies
11.2.2026 08:41:46 [Notification] Upped server view distance to: 320, because player is in singleplayer
11.2.2026 08:41:46 [Notification] Delayed join, need to load one spawn chunk first.
11.2.2026 08:41:46 [Notification] Placing Calmest_skies at 511883.9769897461 66.00006103515625 516757.5209350586
11.2.2026 08:41:47 [Event] Calmest_skies 127.0.0.1:0 joins.
11.2.2026 08:41:47 [Notification] A client reconnected, resuming game calendar.
11.2.2026 08:41:47 [Error] [bettererprospecting] An exception was thrown when trying to start the mod:
11.2.2026 08:41:47 [Error] [bettererprospecting] Exception: Patching exception in method System.String Vintagestory.GameContent.PropickReading::ToHumanReadable(System.String languageCode, System.Collections.Generic.Dictionary`2<System.String, System.String> pageCodes)
---> System.DllNotFoundException: Unable to load shared library '/tmp/mm-exhelper.so.8A2vxI' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable:
/home/myuser/.local/share/vintagestory//tmp/mm-exhelper.so.8A2vxI: cannot open shared object file: No such file or directory
/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.22//tmp/mm-exhelper.so.8A2vxI: cannot open shared object file: No such file or directory
/tmp/mm-exhelper.so.8A2vxI: failed to map segment from shared object

at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
at HarmonyLib.PatchClassProcessor.ProcessPatchJob(Job job)
--- End of inner exception stack trace ---
at HarmonyLib.PatchClassProcessor.ReportException(Exception exception, MethodBase original)
at HarmonyLib.PatchClassProcessor.Patch()
at HarmonyLib.Harmony.<>c__DisplayClass14_0.b__1(Type type)
at HarmonyLib.CollectionExtensions.Do[T](IEnumerable`1 sequence, Action`1 action)
at HarmonyLib.Harmony.PatchCategory(Assembly assembly, String category)
at HarmonyLib.Harmony.PatchCategory(String category)
at BetterErProspecting.BetterErProspect.PatchUnpatch() in C:\Users\Ilya\RiderProjects\BetterErProspecting\BetterErProspecting\BetterErProspect.cs:line 78
at BetterErProspecting.BetterErProspect.Start(ICoreAPI api) in C:\Users\Ilya\RiderProjects\BetterErProspecting\BetterErProspecting\BetterErProspect.cs:line 39
at Vintagestory.Common.ModLoader.TryRunModPhase(Mod mod, ModSystem system, ICoreAPI api, ModRunPhase phase) in VintagestoryLib\Common\API\ModLoader.cs:line 664
11.2.2026 08:41:47 [Error] Failed to run mod phase Start for mod BetterErProspecting.BetterErProspect
11.2.2026 08:41:47 [Error] Item with code game:prospectingpick-copper has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:47 [Error] Item with code game:prospectingpick-tinbronze has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:47 [Error] Item with code game:prospectingpick-bismuthbronze has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:47 [Error] Item with code game:prospectingpick-blackbronze has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:47 [Error] Item with code game:prospectingpick-gold has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:47 [Error] Item with code game:prospectingpick-silver has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:47 [Error] Item with code game:prospectingpick-iron has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:47 [Error] Item with code game:prospectingpick-meteoriciron has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:47 [Error] Item with code game:prospectingpick-steel has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
11.2.2026 08:41:48 [Notification] [farseer] Building heightmaps for 223 faraway region(s)..
11.2.2026 08:41:49 [Notification] /entity cmd e[type=eidolon-immobilized,range=20] starttask inactive: task start executed
11.2.2026 08:41:49 [Notification] /entity cmd e[type=eidolon-immobilized,range=20] setattr bool showHealthbar false: showHealthbar bool value set to False
11.2.2026 08:41:56 [Notification] [farseer] Building heightmaps for 223 faraway region(s)..
11.2.2026 08:42:00 [Notification] [farseer] Building heightmaps for 222 faraway region(s)..
11.2.2026 08:42:04 [Notification] [farseer] Building heightmaps for 222 faraway region(s)..
11.2.2026 08:42:09 [Notification] [farseer] Building heightmaps for 221 faraway region(s)..
11.2.2026 08:42:12 [Notification] [farseer] Building heightmaps for 221 faraway region(s)..
11.2.2026 08:42:16 [Warning] [bettererprospecting] [BetterErProspecting] Timed out waiting for ProPickWorkSpace pageCodes to be populated
11.2.2026 08:42:19 [Notification] [farseer] Building heightmaps for 220 faraway region(s)..
11.2.2026 08:42:20 [Notification] [farseer] Building heightmaps for 220 faraway region(s)..
11.2.2026 08:42:28 [Notification] [farseer] Building heightmaps for 220 faraway region(s)..
11.2.2026 08:42:29 [Notification] [farseer] Building heightmaps for 219 faraway region(s)..
11.2.2026 08:42:36 [Notification] [farseer] Building heightmaps for 219 faraway region(s)..
11.2.2026 08:42:38 [Notification] [farseer] Building heightmaps for 218 faraway region(s)..
11.2.2026 08:42:42 [Notification] Server ticking has been suspended
11.2.2026 08:42:43 [Notification] Client 1 disconnected: Server shutting down - Exit request by client
11.2.2026 08:42:43 [Notification] Last player disconnected, compacting large object heap...
11.2.2026 08:42:45 [Notification] UDP: client disconnected Calmest_skies
11.2.2026 08:42:45 [Event] Player Calmest_skies got removed. Reason: Server shutting down - Exit request by client
11.2.2026 08:42:45 [Notification] Server stop requested, begin shutdown sequence. Stop reason: Exit request by client
11.2.2026 08:42:45 [Notification] Entering runphase Shutdown
11.2.2026 08:42:45 [Event] Mods and systems notified, now saving everything...
11.2.2026 08:42:45 [Event] It pauses.
11.2.2026 08:42:45 [Event] One last gaze...
11.2.2026 08:42:45 [Event] Saved player world data...
11.2.2026 08:42:45 [Event] Saved map regions...
11.2.2026 08:42:45 [Event] Then all goes quiet...
11.2.2026 08:42:45 [Event] Saved map chunks...
11.2.2026 08:42:45 [Event] The waters recede...
11.2.2026 08:42:45 [Event] Saved loaded chunks...
11.2.2026 08:42:45 [Event] The mountains fade...
11.2.2026 08:42:45 [Event] The dark settles in.
11.2.2026 08:42:45 [Event] Saved generating chunks...
11.2.2026 08:42:45 [Event] Saved savegamedata...2
11.2.2026 08:42:45 [Event] World saved! Saved 77 chunks, 6 mapchunks, 32 mapregions.
11.2.2026 08:42:45 [Event] It sighs...
11.2.2026 08:42:45 [Event] Shutting down 10 server threads...
11.2.2026 08:42:45 [Event] Killed console thread
11.2.2026 08:42:45 [Event] Alone again...
11.2.2026 08:42:46 [Event] All threads gracefully shut down
11.2.2026 08:42:46 [Event] Time to rest.
11.2.2026 08:42:46 [Event] Doing last tick...
11.2.2026 08:42:46 [Event] Stopped the server!

KnewOne , Feb 9th at 7:29 PM

Hiran with this mod ‰ matters because it's real values. Borehole at most will give the amount of ores it found. Easier to ask me the question and i can answer

Hiran, Feb 9th at 7:21 PM

Could you add numbers to borehole mode for ores(disabled by default)? I recently got into very heated debates related to prospecting and if ‰ even matters. Your help could help settle all these debates, if you are willing to help.

KnewOne , Feb 8th at 12:24 PM (modified Feb 8th at 12:24 PM)

Calmest_skies game version ? Mod version ? Full server log ?

This also seems like a linux environment; could the error be as is and stem from OS setup ? Do other mods with harmony patches work for you ?

Calmest_skies, Feb 8th at 9:15 AM (modified Feb 8th at 9:15 AM)

The mod isn't working for me, for whatever reason. When holding a prospecting pickaxe, I cannot open the mode selection menu, nor does the hint pop up at all. Do you know why it isn't working? Here is the log:

server-main.log

8.2.2026 09:06:05 [Error] [bettererprospecting] An exception was thrown when trying to start the mod:
8.2.2026 09:06:05 [Error] [bettererprospecting] Exception: Patching exception in method System.String Vintagestory.GameContent.PropickReading::ToHumanReadable(System.String languageCode, System.Collections.Generic.Dictionary`2<System.String, System.String> pageCodes)
---> System.DllNotFoundException: Unable to load shared library '/tmp/mm-exhelper.so.ciIPhB' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable:
/home/myuser/.local/share/vintagestory//tmp/mm-exhelper.so.ciIPhB: cannot open shared object file: No such file or directory
/usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.22//tmp/mm-exhelper.so.ciIPhB: cannot open shared object file: No such file or directory
/tmp/mm-exhelper.so.ciIPhB: failed to map segment from shared object

at HarmonyLib.PatchFunctions.UpdateWrapper(MethodBase original, PatchInfo patchInfo)
at HarmonyLib.PatchClassProcessor.ProcessPatchJob(Job job)
--- End of inner exception stack trace ---
at HarmonyLib.PatchClassProcessor.ReportException(Exception exception, MethodBase original)
at HarmonyLib.PatchClassProcessor.Patch()
at HarmonyLib.Harmony.<>c__DisplayClass14_0.b__1(Type type)
at HarmonyLib.CollectionExtensions.Do[T](IEnumerable`1 sequence, Action`1 action)
at HarmonyLib.Harmony.PatchCategory(Assembly assembly, String category)
at HarmonyLib.Harmony.PatchCategory(String category)
at BetterErProspecting.BetterErProspect.PatchUnpatch() in C:\Users\Ilya\RiderProjects\BetterErProspecting\BetterErProspecting\BetterErProspect.cs:line 78
at BetterErProspecting.BetterErProspect.Start(ICoreAPI api) in C:\Users\Ilya\RiderProjects\BetterErProspecting\BetterErProspecting\BetterErProspect.cs:line 39
at Vintagestory.Common.ModLoader.TryRunModPhase(Mod mod, ModSystem system, ICoreAPI api, ModRunPhase phase) in VintagestoryLib\Common\API\ModLoader.cs:line 664
8.2.2026 09:06:05 [Error] Failed to run mod phase Start for mod BetterErProspecting.BetterErProspect
8.2.2026 09:06:05 [Notification] Compatibility lib: 0 assets added, 0 assets replaced.
8.2.2026 09:06:05 [Notification] JsonPatch Loader: 77 patches total, successfully applied 77 patches, unmet conditions on 23 patches, no errors
8.2.2026 09:06:06 [Event] It remembers...
8.2.2026 09:06:06 [Error] Item with code game:prospectingpick-copper has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
8.2.2026 09:06:06 [Error] Item with code game:prospectingpick-tinbronze has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
8.2.2026 09:06:06 [Error] Item with code game:prospectingpick-bismuthbronze has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
8.2.2026 09:06:06 [Error] Item with code game:prospectingpick-blackbronze has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
8.2.2026 09:06:06 [Error] Item with code game:prospectingpick-gold has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
8.2.2026 09:06:06 [Error] Item with code game:prospectingpick-silver has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
8.2.2026 09:06:06 [Error] Item with code game:prospectingpick-iron has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
8.2.2026 09:06:06 [Error] Item with code game:prospectingpick-meteoriciron has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.
8.2.2026 09:06:06 [Error] Item with code game:prospectingpick-steel has defined an item class ItemBetterErProspectingPick, but no such class registered. Will ignore.

KnewOne , Feb 2nd at 12:55 PM

tomatualus check config

tomatualus, Feb 2nd at 11:07 AM

Hey, what size of cylinder is the borehole mode?

KnewOne , Jan 31st at 11:56 PM (modified Feb 1st at 12:09 AM)

Desolae i've added a chart that i use in the description. See ore factor chart.
Regarding the showing vanilal labels: realistically, if you're looking for some ore you'd want to find the first place with it and dig in. I contemplated adding defaults for at least vanilla ores, but that is instantly not good if you're using non-default ore generation amount. Especially if lower than normal. When i make initial readings, i just center out on the ore node i find and dig in for the copper/tin, and after getting bronze you'll explore more and get readings naturally. I'd not stress out about this and just looked at the ppts.

I would like to handle the initial readings better, but so far i don't have an idea how to do that in a way that would make me happy for the results. 

Also just clarifying, vanilla is using ppt not percentage for the number. The % is the factor that is in the chart.

Desolae, Jan 31st at 11:33 PM

KnewOne I kind of wish there was an option to show the vanilla label (poor, decent, high, etc) based on the % shown for each ore, so I could use that during the early game before I have a good spread of readings to give accurate labels from the mod. Actually it would be nice to even have a chart handy for the vanilla labels to glance at, for that reason... I didn't see anything like that on the wiki, could I find that info in the game files somewhere?

Desolae, Jan 31st at 11:28 PM

DiPig7970 when looking at your full-sized map, click on the 'Prospecting' tab in the top left to toggle the layer of dots on/off.

ChaoticSixXx, Jan 27th at 10:17 AM

KnewOne Yes, that. Im on the latest version(3.1.3), and running 1.21.6. Ive used your mod for ages and have never had issues with it before. I have a lot of mods(167), including Interesting Ore Gen, Geology Additions and Prospect Together, but this world has almost 200 hours on it, so Im not sure what caused it because for the first like 180ish hours I never got this reading. I started getting the readout every once in a while if I was doing a lot of prospecting in one area, so I figured it was just picking up all the same ores, but now its doing it consistently. Ive not made a copy of my world and tried it but I can do that when I get some time. Now that I think about it, I never checked the map/drop down for ProspectTogether to see if it says the same thing as chat, so I will do some more testing and get back to you.

KnewOne , Jan 26th at 10:26 PM (modified Jan 26th at 10:32 PM)

ChaoticSixXx this ? image

Even then, i'm not sure how you ever get into that scenario. Last version ? Any other mods ? What happens when you make a copy of world and prospect in the same spot you had this happen ? There should never be trace readouts with this mod for ores. Any other modded ores ? Anything that adds prospecting ?

ChaoticSixXx, Jan 26th at 7:00 PM (modified Jan 26th at 7:01 PM)

I keep getting "Found traces of 1 ore in this area" with Density Search. It wont say what type of ore or anything else. Im not sure why, but it used to only show up occasionally but now its like everytime.

KnewOne , Jan 26th at 12:08 PM

TheBjark logs. mod version. steps to reproduce. this was fixed recently, unless you refer to the quirks of the first few readings

DiPig7970, Jan 25th at 7:01 PM

I want to ask a question here that's not related to this mod. When I'm using the prospecting pickaxe, every time I use it , an extra dot appears on the mini-map, which is a bit annoying. Does anyone know how to fix this?

*I'm sorry for asking this kind of question here.

KnewOne , Jan 24th at 12:07 PM (modified Jan 24th at 12:07 PM)

Denali_Rainbow you're on the older version of the mod. please update and then see if you can reproduce

Denali_Rainbow, Jan 24th at 7:13 AM

Got a crash

Spoiler!
Crash Report
Running on 64 bit Windows 10.0.19045.0 with 16328 MB RAM
Game Version: v1.21.6 (Stable)
24/01/2026 6:11:28 PM: Critical error occurred in the following mod: bettererprospecting@2.2.2
Loaded Mods: abundantstonepaths@1.0.0, walkingstick@1.0.9, betterforest@0.1.1, bulkmoldsmod@1.3.0, catchlivestock@0.2.1, cavesymphony@1.2.1, cbr@2.0.1, chiseltools@1.16.1, darkvision@1.1.1, fastpackeddirtpaths@1.0.0, floralzonescaribbeanregion@1.0.23, floralzonescosmopolitanregion@1.0.11, floralzoneseastasiaticregion@1.0.19, floralzonesmediterraneanregion@1.0.19, floralzonesneozeylandicregion@1.0.19, bovinae@0.3.5, caninae@1.1.2, 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.7, manidae@1.0.19, meiolaniidae@0.1.10, pantherinae@1.2.8, rhinocerotidae@1.0.23, sirenia@1.0.26, spheniscidae@1.0.16, thylacinidae@0.1.6, viverridae@1.0.8, vombatidae@0.4.5, geoaddons@1.4.5, hangingoillamps@1.0.5, immersivelanterns@0.3.1, medievalclothes@1.0.6, moreundergarmentsupdated@0.0.10, overhaullib@1.16.15, playermodellib@1.9.4, primitivesurvival@4.0.3, prospecttogether@2.1.2, temporalsymphony@2.2.2, trashbinned@0.2.0, vanillapanestorage@0.0.8, game@1.21.6, whichoreiswhich@1.0.0, windowstorage@0.1.3, aculinaryartillery@2.0.0-dev.11, alchemy@1.7.23, attributerenderinglibrary@2.4.0, bettererprospecting@2.2.2, betterruins@0.5.6, bettertraders@0.1.0, bloodtrail@1.1.8, bovinaddon@1.0.0, bradycrudebuilding@1.4.8, buzzwords@1.8.1, carryon@1.12.1, cartwrightscaravan@1.7.3, commonlib@2.8.0, groundpounder@1.0.1, expandedbeekeeping@0.0.0, farseer@1.3.3, feverstonewilds@2.0.0-rc.13, foodshelves@2.3.3, footprints@1.1.2, genelib@2.1.6, goblinears@2.3.3, hieronymusreptiles@1.1.3, improvedsheepupdate@1.0.2, itempickupnotifier@1.9.1, jaunt@2.1.2, juicyores@1.0.2, kevinsfurniture@1.8.1, knapster@3.0.0, mngeology@1.0.0, materialneeds@1.1.6, medievalexpansionpatch@1.3.4, moreanimals@1.6.6, morepiles@2.2.0, packrat@0.9.0, petai@4.0.1, pickupbabyanimals@1.2.2, placeonslabs@1.0.2, postsandbeams@1.5.0, purposefulstorage@1.5.1, rackableplates@1.0.0, realsmoke@1.1.10, rivers@4.7.4, saltandsands@1.1.6, spinningwheel@1.1.6, stepupadvanced@1.2.4, terraprety@7.9.0, th3dungeon@0.4.5, thecritterpack@1.3.4, truethirdperson@0.0.3, universalhusbandry@1.1.1, creative@1.21.6, vsroofing@1.2.0, survival@1.21.6, cats@4.0.1, detailedanimals@0.7.2, draconis@1.1.4, elkjaunt@1.2.0, equus@1.2.0, expandedfoods@2.0.0-dev.7, em@3.4.0, foxtaming@1.7.3, pegasus@1.0.3, playercorpse@1.12.0, quiversandsheaths@0.6.13, roofrecycling@1.0.2, seasonalbreeding@1.0.0, shearlib@1.2.0, slidingwindows@1.3.1, terrainslabs@1.0.9, wolftaming@4.1.4, tailorsdelight@2.1.2, wool@1.8.2
System.NullReferenceException: Object reference not set to an instance of an object.
at BetterErProspecting.Item.ItemBetterErProspectingPick.<>c__DisplayClass8_0.<GenerateToolModes>b__0() in C:\Users\Ilya\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 57
at Vintagestory.API.Util.ObjectCacheUtil.GetOrCreate[T](ICoreAPI api, String key, CreateCachableObjectDelegate`1 onRequireCreate) in VintagestoryApi\Util\ObjectCacheUtil.cs:line 24
at BetterErProspecting.Item.ItemBetterErProspectingPick.GenerateToolModes(ICoreAPI Api) in C:\Users\Ilya\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 53
at BetterErProspecting.Item.ItemBetterErProspectingPick.OnLoaded(ICoreAPI Api) in C:\Users\Ilya\RiderProjects\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 45
at Vintagestory.Client.NoObf.ClientSystemStartup.OnAllAssetsLoaded_Items(Int32 i) in VintagestoryLib\Client\Systems\Startup.cs:line 1026
at Vintagestory.Client.NoObf.ClientSystemStartup.<>c__DisplayClass59_0.<OnAllAssetsLoaded_Items>b__0() in VintagestoryLib\Client\Systems\Startup.cs:line 1031
at Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 767
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 347
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
KnewOne , Jan 21st at 11:28 AM (modified Jan 21st at 11:29 AM)

Hiran ruins don't have a specific block associated with them. I'd need to whitelist all used ones. Also it's barely adjacent to prospecting. I could make something like "porosity" to count blocks vs empty air in a column but that's stretching it

Hiran, Jan 21st at 8:40 AM

How about "Geological Anomaly" scan that checks for ruins? Could work similarly to borehole.

KnewOne , Jan 19th at 12:04 AM (modified Jan 19th at 12:04 AM)

Cryoflair cylinder

Cryoflair, Jan 18th at 11:26 PM

Regarding the borehole, is the shape a square, diamond, or circle?

KnewOne , Jan 18th at 6:35 PM

Lupinta reprospect is mostly a relic of the past. Earlier you could change how the math worked and so you had to reprospect to change the readings values. Now i don't actually change the values of the prospected nodes directly in the save game; the ranges for what is considered very poor and ultrahigh is stored in save file and memory and the prospecting points are dynamically updated when the client or server needs to know the data.

Oredata clears the current in-memory values for what is considered very poor/ultrahigh per each node and then checks all existing readings by all players to construct the data. Thus i recommend reprospect >oredata, but reprospect is only really needed for very specific circumstances that most people no longer will encounter. 

VarianVarnum, Jan 18th at 4:01 PM

Meant to respond about 40 minutes after your ping, but it works just fine now!

Lupinta, Jan 18th at 3:35 PM

Thank you for updating the mod! It fixed the ultra high problem. Now everything is mostly green because of high+ ratings, but everything isnt ultra high, just one or two resources per prospect which should be just good ore-luck.
Also did /btrpr resprospect. What does /btrpr oredata do?

ChimMAG, Jan 18th at 1:00 PM

KnewOne

I understand that. But the R key will remain the default, so I left it as R. Usually, things like that aren't translated. By the way, it's a funny coincidence that the letters R (Rock) and К (Камень = rock, stone) are on the same physical key on the keyboard.

Huw, Jan 18th at 9:35 AM

Well done mate, as far as i can see you've done it. after an hour of playing the readings havent reverted and new readings are giving decent, poor, etc. 

KnewOne , Jan 17th at 11:04 PM (modified Jan 17th at 11:10 PM)

VarianVarnum, Huw, Lonn lease check if new version fixed for you

KnewOne , Jan 17th at 10:11 PM (modified Jan 17th at 10:50 PM)

E: okay i think i've found the bug and i'm not going to disclose the specifics, but it's very dumb

VarianVarnum, Jan 17th at 10:01 PM

Just want to add to the pile that I too am experiencing absurdly high and low reading, only briefly fixed by the two commands.

KnewOne , Jan 17th at 9:22 PM (modified Jan 17th at 10:05 PM)

Huw the old ones are imported when the oredata is ran, it shoudln't matter, unless there's a bug that i cannot reproduce. Copy your world, disable all mods except this, check if this behaves properly. if not, send me a copy of the world before you entered with no mods.

If it behaves correctly, start enabling mods in halves until you find the culprit mod. None of what you listed could afffect with what i'm thinking. It's something much more general that itneracts with prospecting data, most likely.

Drop server and client logs, maybe something there but it'd have errored out

Huw, Jan 17th at 8:32 PM (modified Jan 17th at 8:33 PM)

Im afraid im using a ton of mods so it probably is a conflict somewhere down the line. I have no idea about modding nor what variables may effect it, but the only mods i use that directly effect anything to do with stone/mining are prospect together, geology additions, geology map, juicy ores, more crystals, stone quarry, and terra prety.I'm sorry if thats not helpful but thats all i can think of with my nonexistent knowledge of what mods have a chance of effecting a mod like this. Only thing else i can say is that i added to a pre-existing world in which i had already made a lot of prospecting data points. You do say that you have to "feed" the algorithm to teach it, would it be possible that having all those pre-existing prospecting data points is reverting the new ones to a "diluted state", mixing the new with the old?

KnewOne , Jan 17th at 7:50 PM

ChimMAG

  "R": "R",

is supposed to be a translation of first letter of "Rock"

ChimMAG, Jan 17th at 7:41 PM

Updated the Russian translation.

KnewOne , Jan 17th at 12:58 PM (modified Jan 17th at 1:04 PM)

Huw steps to reproduce please. I've had this report over and over now and i cannot replicate myself. No other mods, from zero state setup. If it's a conflict with another mod, then please point me to the mod and scenario in which it happens. If it occurs on a new world with the mod disabled at the start, created the nodes, relog and enable the mod and it fails, i can look into, but i need a proper bug report. In the discord channel preferably because i need the logs as well.

Huw, Jan 17th at 10:47 AM

Seems that when using the commands /btrpr oreData and /btprpr reprospect the accurate readings show for a short while then revert to the ultra high ultra low readings

 

KnewOne , Jan 16th at 3:20 PM

Hiran updated compat with prospect together. Stone readings will not be in prospect together unless the mod author and i agree on how to make it work, because his code doesn't allow me to keep my preferred format

Hiran, Jan 16th at 1:24 PM (modified Jan 16th at 2:05 PM)

Prospect Together support is not working. 
Prospects in the new areas are not showing in ProspectTogether Restarting the game fixed this. No idea why.

Info on stones is not being added to ProspectToghether

KDLynch, Jan 16th at 12:41 AM

Confirmed in original world: the issue only occurs when in windowed and not maximized mode.  as soon as i maximize, everything works fine.  if i resize window to >almost< fill screen, it works fine.  but if I go any smaller (enough to see info in another window at same time), it no longer shows the dropdown.   I'd guess it's probably displaying the dropdown even when not maximized, just fully off my screen. :)  Thanks again!

KnewOne , Jan 16th at 12:18 AM

KDLynch oh lol. funnily enough, i use windowed with borderless gaming and it has never been an issue for me

KDLynch, Jan 16th at 12:09 AM (modified Jan 16th at 12:12 AM)

KnewOne  may have found it... not a mod conflict. i suspect base game bug?  you get no dropdown in windowed mode, but when i maximized it worked fine.  gonna go back to original world and double check that in a short bit, but this looks like it has nothing to do with BetterEr Prospecting, or any of the mods I've installed. :) 

Certainly on the culling down on my end to figure out where the mod conflict was, I was not expecting you to do that, that's a .me. problem. :)  I jumped to the conclusing because it had been working, and the only change made was updating your mod (and apparently going to windowed mode, which seems to be the real issue).   I apologize for any effort I've caused you into looking into this.  And thank you so very much for making the stone addition! :)

KnewOne , Jan 16th at 12:08 AM

KDLynch it's a 403 status there. Like, listen, i'm not really into looking at a 150 mods modpack logs. If it's broken on new worlds for you, i need you to disable all but my mod ( well and the misc like configlib and whatnot ), check if it works. If it does work, it means it's a conflict. At that point you start enabling mods in halves until it breaks again, then you start disabling in halves until you home in on the mod causing the issues and then you give me the name of the mod. I don't mind fixing bugs but i'm not looking forward to downloading all the mods from the comma separated list of strings and then figuring out which mod is breaking the interactions. It's just not fair with regards to the developer

KDLynch, Jan 16th at 12:00 AM

go up to the VintageStory directory at that url, I uploaded all the logs there.  If it doesn't work on this new world (with all mods), i'll start culling mods to see if i can track down a conflict (mebbe with the few geology type mods?)

 

KnewOne , Jan 15th at 11:50 PM

KDLynch oh, uuuh, the assumption was that it doesn't work with only my mod. If there's mod conflicts then i need a finger pointed at the mod. And the logs for server/client obv.

KDLynch, Jan 15th at 11:48 PM (modified Jan 15th at 11:57 PM)

No luck on toggling stone mode readings (or enable stone mode), tried both toggle off/on & read map; and toggle off - read map - toggle on - read map.  (map closed each time i went to toggle something.  trying a new world now (takes a bit, as i am running 150ish mods).  will send client log after that test and game is shut down.   (well, new test didn't work... screen was pure brown with the word 'brass' written on it upside down and reversed  o.O  couldn't see world at all, other than me moving on minimap ... lol)... here's the client log... you'll want to be at line #2187 and above (i attempted new world at line #2188)

https://rubidiumhexafluorosilicate.com/VintageStory/client-main.log  (seemed too long to do as spoiler)

KnewOne , Jan 15th at 11:28 PM (modified Jan 15th at 11:35 PM)

KDLynch should be like this. If this fails for you, drop me the client log. But also try toggling the stone mode readings, opening/closing map, try on new world/old world. Best to contact in the discord channel tho

image

KDLynch, Jan 15th at 11:17 PM (modified Jan 15th at 11:25 PM)

KnewOne thank you so very much!! :)   the only thing that appears to not work now is the 'Prospecting'  dropdown to the side of the minimap... it's on Everything, but no drop down... wasn't sure that'd work for stones, but doesn't let me select copper either (i do have one node with copper and coal... gonna go get another one to see if it's just a 'need more than one node with x ore' thing --- nope, have several, still can't use that 'Prospecting' dropdown)


It was mentioned before on the 'ultra high' response... i'm not sure what qualifies as 'ultra high', but thought you might like to see this:

 

Spoiler
15.1.2026 16:00:37 [Chat] Found 0 traces of ore in this area (guide):
@ -6
15.1.2026 16:02:14 [Chat] Area sample taken for a radius of 64:
Found the following rock types
Andesite: 36.3 %
Granite: 22.82 %
Wacke: 14.31 %
Pyroxenite: 9.23 %
Slate: 7.35 %
Conglomerate: 5.75 %
Diorite: 4.01 %
Limestone: 0.21 %
Peridotite: 0.01 %
White marble: 0.01 %
Basalt: 0.01 %
@ -6
15.1.2026 16:03:51 [Chat] Saving game world.... @ -1
15.1.2026 16:04:51 [Chat] Area sample taken for a radius of 64:
Found the following rock types
Andesite: 40.09 %
Granite: 36.19 %
Wacke: 7.62 %
Slate: 6.63 %
Diorite: 3.61 %
Pyroxenite: 3.48 %
Conglomerate: 2.12 %
Limestone: 0.2 %
Chert: 0.04 %
Basalt: 0.01 %
White marble: 0.01 %
@ -6
15.1.2026 16:04:58 [Chat] Found 0 traces of ore in this area (guide):
@ -6
15.1.2026 16:05:48 [Chat] Ok, waypoint nr. 98 added @ 0
15.1.2026 16:06:01 [Chat] Lost 5 hp by a wild boar (Creature) @ -5
15.1.2026 16:06:21 [Chat] Lost 5 hp by a wild boar (Creature) @ -5
15.1.2026 16:06:39 [Chat] Found 1 traces of ore in this area (guide):
Ultra high Borax (mineral) (0.13‰)
@ -6
15.1.2026 16:06:45 [Chat] Area sample taken for a radius of 64:
Found the following rock types
Andesite: 38.87 %
Granite: 19.54 %
Wacke: 14.89 %
Slate: 7.75 %
Pyroxenite: 7.51 %
Conglomerate: 5.49 %
Diorite: 4.53 %
Limestone: 1.29 %
Basalt: 0.13 %
White marble: 0.01 %
@ -6
15.1.2026 16:08:45 [Chat] Area sample taken for a radius of 64:
Found the following rock types
Andesite: 34.39 %
Wacke: 18.24 %
Granite: 13.5 %
Pyroxenite: 12.4 %
Conglomerate: 8.66 %
Slate: 8.31 %
Diorite: 3.4 %
Limestone: 0.85 %
Basalt: 0.24 %
Peridotite: 0.01 %
White marble: 0.01 %
@ -6
15.1.2026 16:08:53 [Chat] Saving game world.... @ -1
15.1.2026 16:09:49 [Chat] Area sample taken for a radius of 64:
Found the following rock types
Andesite: 33.8 %
Pyroxenite: 20.28 %
Wacke: 15.62 %
Granite: 13.63 %
Conglomerate: 8.18 %
Slate: 7.59 %
Diorite: 0.9 %
Basalt: 0.01 %
Soapstone: 0.01 %
@ -6
15.1.2026 16:09:57 [Chat] Found 3 traces of ore in this area (guide):
Ultra high Bituminous coal (4.7‰)
Ultra high Borax (mineral) (0.54‰)
Ultra high Copper ore (native) (0.03‰)
@ -6
KnewOne , Jan 15th at 7:17 PM

KDLynch check out

KnewOne , Jan 15th at 9:40 AM

Aceolu 3 to break functionality won't be in for the new density. The reason is that it's annoying to track and i'd rather not

Aceolu, Jan 14th at 11:19 PM (modified Jan 14th at 11:23 PM)

Would it be possible for an optional config option to restore the behavior of needing to break 3 blocks in a short distance of eachother to get the prospect reading?

I know it sounds a bit silly, and the "NewDensityDmg" config is there for balancing, and I know alot of people find it annoying, but idk, I didn't mind needing to break 3 blocks, and I feel like only breaking 1 block to get the reading of an entire chunk's area is a little silly, and you could just have the option turned off by default

KnewOne , Jan 14th at 11:37 AM

DramaChris it is accurate to the block but it has a radius on it by default, so that it checks a cylinder. Maybe that's why you think it's inaccurate

DramaChris, Jan 14th at 11:14 AM

Out of curiosity, how precise is the borehole mode?
I had assumed that it gives exact blocks or ores on exactly the block we use it on, but in my testing it seemed to be a bit more loose.

ChimMAG, Jan 14th at 8:15 AM

Russian translation. Completely updated, the previous one was incomplete.

NeoB, Jan 14th at 2:26 AM (modified Jan 14th at 2:26 AM)
es-419.json

{
"density-block-based": "Modo Densidad (Búsqueda de largo alcance, basada en estadísticas)",
"node": "Modo Nodo (Búsqueda de alcance medio, exacta)",

"proximity": "Proximidad (Búsqueda de corto alcance, exacta)",
"closest-ore-is": "¡El mineral más cercano está a {0} bloques de distancia!",
"closest-ore-not-found": "No se encontraron minerales en un radio de {0} bloques.",
"promimity-vague-ore-nearby": "Se encontró mineral cerca",
"proximity-vague-ore-not-found": "No se encontraron minerales cerca",

"borehole": "Modo Perforación (Búsqueda basada en radio de cilindro vertical)",
"borehole-no-filter": "La perforación no ha sido configurada para buscar ninguno de los tipos",
"borehole-sample-upside": "Las muestras de perforación solo pueden tomarse desde la parte superior del bloque",
"borehole-sample-taken": "Muestra de perforación tomada.",
"borehole-not-found": "No se encontraron resultados",
"borehole-found": "Se encontró lo siguiente:",

"stone": "Modo Piedra (Búsqueda de largo alcance para piedra)",
"area-sample": "Muestra de área tomada para un radio de {0}:",
"no-rocks-near": "No hay rocas cerca",
"found-rocks": "Se encontraron los siguientes tipos de roca",
"stone-mode-blocks-away": "{0}: a {1} bloque(s) de distancia",

"debug-bad-ppws-key": "[BetterEr Prospecting] Se encontraron claves de mineral no incluidas en la lista prospectable ppws. ¿Es intencional?: {0}",
"debug-bad-ppws-key-expected": "[BetterEr Prospecting] Las claves esperadas son: {0}",

"_comment": "Estas son secciones para configuraciones",

"Density": "Densidad",
"Proximity": "Proximidad",
"Stone": "Piedra",
"Borehole": "Perforación",
"DebugMode": "Modo Depuración",
"AtLeastOne": "Debe seleccionarse al menos uno",

"EnableDensityMode-setting": "Activa el modo densidad",
"EnableDensityMode-description": "",
"OneShotDensity-setting": "Modo densidad de un solo uso",
"OneShotDensity-description": "No tiene impacto si el nuevo modo densidad está activado",
"NewDensityMode-setting": "Usar nuevo modo densidad",
"NewDensityMode-description": "Reemplaza el modo vanilla con el nuevo modo densidad",
"NewDensityDmg-setting": "Daño de herramienta del nuevo modo densidad",
"NewDensityDmg-description": "Daño de herramienta para el nuevo modo densidad",
"LinearDensityScaling-setting": "Escalado lineal de densidad",
"LinearDensityScaling-description": "Hace que las lecturas del propick vanilla escalen linealmente (0-1) en lugar del rango predeterminado 0-0.75. Esto afecta todas las lecturas del propick, no solo el nuevo modo densidad. Funciona instantáneamente. Siempre activado para el nuevo modo densidad",

"AddProximityMode-setting": "Activar Modo Proximidad",
"AddProximityMode-description": "Activa el modo proximidad. Busca el mineral más cercano. Basado en esfera",
"ProximitySearchRadius-setting": "Radio de búsqueda del modo proximidad",
"ProximitySearchRadius-description": "Recomiendo valores bajos para que el modo nodo siga siendo útil (si está activado)",
"ProximityVagueDescriptors-setting": "Descripciones vagas de proximidad",
"ProximityVagueDescriptors-description": "Muestra mensajes sí/no al usar prospección por proximidad en lugar del conteo exacto de bloques hasta el mineral más cercano",
"ProximityDmg-setting": "Daño de Proximidad",
"ProximityDmg-description": "Daño de herramienta para el modo proximidad",

"AddStoneMode-setting": "Activar Modo Piedra",
"AddStoneMode-description": "Activa el modo de búsqueda de piedra de gran alcance con distancia exacta al bloque. Basado en esfera",
"StonePercentSearch-setting": "Porcentaje de búsqueda de piedra",
"StoneSearchRadius-setting": "Radio de búsqueda de piedra",
"StonePercentSearch-description": "Si está activado, el modo piedra muestra el porcentaje de rocas encontradas en relación al total de rocas encontradas. ¡Inmersión!",
"StoneSearchRadius-description": "Radio de búsqueda del modo piedra",
"StoneDmg-setting": "Daño de Piedra",
"StoneDmg-description": "Daño de herramienta para el modo piedra",

"AddBoreHoleMode-setting": "Activar Modo Perforación",
"AddBoreHoleMode-description": "Un modo de línea recta. Solo informa al romper la parte superior del bloque, escanea el mundo hasta el fondo y reporta los bloques seleccionados (cualquiera o ambos: bloques de mineral y piedra)",
"BoreholeDmg-setting": "Daño de Perforación",
"BoreholeDmg-description": "Daño de herramienta para el modo perforación",
"BoreholeRadius-setting": "Radio de Perforación",
"BoreholeRadius-description": "Radio para el modo perforación. 0 crea una línea",
"BoreholeScansOre-setting": "La Perforación Escanea Mineral",
"BoreholeScansOre-description": "Permite que la perforación escanee mineral",
"BoreholeScansStone-setting": "La Perforación Escanea Piedra",
"BoreholeScansStone-description": "Permite que la perforación escanee piedra",

"DebugMode-setting": "Activar Modo Depuración",
"DebugMode-description": "Activa mensajes de depuración en el juego"
}

here's a updated version including new strings working on es-es.json too

KDLynch, Jan 14th at 12:30 AM

fair enough, thank you for considering it. :) 

KnewOne , Jan 14th at 12:04 AM (modified Jan 14th at 12:16 AM)

KDLynch it is doable, i just am not sure if i want to do that. I'll put the idea on a backburner

KDLynch, Jan 13th at 11:56 PM (modified Jan 14th at 12:01 AM)

Would it be possible to add the Stone prospecting data to the markers on the map when one does Ore prospecting?  (as an option would be ideal, if this is even possible)

KnewOne , Jan 13th at 10:27 PM

Hiran i quite like that idea. Will add in next minor version

Hiran, Jan 13th at 9:07 PM

Could you add config to change proximity mode into "vague version" so that it wouldn't tell us exact distance, just "There seems to be some ore nearby.".

KnewOne , Jan 13th at 8:34 PM

Lupinta did you add the mod halfway the world ? Is it ultra high for every single node for every single ore ? If you filter to sphaletire, do you have multiple readings ? Are they all ultra high ? Does this happen on only old world or on new too ?

What happens when you run (/btrpr reprospect) and then  (/btrpr oreData) ? What about restarting the world after that ?

Lupinta, Jan 13th at 11:37 AM

This Mod works in 1.21.6
However it sets all previous prospecting markers to be Green and displaying Ultra high {ore} (percentile)     e.g. Sphalerite (1%o)
KnewOne is it possible to keep the colors of markers or atleast not make everything green?

KnewOne , Jan 11th at 7:05 PM (modified Jan 11th at 7:06 PM)

Lonn contact me in the discord. i'll need your save file where this is reproduceable with STR

 

Lonn, Jan 11th at 6:59 PM

KnewOne Im running 2.1.0
I ran the command oredata then reprospect then oredata then reprospect, (double ran the commands) so i have 0 idea why the data keeps resetting to Ultra high when i start my world back up, i did delete some files in the cache, moddata and modconfig, deleted and reinstalled this mod. I used to have prospect together but have deleted it because it "broke" when running the reprospect command.

KnewOne , Jan 11th at 6:37 PM (modified Jan 11th at 6:38 PM)

Lonn is the mod version the latest one ? The sticking thing was something i had to fix in recent patch. oredata removes from save file and the runtime memory and then tries to backfill ores, and the backfill is fetching of save data of all player readings and the ppt highest/lowest filling. Meaning the proper order is reprospect into oreData.

Lonn, Jan 11th at 6:32 PM

KnewOne
So... i did something when i was trying to diagnose another mod and now this mod is acting..... erratic.
When i hop into my solo world, all the readings from every prospecting, old and new (from screwing around in the game/mod files) reads Ultra High regardless of % or actual previous readings. /btrpr reprospect fixes this and i have done /btrpr oredata followed by reprospect then doing both commands again to try to purge the bad data but it wont "stick" every restart = Ultra High.

And when i begin prospecting new areas, all of the other previouse locations i prospected will slide from their readings generally trending higher on the ratings (low -> med -> high e.g)

I've also removed and reinstalled the mod.


Is there anyway to purge all the prospecting data from the save and just restart with new prospecting or did i screw this save up enough to warrant a new playthough?

Vakothu, Jan 10th at 11:44 PM

KnewOne Thank you! That answered it perfectly!

KnewOne , Jan 10th at 8:35 PM

Vakothu well, technically speaking it's cuboid of radius 32 around the block you prospected on. So it's actually 65x65 rectangle around broken block. So different blocks in the same chunk will give different results, unlike how prospecting together does its thing

Vakothu, Jan 10th at 5:58 PM

When you say 'the 2x2 chunk around you' does this mean along the actual chunk borders that you're closest to the middle of, or just 32x32 blocks?

Samaya, Jan 10th at 2:08 PM

Thanks. No I was just asking how I should read the results. 

KnewOne , Jan 10th at 11:09 AM

Samaya THe higher the percentile, the more ore there is in the 2x2 chunk around you. You're free to do whichever approach you think is better. I'm not an artiber. Considering how ore generation works, ore isn't concentrated in 1-2 chunks, but a big group of them usually. 

Samaya, Jan 9th at 6:09 PM (modified Jan 9th at 6:11 PM)

@KnewOne

So I think I understand that. 

What I'm unsure about is this. If I prospect in a line, and the percentile of let's say copper gets increasingly higher, that means there's an increasing amount of copper in those prospected chunks right? 

But, should I only dig for copper in the chunks the highest percentile, or would it be worth it to dig in the surrounding area, with a slightly lower percentile, as well?

 

*Btw how do I tag people I'm responding to? I'm not seeing a quote button

KnewOne , Jan 9th at 2:34 PM (modified Jan 9th at 2:36 PM)

Samaya when you prospect the first time, the system lookg at every ore found and calculates their amounts in absolute units. Those are immediatelly made into ppt that you see in the () brackets. Then the system looks at its data for each ore. Since this is the first reading, it puts this value as the ulrahigh because it's the highest it has ever seen. This reading's value is set as the highest and the lowest found.
When you prospect again at another place and get a higher reading, that reading becomes the new highest and the previous remains the lowest. The current one is made ultra high and the previous is now marked as very poor.

You prospect again, the reading is between the two previous; thus it linearly finds the percentile between the highest and the lowest and assigns the percentile text very poor<>ultrahigh.

If you mine all the ore and prospect again, the reading will be different because the actual amount of ore changes, but the system still remembers the total highest and lowest values, so the same place can become lower value if you manually prospect again or run the reprospect command.

This approach was chosen because it makes this automatically adjust for any ore generation mods or any configs for world ore multiplier at the cost of first several readings being wacky. You can still rely on the ppts - anything lower than 0.10 for abundant ores or lower than 0.05 for rare ( like native copper ) usually ends up being on the lower side.

Whenever you make a new reading for an ore, the previous readings are automatically adjusted when you look at the on the map.

 

By the way, prospecting result is exactly 4 chunks in a square centered on you, so you can get all the readings by prospecting every 32*2 = 64 blocks, but for better exact spot you can still prospect more often.

Samaya, Jan 9th at 3:22 AM

So how does the density mode work now exactly? If the density search gives you like a ultra high result, you dig there, you find ore and you exhaust the vein. Now I prospect a couple of chunks away, and it gives me an high result, does that mean that beneath the ground there is still ore to be found?

So do the percentils now mean that in the chunk you prospected, and you get for example a 1 percentile result, does that mean that there is definitely ore in that chunk? And lightly further away, you get a 0,8 percentile result, does that mean that there's still ore in that chunk just slighty less?

I hope I'm explaining myself right

Lonn, Jan 7th at 3:38 AM

KnewOne
Ah ha! Found the issue, I'm using Simple VS Manager and had an issue with config paths from when i installed mods before switching to the manager, I reinstalled VS and the manager, reinstalled mods so that all the pathing is correct and issue resolved.
:) i love modding conundrums

KnewOne , Jan 6th at 4:02 PM

Lonn pics or didn't happen

In all serousness, i don't think i can actually impact the map flicker. I only change the reading factor, and that happens before map is fully drawn

Lonn, Jan 5th at 12:28 AM

KnewOne
Thanks M8
I did have an issue with the map "flickering" with the different layers periodically dissapearing and reappearing, and random areas of the map doing this,
I never saw a "oredata" command completed message and never got any lag spikes.

I did notice that doing the reprospecting breaks prospect together and sets all info to "high" oh well, thats the other mods issue.

I think the "flickering" issue might be due to a potential conflict with GiMap, If i have the issue again i'll verify by pulling the logs.

otherwise Great mod!

KnewOne , Jan 4th at 9:27 PM

breadv25 i don't see anything out of ordinary. if your propick has no modes on F and behaves like a regular pick, then the propick item has conflicts with another mod. test how it behaves when only this mod is enabled. on the offchance that it still doesn't work with only this mod, clear your mod cache folder and update the game if it's not. if it's working with only this mod, start enabling other mods in halves and then find the mod that conflicts with this mod.

breadv25, Jan 4th at 9:15 PM

KnewOne is this what the config is supposed to look like?

Spoiler
{
"EnableDensityMode": true,
  "OneShotDensity": false,
  "NewDensityMode": true,
  "NewDensityDmg": 3,
  "LinearDensityScaling": true,
  "AddProximityMode": true,
  "ProximitySearchRadius": 5,
  "ProximityDmg": 2,
  "AddStoneMode": true,
  "StonePercentSearch": true,
  "StoneSearchRadius": 64,
  "StoneDmg": 4,
  "AddBoreHoleMode": true,
  "BoreholeRadius": 8,
  "BoreholeDmg": 2,
  "BoreholeScansOre": true,
  "BoreholeScansStone": false,
  "DebugMode": false
}
KnewOne , Jan 4th at 7:18 PM

breadv25 check config

breadv25, Jan 4th at 5:51 PM

this mod doesnt work for me, it just makes prospecting picks function like regular picks

KnewOne , Jan 4th at 11:39 AM

Lonn i have noticed an issue with how the mod was saving the data to the save file, but i'm not sure this is your specific issue. Regardless, i'd recommend updating and running the ppt dump and backfill routine

/btrpr oreData iAcceptLagfest
Lonn, Jan 4th at 2:50 AM

Not sure if its a bug but will post here,
When i used the /btrpr reprospect command in my singleplayer world, all readings for all prospected zones switch to "high" despite the actual previous ratings.

KnewOne , Dec 29th 2025 at 6:02 PM

DeeTales that mod only changes locale strings, no impact on other mods

DeeTales, Dec 29th 2025 at 3:44 PM

Might this be compatible with Which Ore Is This? Or will they conflict by both altering the Prospecting filter?

KnewOne , Dec 28th 2025 at 6:19 PM

Uxion glad it worked out of you cause that thing would suck to debug

KnewOne , Dec 28th 2025 at 6:15 PM

Oxygen220 is your map filtering to a certain ore or all ores ? If all ores then the game picks whichever is the highest reading, with low amounts of readings they are high-heavy for reasons

Have you done many prospectings across a wide zone or just small area ? If small area then they aren't very accurate because you're comparing the same small area's output. Read quirks

Oxygen220, Dec 28th 2025 at 5:27 PM

Hey, I made a world, did a little prospecting without the mod like 5-6 points then downloaded the mod everything immediately went green high or ultra high? 

I deleted them all thinking maybe need some fresh readings and ive done about 18-20 so far and its all still green? 

Print screen of map

Uxion, Dec 28th 2025 at 1:52 PM (modified Dec 28th 2025 at 2:31 PM)

Update: It looks like I downloaded the v1.21.6 (v2.0.0) of the mod while the server is at v1.21.5 (v1.4.0)

 

Original Post:

Hi, I added this mod on an existing server, but whenever I open my map and mouse over the existing prospecting points, my game (not the server) CTDs.

In addition the prospecting pick acts more like a regular pick and no longer offers function switches, but I assume that is as intended.

Crash Report

Running on 64 bit Windows 10.0.26200.0 with 32532 MB RAM
Game Version: v1.21.5 (Stable)
12/28/2025 8:45:20 AM: Critical error occurred
Loaded Mods: decor@1.3.1, hangingoillamps@1.0.5, millwright@1.3.0, MoveLikeKaji@0.0.7, overhaullib@1.13.2, particlesplus@2.3.1, primitivesurvival@4.0.0, game@1.21.5, vsimgui@1.1.15, wildfarmingrevival@1.4.2, aculinaryartillery@2.0.0-dev.6, alchemy@1.7.21, animalcages@4.0.1, egocaribautomapmarkers@4.0.3, awearablelight@1.1.4, bettererprospecting@2.0.0, betterfirepit@1.2.0, betterruins@0.5.2, carryon@1.12.1, combatoverhaul@0.10.12, commonlib@2.8.0, configlib@1.10.8, cooperativecombatrework@1.0.0, extrainfo@1.10.1, foodshelves@2.3.2, fromgoldencombs@1.9.4, maltiezcrossbows@1.6.8, maltiezfirearms@1.3.6, nbcartographer@2.2.1, petai@4.0.1, smithingplus@1.8.3, stonebakeoven@1.2.0, creative@1.21.5, vsroofing@1.0.16, survival@1.21.5, armory@1.5.3, expandedfoods@2.0.0-dev.6, em@3.3.3, playercorpse@1.12.0, shearlib@1.2.0, stonequarry@3.5.1, exoskeletons@0.4.3, wool@1.8.0
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.GameContent.OreMapComponent.OnMouseMove(MouseEvent args, GuiElementMap mapElem, StringBuilder hoverText) in VSSurvivalMod\Systems\Prospecting\OreMapLayer\OreMapComponent.cs:line 103
at Vintagestory.GameContent.OreMapLayer.OnMouseMoveClient(MouseEvent args, GuiElementMap mapElem, StringBuilder hoverText) in VSSurvivalMod\Systems\Prospecting\OreMapLayer\OreMapLayer.cs:line 268
at Vintagestory.GameContent.GuiDialogWorldMap.OnMouseMove(MouseEvent args) in VSEssentials\Systems\WorldMap\GuiDialogWorldMap.cs:line 318
at Vintagestory.Client.NoObf.GuiManager.OnMouseMove(MouseEvent args) in VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 447
at Vintagestory.Client.NoObf.ClientMain.OnMouseMove(MouseEvent args) in VintagestoryLib\Client\ClientMain.cs:line 2082
at Vintagestory.Client.NoObf.ClientPlatformWindows.UpdateMousePosition() in VintagestoryLib\Client\ClientPlatform\Input.cs:line 113
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 102
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 1
==================================
{ TimeGenerated = 12/14/2025 6:39:20 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.21.5.0, time stamp: 0x67fe0000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x7564
Faulting application start time: 0x1dc6d522c1aa3b6
Faulting application path: D:\Program Files\Vintagestory 1.21.0\Vintagestory.exe
Faulting module path: D:\Program Files\Vintagestory 1.21.0\Lib\openal32.dll
Report Id: 9855d0b4-0939-41a5-93b0-36f93f678253
Faulting package full name:
Faulting package-relative application ID: }

KnewOne , Dec 22nd 2025 at 10:52 PM (modified Dec 22nd 2025 at 10:53 PM)

MightBeAPotato from a cursory look, it does see those ores, but only those with an oremap. For example, titanium is not visible. But it is restricted in what is visible according to the vanilla restrictions.

MightBeAPotato, Dec 22nd 2025 at 3:06 PM

Would there be compability issues with this and the Underground Mines mod? Since that mod makes it so extra ores spawn in the mineshafts and this prospecting mode looks for actual ore blocks. I also use Interesting Ore Gen.

RosstheGreat, Dec 14th 2025 at 9:15 PM

Why you looking at Interesting Ore Gen? 👉👈

Glad to see things progressing though! From what I've tested it works well so far, more feedback to come later.

KnewOne , Dec 14th 2025 at 2:59 PM (modified Dec 14th 2025 at 3:04 PM)

2.0 version changed how the new density mod works. Intention was to make it more broadly compatible ( looking at you, interesting ore gen ), while not creating a lot of tedious compat work.

The new system is much more precise at the cost of being slightly weird when making first readings. If you don't want to explore the world for your second X deposit, you can always look at the PPT values to decide if it's worth it.

I have retired uplifting switches, since now all ores are visible, as well as multiplires to scan radius and ore count multiplier. The latter is no longer useful, the former i'll consider adding sometime in the future

I'll appreciate any feedback.

KnewOne , Dec 14th 2025 at 2:03 PM

From125 default is radius 8 i think. You can adjust. Setting to 0 makes it a single block column

csuarezmtz, Dec 14th 2025 at 2:59 AM

KnewOne, thanks! That makes a ton of sense. I went vanilla and mapped a big region - got Borax but never more than minuscule amounts. Weird in the case of Halite and Lignite, because I only missed readings. Anyway, thanks for the reply mate and thanks again for the mods!!

From125, Dec 14th 2025 at 12:46 AM

how wide is the borehole mode, or it is just an 1x1 block all the way to the mantle ?

KnewOne , Dec 13th 2025 at 11:13 PM

csuarezmtz olivine has no ore map. the mod sees it, but it's not present in the expected list. it being missing is expected.
I can also confirm that borax and galena are visible. 


Same with lignite.

The issue is that your prospecting settings are such that it just fails to recognize a big enough amount of ore to pass the minimal amount. I'm torn between how to handle this. Factor ( the quality word ) has been a constant pain for me. I have been considering alternative approach to it, but it's very much in progress. It would also possibly break prospecting together and idk if i want to deal with people pestering me regarding making it work for a mod whose dev i can't even reach when i am debugging and finding weird behaviours

csuarezmtz, Dec 12th 2025 at 6:23 AM

Hi dude! Awesome mod, I love the borehole option - great addition!!

I can confirm that there seems to be a problem with some ores (Olivine is confirmed and shows up in the debud mode), I can confirm this also affects Borax, Lignite and Halite. Tested by:

1. finding a lignite deposit

2. prospecting with mod "ON" - shows Galena, Copper, Bismuthinite and Hematite.

3. Close game, turn mod "OFF"

4. prospect the same place - shows same as before plus: borax, lignite, halite.

I have no idea of how to copy the debug mode output, but it showed a message like "result 'olivine' has not oremap is this expected?" "expected results (and a whole list including lignite and the rest of mentioned missings).

Please let me know if I can help troubleshoot this. Absolutely love your mods.

 

KnewOne , Dec 8th 2025 at 6:38 PM

Sparkplug04 i'm kinda lazy tbh. You can just enable debug mode and go prospect a bunch. Whenever it encounters an ore that doesn't have an oremap it will write it down.

Borax might be a case of low percentile readings tbh. I've added some functionality for multiplication/division of search radius/counts to make that easier

Sparkplug04, Dec 7th 2025 at 7:43 AM

KnewOne Okay, now I'm curious. Do Borax and Sulfur also fall under that issue and lack oremaps? I found a surface spot of borax after hunting thousands of blocks for it and the propick could never spot it for me, alongside some sulfur lurking about.

KnewOne , Nov 28th 2025 at 6:29 PM

Dani3l1986 this is intended behaviour. Olivine doesn't have an oremap and is not visibile with the game's default density search; the mod simply follows this.

You can see this if you turn on debug mode; it will print everything density mode found, but will only count/show those that are in the list used by the default density.

Should be still visible with borehole since it didn't put those restrictions there

Dani3l1986, Nov 28th 2025 at 8:46 AM (modified Nov 28th 2025 at 8:49 AM)

I was standing on top of a large Olivine deposit but the reading for density or stone didn't show any. The Bore mode did show it. Is this normal for Olivine or a bug ?

KnewOne , Nov 17th 2025 at 10:44 AM

Dyrian it follows the same logic as base game - halite shows on density

Dyrian, Nov 17th 2025 at 3:25 AM

Does halite show up normally in the first mode or do you have to look for it in the stone mode?

KnewOne , Nov 14th 2025 at 9:07 PM (modified Nov 18th 2025 at 12:08 AM)

New version added a counter divider for the total blocks counter. 

Brumes, Nov 12th 2025 at 10:12 PM

I guess its just a weird coal spawn then, we hadnt gotten any black coal readings at this point after quite a lot of prospecting so I was getting suspicious that something weird was going on. But I have now actually found some areas with readings for it, so everything seem to work fine.

KnewOne , Nov 12th 2025 at 7:58 PM

Brumes low amount by the looks, yeah

Brumes, Nov 12th 2025 at 6:21 PM

KnewOne I don't use Discord, so I don't think that would be very usefull. We're not running interesting ore gen, or any mods that would affect ores AFAIK, Only Terra Pretty that might do something to world gen.

Here is what I get with uplift and debug mode turned on:

 

Spoiler!

Found 8 traces of ore in this area (<a href="handbook://gamemechanicinfo-prospecting">guide</a>):
Poor <a href="handbook://item-nugget-nativecopper">Native copper</a> <font color="#CCe0cfbb"> (0,05‰)</font>
Poor <a href="handbook://item-nugget-sphalerite">Sphalerite</a> <font color="#CCe0cfbb"> (0,23‰)</font>
Poor <a href="handbook://item-nugget-magnetite">Magnetite</a> <font color="#CCe0cfbb"> (0,67‰)</font>
Poor <a href="handbook://ore-lignite">Lignite</a> <font color="#CCe0cfbb"> (0,12‰)</font>
Poor <a href="handbook://ore-bituminouscoal">Bituminous coal</a> <font color="#CCe0cfbb"> (0,73‰)</font>
Poor <a href="handbook://item-nugget-nativesilver">Silver</a> <font color="#CCe0cfbb"> (0,04‰)</font>
Poor <a href="handbook://item-nugget-nativegold">Gold</a> <font color="#CCe0cfbb"> (0,04‰)</font>
Poor fresh water aquifer detected.

[BetterEr Prospecting] Uplifted to poor: 0 -> 0,15 for nativecopper (P-All), 0,0284 -> 0,15 for sphalerite (P-All), 0,06 -> 0,15 for magnetite (P-All), 0 -> 0,15 for lignite (P-All), 0 -> 0,15 for bituminouscoal (P-All), 0,0046 -> 0,15 for silver (P-All), 0,071 -> 0,15 for gold (P-All)

Based on that it just looks like there is so little bitumous coal here that it doesn't normally get displayed?

Here is a list of the mods we are running: 

Spoiler!
Name URL
Expanded Matter https://mods.vintagestory.at/em
Overhaul lib https://mods.vintagestory.at/overhaullib
Config lib https://mods.vintagestory.at/configlib
Common Lib https://mods.vintagestory.at/commonlib
Attribute Rendering Library https://mods.vintagestory.at/attributerenderinglibrary
A Culinary Artillery https://mods.vintagestory.at/aculinaryartillery
ImGui https://mods.vintagestory.at/imgui
Insanity Lib https://mods.vintagestory.at/insanitylib
Pet AI https://mods.vintagestory.at/petai
Player Corpse https://mods.vintagestory.at/playercorpse
Xandus Inventory Tweaks https://mods.vintagestory.at/show/mod/367
More Piles https://mods.vintagestory.at/morepiles
Cartographer https://mods.vintagestory.at/nbcartographer
Visible High Fertility Particles https://mods.vintagestory.at/show/mod/10405
Dana Tweaks https://mods.vintagestory.at/danatweaks
QP's Chisel Tools https://mods.vintagestory.at/chiseltools
Salty´s Click up Torches https://mods.vintagestory.at/clickuptorches
Salty's Hand to Hand https://mods.vintagestory.at/handtohand
Salty´s Bark Beetle https://mods.vintagestory.at/barkbeetle
StepFixElk https://mods.vintagestory.at/stepfixelk
Salty's Free Look https://mods.vintagestory.at/freelook
Floating Fish https://mods.vintagestory.at/show/mod/19909
Better Firepit https://mods.vintagestory.at/betterfirepit
Simple HUD Clock Patch https://mods.vintagestory.at/simplehudclockpatch
ProspectTogether https://mods.vintagestory.at/prospecttogether
Self-Recording Thermometer https://mods.vintagestory.at/airthermomod
BetterEr Prospecting https://mods.vintagestory.at/bettererprospecting
Room Tools https://mods.vintagestory.at/roomtools
Extra Info https://mods.vintagestory.at/extrainfo
Harper's Immersive Tools https://mods.vintagestory.at/immersivetoolsfix
Salty´s Manual: Scraping https://mods.vintagestory.at/manualscraping
Salty´s Manual: Dough https://mods.vintagestory.at/manualdough
Salty´s Manual: Ore Crush https://mods.vintagestory.at/manualorecrush
Farseer https://mods.vintagestory.at/show/mod/22371
Salty´s Immersive Chests https://mods.vintagestory.at/immersivechests
Salty´s Immersive: Lanterns https://mods.vintagestory.at/immersivelanterns
Nature's Call https://mods.vintagestory.at/naturescall
Brain Freeze https://mods.vintagestory.at/brainfreeze
Rebuildable Bloomery https://mods.vintagestory.at/show/mod/28386
Visored Helmets https://mods.vintagestory.at/show/mod/25742
Blood Trail https://mods.vintagestory.at/bloodtrail
Salty´s Cave Symphony https://mods.vintagestory.at/cavesymphony
Salty's Forest Symphony https://mods.vintagestory.at/forestsymphony
Crucible Capacity https://mods.vintagestory.at/cruciblecapacity
Bullseye https://mods.vintagestory.at/bullseye
Hanging Oil Lamps https://mods.vintagestory.at/hangingoillamps
Carry On https://mods.vintagestory.at/carryon
SlowTox https://mods.vintagestory.at/slowtox
Real Smoke & QP's Chisel Tools https://mods.vintagestory.at/realsmokeforchiseltools
Real Smoke & Braziers patch https://mods.vintagestory.at/realsmokeforbraziers
At Waters Edge https://mods.vintagestory.at/atwatersedge
Farmland Drops With Nutrients https://mods.vintagestory.at/farmlanddropswithnutrients
Quicklime in Kiln https://mods.vintagestory.at/show/mod/5380
Fixed Paths https://mods.vintagestory.at/fixedpaths
Bricklayers https://mods.vintagestory.at/bricklayers
Braziers https://mods.vintagestory.at/braziers
Wooden Fortifications https://mods.vintagestory.at/woodfortifications
Food Shelves https://mods.vintagestory.at/foodshelves
Kevins Furniture https://mods.vintagestory.at/kevinsfurniture
Storage Options https://mods.vintagestory.at/storageoptions
More Torch Holders https://mods.vintagestory.at/moretorchholders
Stone Railings https://mods.vintagestory.at/stonerailings
Helve Axe addon https://mods.vintagestory.at/mechanicalwoodsplitter
Sliding Wooden Shutters and More! https://mods.vintagestory.at/slidingwoodenshutters
Wind Chimes https://mods.vintagestory.at/windchimes
Scaffolding https://mods.vintagestory.at/scafolding
The Critters Pack https://mods.vintagestory.at/show/mod/2526
From Golden Combs https://mods.vintagestory.at/fromgoldencombs
Stone Quarry https://mods.vintagestory.at/stonequarry
Stone Bake Oven https://mods.vintagestory.at/stonebakeoven
Pelagus Winds https://mods.vintagestory.at/pelaguswinds
Molds https://mods.vintagestory.at/molds
Expanded Foods https://mods.vintagestory.at/expandedfoods
Metal Cooking Pots https://mods.vintagestory.at/metalpots
Canoe mod https://mods.vintagestory.at/canoemode
Make Tea https://mods.vintagestory.at/maketeaforked
Meteoric Expansion https://mods.vintagestory.at/show/mod/78
Wolf Taming https://mods.vintagestory.at/wolftaming
Cats https://mods.vintagestory.at/cats
Fox Taming https://mods.vintagestory.at/fox
Real Grapes https://mods.vintagestory.at/realgrapes
Fields of Salt https://mods.vintagestory.at/fieldsofsalt
Ancient Armory https://mods.vintagestory.at/ancientarmory
Natural Fertilizer https://mods.vintagestory.at/naturalfertilizer
Tankards, Goblets and More! https://mods.vintagestory.at/tankardsandgoblets
Firearms https://mods.vintagestory.at/firearms
Quivers And Sheaths https://mods.vintagestory.at/quiversandsheaths
Ancient Dungeons https://mods.vintagestory.at/thedungeon
BetterRuins https://mods.vintagestory.at/betterruins
BetterTraders https://mods.vintagestory.at/bettertraders
Salty´s Firestarters https://mods.vintagestory.at/firestarters
Hydrate or Diedrate https://mods.vintagestory.at/hydrateordiedrate
In Dappled Groves https://mods.vintagestory.at/indappledgroves
Wear And Tear https://mods.vintagestory.at/wearandtear
Butchering https://mods.vintagestory.at/butchering
Real Smoke https://mods.vintagestory.at/realsmoke
Smithing Plus https://mods.vintagestory.at/smithingplus
Millwright https://mods.vintagestory.at/millwright
Terra Prety: Coastlines & Continents https://mods.vintagestory.at/show/mod/13620
Better forest https://mods.vintagestory.at/betterforest
WebCartographer https://mods.vintagestory.at/wc
Footprints https://mods.vintagestory.at/show/mod/33245
Hide armor progression https://mods.vintagestory.at/hidearmor
Projectile Tracker https://mods.vintagestory.at/projectiletracker
ToDo List Manager https://mods.vintagestory.at/todolist
Improved Handbook Recipes https://mods.vintagestory.at/improvedhandbookrecipes
Substrate https://mods.vintagestory.at/show/mod/21814
Sonito's Pin it https://mods.vintagestory.at/show/mod/30734
Immersive Rope Crafting https://mods.vintagestory.at/show/mod/29549
Victy's Real Time Firepit https://mods.vintagestory.at/realtimefirepit
Waterfall https://mods.vintagestory.at/waterfall

 

Brumes, Nov 12th 2025 at 9:41 AM

I found some bitumous coal in a cave, but when I take a density reading there there is no black coal in the readout, nor anywhere around it.

With the way I understand this mod to work, I should only get a reading if that ore is actually present,

but I don't understand this situation where it is not showing an ore in the readout that I know for certain is actually present, am I misunderstanding how this density readings with this mod work?

Or is there a possibility of false negatives, and if so, what causes them?

The_Revisionist, Nov 11th 2025 at 11:28 PM

KnewOne I opened a PR for a translation on GitHub :)

Pervy_Sage, Nov 11th 2025 at 3:53 AM (modified Nov 11th 2025 at 3:56 AM)

I love how the mod's proximity search tells you the distance if no ore is found "No ore found in 5 block radius.". I wish vanilla would state that in the node search.

 

Also I think node search is on by default now and set to a 6 radius. I haven't change it in my world config at the start and it's set to 6 and turned on. I'm refering to the mod's discription.

KnewOne , Nov 10th 2025 at 8:17 PM

vipasva while that is extremely weird, it is most likely not connected to the mod. The act of reloading fixed the disparity that was caused by something. I don't modify ores, i only read their contents

vipasva, Nov 10th 2025 at 1:44 AM

i am playing on 1.21.5, and a few of the ores i found had the stone texture insted of the ore, i was looking for brown coal and was mining stone when they started droping coal i turned off the mod and the stone returned to the brown coal texture

https://files.fm/u/8sqsmtbutk

KnewOne , Nov 4th 2025 at 5:23 PM (modified Nov 5th 2025 at 11:52 PM)

gobstar can't really tell you anything that would satisfy you. That's exactly the intent behind how those scale words work. It's relative to the ore's abundance based on its generation's distribution. Bismith has more variance for radius, but more importantly it's 16 tries per chunk vs cassiterite's 7. You will on average have more bismuth discs but it will have the same average distribution. Well, with some caveats like bismuth being triangle and cass gaussian, but that's minor.

gobstar, Nov 4th 2025 at 7:16 AM

Hii. The current Scale is completely mismatched with the current Per mille format, which is driving me crazy.

 

Spoiler!

The situation was as follows: I was searching for Tin, and the mod showed Very high (0.23), whereas without the mod it was Very poor (0.03). At the same time, Bismuth was Poor (0.74) without the mod poor (0.7). I started digging but didn't find a single tin deposit; when I checked with x-ray, there were only a couple of them, while there was plenty of bismuth.

The possible issue might be related to the Terra Pretty mod for world generation.

 

ChiefKrogan, Oct 29th 2025 at 1:37 AM

KnewOne that was the issue! Thanks! Works like a charm again

KnewOne , Oct 28th 2025 at 9:56 PM

ChiefKrogan do you mean borehole ? Since 1.2.5 borehole has a radius setting. It's probably defaulting as 8 for you since you've updated right away. Instead of showing the singular column i made it a cylinder to avoid making its spam too strongs and to encourage using other modes. You can change settings to radius 0

ChiefKrogan, Oct 28th 2025 at 7:11 PM

Top-down prospecting is broken since 2 updates ago. It used to work flawlessly and now I constatly get false positives. It's become redundant to even use it - for example I am currently looking for tin in an ultra hight casserite area and 5 times did borehole detect said ore, only for me to mine down to 20 and no Casserite. Did you change how it works somehow?

KnewOne , Oct 25th 2025 at 10:40 AM (modified Oct 25th 2025 at 10:47 AM)

nSwift what do you mean "long distances" ? Which modes show and which do not ? Can you also check if using the vanilla density prospecting also shows quartz ? Do you mean that only node mode shows quartz ? Afaik, quartz doesn't show on vanilla density. The modes other than node are modified versions that use the same core logic. In vanilla, quartz is considered a rock with no ore map and no handbook page connected to it. Halite(salt), by the way, is a rock that has an ore map and a link, which is why it's visible in density, but not in node - because node only checks ores. Borehole should show the rock if that mode is enabled. Sulfur should be visible since it's a rock with ore map. 

https://wiki.vintagestory.at/Mining#Prospecting_(Systematic_Method)

  • Additionally, some deposits are not detected by prospecting with this mode such as quartz, surface copper, surface tin, saltpeter, or halite lake beds ("Halite" readings from the propick are for halite salt domes).
nSwift, Oct 25th 2025 at 12:14 AM

KnewOne Hi. My ProPick stopped showing quartz and sulfur when searching long distances. What could be the problem, or is the mod not counting them as ore?

KnewOne , Oct 23rd 2025 at 3:11 PM

Sir_Pattrick can only suggest checking mod versions on both, trying to load the same world without other mods locally, sending full logs. This doesn't say anything other than the mod can't register a tool. Might be some other mod chaning propick class. Hard to say

Sir_Pattrick, Oct 22nd 2025 at 11:01 PM

I keep getting a critical error when I try to join the game my Wife is hosting locally.

 

Crash Report
System.Exception: Don't know how to instantiate item of class 'ItemBetterErProspectingPick' did you forget to register a mapping?
at Vintagestory.Common.ClassRegistry.CreateItem(String itemClass) in VintagestoryLib\Common\ClassRegistry.cs:line 323
at Vintagestory.Common.ItemTypeNet.ReadItemTypePacket(Packet_ItemType packet, IWorldAccessor world, ClassRegistry registry) in VintagestoryLib\Common\Network\ItemTypeNet.cs:line 21
at Vintagestory.Client.NoObf.ClientSystemStartup.PopulateItems(List`1 items, Int32 listSize) in VintagestoryLib\Client\Systems\Startup.cs:line 639
at Vintagestory.Client.NoObf.ClientSystemStartup.LoadItemTypes() in VintagestoryLib\Client\Systems\Startup.cs:line 440
at Vintagestory.Client.NoObf.ClientSystemStartup.HandleServerAssets_Step1() in VintagestoryLib\Client\Systems\Startup.cs:line 382
at Vintagestory.API.Common.TyronThreadPool.<>c__DisplayClass13_0.<QueueTask>b__0(Object a) in VintagestoryApi\Common\TyronThreadPool.cs:line 131
at System.Threading.QueueUserWorkItemCallback.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
Syfe, Oct 21st 2025 at 11:00 PM

oml THATS what caused my recent issues? so happy to see it resolved. i was having an aneurysm trying to figure out what was going on. good work!

KnewOne , Oct 21st 2025 at 10:39 PM

Ryilo oh, my bad. The mod was accidentally removing ALL harmony patches instead of only mod's  :D Fixed in 1.3.5

Ryilo, Oct 21st 2025 at 10:21 PM

KnewOne : This update broke everything for me. Had to try in a new instance, with a new world, with a minimal set of mods, and when this mod with version 1.3.4 is activated it breaks configlib (no more mod configs), breaks knapster, etc...

Reverting to 1.3.3 solves the problem.

KnewOne , Oct 21st 2025 at 7:52 PM

NaTajnacku 1.3.4 has two new settings to handle reading texts. Pick your poison

KnewOne , Oct 21st 2025 at 6:42 PM

NaTajnacku most likely caused by vanilla having non-linear distribution of those values. I do have a solution or two in mind

NaTajnacku, Oct 20th 2025 at 5:19 PM

Good mod but almost every reading saying ultra high, is there way to tune percentile map down?

KnewOne , Oct 16th 2025 at 9:51 AM

Neon10 huh ? If you refer to the modes from the original BetterProspecting, then they're gone and i'm not going to add modes that just directly tell you where to go to get the ore. If you want the most cheaty prospecting possible, then just install block overlay and xray them. This is an attempt to make vanilla's density mode better. The other modes like borehole are just nice additions from older mods and are toggle-able off.

Neon10, Oct 16th 2025 at 12:08 AM

please either revert the removal of the 6 new modes or add a config to bring them back cuz i just updated and i hate the new system

KnewOne , Oct 13th 2025 at 9:48 AM

Agouti that wouldn't really take that much to implement. I don't even need to check other mods existing; metals have a tier level, so i can just add it to proximity. Nevertheless, right now i don't really see adding that as a gimmick. Also stronger tool doesn't make it more efficient for prospecting, not very lore-friendly :P

Agouti, Oct 13th 2025 at 1:40 AM

Idea: Perhaps have an option for increasing search radius in Proximity for higher tier tools? Perhaps gold/silver/electrum, with lower durability but more advanced searching? Could get really fancy if Expanded Matter is also installed, titanium and all that.

 

KnewOne , Oct 11th 2025 at 9:32 PM (modified Oct 11th 2025 at 10:02 PM)

BootlegLatvian when using default vanilla prospecting, you don't have to tap 3 times, just once. You still take 3 tool dmg

E: but also use the configlib, it's good

BootlegLatvian, Oct 11th 2025 at 6:15 PM

What does OneShotDensity do in the config?

_Spy_, Oct 9th 2025 at 7:16 PM (modified Oct 9th 2025 at 7:31 PM)

Heya, really like this mod! 

NeoB, Oct 8th 2025 at 6:29 PM

KnewOne Don't worry, I don't know why the Latin American version is called es-419 either. I guess it's some kind of standard.

KnewOne , Oct 8th 2025 at 5:25 PM

NeoB my bad, i didn't know 419 was a legit file name

NeoB, Oct 7th 2025 at 4:41 PM

KnewOne No problem, although I see an issue with the files.
In the localization files, in this case, Latin American Spanish should be named “es-419” and “es-es” for Spain.

KnewOne , Oct 7th 2025 at 10:23 AM (modified Oct 7th 2025 at 10:24 AM)

Promethion well, check that it actually has any modes enabled in the settings. it is indeed possible to disable all modes and use your propick as a pick. Honestly, didn't expect anyone to hit that scenario.

If your settings are enabling some modes and you don't see it, test in a new world with only my mod. If it works, it's a mod conflict, enable mods in halves until you figure out which mod causes the conflict

 

NeoB appreciated

NeoB, Oct 6th 2025 at 11:40 PM
es-419 translation
{   "density-block-based": "Modo de búsqueda por densidad (Largo alcance, búsqueda basada en estadísticas)",   "node": "Modo de búsqueda por nodo (Alcance medio, búsqueda exacta)",   "proximity": "Proximidad (Corto alcance, búsqueda exacta)",   "borehole": "Modo barreno (Búsqueda basada en cilindro-radio vertical)",   "stone": "Modo piedra (Largo alcance, búsqueda de piedra basada en la distancia)",   "debug-bad-ppws-key": "[BetterEr Prospecting] Se encontraron claves de mineral que no están en la lista prospectable 'ppws'. ¿Es intencional?: {0}",   "debug-bad-ppws-key-expected": "[BetterEr Prospecting] Las claves esperadas son: {0}",   "closest-ore-is": "¡El mineral más cercano está a {0} bloques de distancia!",   "closest-ore-not-found": "No se encontró mineral en un radio de {0} bloques.",   "area-sample": "Muestra de área tomada para un radio de {0}:",   "no-rocks-near": "No hay rocas cerca",   "found-rocks": "Se encontraron los siguientes tipos de roca",   "stone-mode-blocks-away": "{0}: a {1} bloque(s) de distancia",   "borehole-no-filter": "El pozo de sondeo no ha sido configurado para buscar ningún tipo",   "borehole-sample-upside": "Las muestras de pozo solo se pueden tomar desde la parte superior del bloque",   "borehole-sample-taken": "Muestra de pozo de sondeo tomada.",   "borehole-not-found": "No se encontraron resultados",   "borehole-found": "Se encontró lo siguiente: " }
Promethion, Oct 6th 2025 at 10:22 PM

getting a wierd issue where my prospecting pick has no mode select option and when I use it it simply makes the blocks drop rocks rather than actually prospecting, I'm not getting any errors or popups of any kind, so I have no idea why this is happening

ZmanDom009, Sep 29th 2025 at 10:59 PM (modified Sep 29th 2025 at 11:49 PM)

When ever I do density search it shows no results in the chat but the other modes work does anyone know why?

 

Edit: I forgot to update the mod 

Arcanum3000, Sep 26th 2025 at 10:48 PM (modified Sep 26th 2025 at 10:59 PM)

KnewOne Wow, that was fast!  Thank you!

Edit:  The new change is a huge improvement!  I ran /reprospect and the big copper fault vein I was testing on now shows a ~17 ppt density instead of "miniscule".  Similar for a hematite deposit I haven't started exploiting but I knew must be huge.  And I can now usefully hunt for a couple other minerals that were previously showing "miniscule" but now have an actual ppt readout.  Thanks again!

KnewOne , Sep 26th 2025 at 10:32 PM

Arcanum3000 hmm, actually, no, you're right. it's a bit confusing wording on my part. I've reworked uplifting. It will have better debug text and should now be useful separately for modded generators and base ores.

Arcanum3000, Sep 26th 2025 at 8:44 PM

KnewOne Ahh, I see, thanks for the explanation.

 

I do have both AlwaysAddTraceOres and AddToPoorOres enabled.  Maybe I misunderstood, but I thought I'd get a ppt readout with the new ore structures even if the percentile rating ("Poor", "High", etc.) is wrong or missing.

KnewOne , Sep 26th 2025 at 9:46 AM

Arcanum3000 it's a chunk radius around the selected block. Chunk has 32 blocks, so it's a 32 block radius around the block broken. if it was made on a chunk-by-chunk basis, you'd need to prospect every chunk and it would get tedious very fast.

 

The issue linked is the issue with interesting ore gen specifically. Its generation uses a separate generator called tiltedAnywhereDiscGenerator. This is not, in fact, a disc generator in the slightest, so it won't even hook up to the disc generator calculator i am using, but then it would alsways show ultrahigh. The ore is found, but i only have it's amount, not its factor. Factor is a 0-1 number that is also a percentile of the ore blocks found relative to the distribution of its spawns. The TLDR fix of this issue is: either Ross adds support for his generators via a delegate, or you as the user enable trace upscaling + poor minimal level. Then you will see all ores that he changes generation as "Poor", but ppt will be corrrect- and you will need to use those metrics. In the screenshot, you can see "miniscule amounts of Native copper", so the propick found it, but couldn't categorize. You can check how the same prospecting will happen in vanilla; unfortunately the core issue is that Ross' propick code doesn't work very well atm.

Check 'compatibility' dropdown in the mod description.

Arcanum3000, Sep 26th 2025 at 1:46 AM (modified Sep 26th 2025 at 1:47 AM)

Hi, I'm liking the mod (using it with Interesting Ore Gen), but I have a question and a bug report.

 

For the question, I think I'm a bit confused about how the new density mode works.  I thought it was a simple block density calculation for the chunk you're testing in, but me getting different results from different positions in the same chunk suggests otherwise.  Can you clarify what the new density mode is actually doing?  Is it still just a simple block density calculation, just with some radius centered on the tested block?

 

For the bug report, I've run into one of the deposits that don't show up in the density search.  I'm pasting the debug log below, and a screenshot of the (partially mined but still substantial) native copper deposit.  I think it might be one of the new fault vein deposits from IOG.  It seems large for a regular surface copper deposit.

 

Anyway, thanks for the mod!

 

Debug Log

25.9.2025 21:20:24 [Chat] Found 0 traces of ore in this area (guide):
Minuscule amounts of Cinnabar, Native copper, Borax
@ -6
25.9.2025 21:20:24 [Chat] [BetterEr Prospecting] Found ore keys not in the ppws prospectable list. Is it intentional ? : olivine @ -6
25.9.2025 21:20:24 [Chat] [BetterEr Prospecting] Expected keys are: lignite, bituminouscoal, anthracite, diamond, emerald, peridot, bismuthinite, cassiterite, chromite, galena, silver, ilmenite, limonite, hematite, magnetite, malachite, nativecopper, pentlandite, rhodochrosite, sphalerite, alum, borax, cinnabar, fluorite, graphite, halite, kernite, lapis, phosphorite, gold, sulfur, quartz @ -6
25.9.2025 21:20:24 [Chat] [BetterEr Prospecting] Found no predefined calculator for InterestingOreGen.Generators.TiltedAnywhereDiscGenerator), using default generator
[BetterEr Prospecting] Found no predefined calculator for InterestingOreGen.Generators.TiltedAnywhereDiscGenerator), using default generator
@ -6

 

 

Deposit

 

 

The_Revisionist, Sep 24th 2025 at 11:12 PM

KnewOne Thanks for the explanation. The new update with the proper radius seems to be working fine.

KnewOne , Sep 24th 2025 at 7:13 PM (modified Sep 24th 2025 at 7:15 PM)

The_Revisionist yeah the code for the promixity was taken almost as is from the proximity prospecting mod and when i was looking at it, i noticed the same thing from when i was using that mod myself. Kinda didn't bother changing since it was fine either way, but it might be worth to redo it into proper circular discovery to avoid these scenarios. It's like a 50/50 easier understanding vs if it works it works kind of deal. Most of these block scans are done with the game's generic WALK function which only does cuboid, so radius is not a sphere but a cuboid radius, so to speak, but the distance is calculated with a distanceTo, which uses euclidian distance.  The borehole now uses my cylinder approach. Kinda wanna do the sphere one after typing thi.

The_Revisionist, Sep 24th 2025 at 6:12 PM

Is it normal that the proximity search mode sometimes can show a result distance that is greater than the set radius? E.g. if my set radius is 4, it can still say that the closest ore is 6 blocks away.
I think this is because it seems that the radius is counted so that dx<=setRadius, dy<=setRadius and dz<setRadius is still a valid distance to prospect at.

Example:
P
O
O
O
OOOOX

My max radius is 4. The ore is at X, I prospect at P. dX = 4, dY = 4 (between P and X). The reading I get is "Closest ore is 6 blocks away".

It seems like the distance is either calculated as Manhattan distance but not counting the start and end points, i.e. distance = (dx-1) + (dy-1) = (4-1) + (4-1) = 6. Or the distance is the true distance rounded, i.e. distance = sqrt(dx^2 + dy^2) = sqrt(16 + 16) = 5.7 ≈ 6

I'm fine with it either way, I'd just like to double check if I found a bug or it's the intended behaviour.

KnewOne , Sep 24th 2025 at 9:06 AM

Riscmon_ingk right now it's just cuboid with radius centered on player. Might be a good idea to change to chunk column actually

Riscmon_ingk, Sep 23rd 2025 at 11:56 PM

Is stone mode searching by blocks or chunks?

KnewOne , Sep 23rd 2025 at 10:34 PM (modified Sep 23rd 2025 at 10:37 PM)

SpaceMoth Not sure what you mean, but it's probably seeing some ore but digging down straight and it's not in the block column ?. For the 25 limit, ntent is to keep it full world penetration from the start, so the 25 is not really the way to go. Radius is configurable, and it was intentionally not a square but a circle. The change towards radius is how it's used to determine but not pinpoint ( unless you set low values or 0 )

The_Revisionist yeah should alter description. About the radius, should get to 0 yeah

SpaceMoth, Sep 23rd 2025 at 9:32 PM (modified Sep 23rd 2025 at 9:34 PM)

Spent the last couple hours trying to find resources using the borehole and was confused why it kept showing a resource but not locating it. 
I can understand the desire to balance. Maybe another option could be to make the cylinder to be 3 x 3, with a depth limit of say 25? So it can be used to determine where to dig but not so pinpoint.

I do agree about The Revisionist's comment to tweak the description as that is what threw me!

The_Revisionist, Sep 23rd 2025 at 9:25 PM

I think the cylinders work well, with the configurable radius it's really customisable. One small thing, the tool mode selection still says "vertical line based search" for borehole mode.


Also, I think it would be good to allow the borehole radius to be 0, i.e. reverting to a single vertical column, if somebody prevers that. Currently 1 is the smallest you can select in the mod settings menu (I haven't tested if it works with 0 by manually changing it in the settings file.)

The_Revisionist, Sep 23rd 2025 at 12:14 AM (modified Sep 23rd 2025 at 12:14 AM)

I like the borehole cylinder idea, I'll play around with it a bit tomorrow to test it. Beforehand I'd increased the borehole durability cost to 10 to reduce the desire to spam it.

KnewOne , Sep 22nd 2025 at 6:15 PM

1.2.3 changed borehole to be a wide downward cylinder instead of single line. Intent is to reduce borehole spam over a supposed ore chunk and to not invalidate the node/proximity mode. Subject to change if feedback arrives

KnewOne , Sep 22nd 2025 at 6:11 PM

Guimoute you must be fun at parties

Guimoute, Sep 22nd 2025 at 6:10 PM

> No more false positive readings

Vanilla prospecting has no false positive reading. It shows probabilities. 

KnewOne , Sep 22nd 2025 at 8:52 AM (modified Sep 22nd 2025 at 11:38 AM)

/reprospect doesn't work on unloaded chunks and causes loss of data. I'll think about a solution, but for now just don't run it  It won't update readings in unloaded chunks. Some edge cases might appear but that's the best i can come up with for now. Ideally you just never run this command

1.2.2 Should handle unloaded chunks. Be aware that it might spike RAM until the server unloads the chunks ( you can also just reload the server after running the command from the startup. The command should rarely be called.

Less hungry approach would be doing for select players - check /help reprospect

 

KnewOne , Sep 21st 2025 at 5:22 PM (modified Sep 21st 2025 at 5:34 PM)

Note that since 1.1.12 density scaling is a bit off. Run /reprospect. You might see values that are ~ 1/2 of the previous ones. That is expected, but do make feedback.

I've decided to postpone the factor change. The PPT will however be scaled to 1/4th of the previous value to be appropriate. The reason being:

 

By making the radius search too small, players would need to sample like every other 16-32 blocks which is too tedious.

Making it too big would make the single-disc pockets be hidden on one side of balancing (cIrcumventable with the minimum of poor option, but still not ideal) or produce too many high and ultrahigh readings. Possible solution would be changing the percentile scale from current which starts with HIGH at 40 to something more linear.

 

I'll hold off keeping it too realistic unless feedback comes in about factor values being too high, which they probably are by a scale of 4x.

DigitalHare, Sep 16th 2025 at 8:19 PM

Awesome, quicker than expected. Yeah, we were running 2.2.13 HoD. I run the mod updater a couple times through the day and restart the server for folks when there's big enough stuff. Thanks for fixing it!

KnewOne , Sep 16th 2025 at 7:44 PM (modified Sep 16th 2025 at 8:14 PM)

DigitalHare nvm i see the issue. Download new version

E: but also just update the HoD mod to >= 2.2.13

DigitalHare, Sep 16th 2025 at 7:28 PM (modified Sep 16th 2025 at 7:29 PM)

Hey, getting a disconnect and crash on my server with this mod and Hydrate or Diedrate's interactions. Not sure which is at fault, but I turned this one off and was able to prospect again without crashing.

Crash Report
16.9.2025 19:13:13 [Server Notification] Client 6 disconnected: An action you (or your client) did caused an unhandled exception
16.9.2025 19:13:13 [Server Notification] UDP: client disconnected DigitalHare
16.9.2025 19:13:13 [Server Event] Player DigitalHare got removed. Reason: Threw an exception at the server
16.9.2025 19:13:13 [Server Error] Exception: Could not load type 'HydrateOrDiedrate.Aquifer.ModData.AquiferData' from assembly 'HydrateOrDiedrate, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
at BetterErProspecting.Item.ItemBetterErProspectingPick.hydrateOrDiedrate(ICoreServerAPI sapi, PropickReading readings, BlockPos pos, List`1 delayedMessages)
at BetterErProspecting.Item.ItemBetterErProspectingPick.addMiscReadings(ICoreServerAPI sapi, IServerPlayer serverPlayer, PropickReading readings, BlockPos pos, List`1 delayedMessages) in C:\Users\Ilya\source\repos\BetterErProspecting\BetterErProspecting\BetterErProspecting\Item\ProspectingManager.cs:line 163
at BetterErProspecting.Item.ItemBetterErProspectingPick.ProbeBlockDensityMode(IWorldAccessor world, IPlayer byPlayer, ItemSlot itemslot, BlockSelection blockSel, Int32& damage) in C:\Users\Ilya\source\repos\BetterErProspecting\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 218
at BetterErProspecting.Item.ItemBetterErProspectingPick.OnBlockBrokenWith(IWorldAccessor world, Entity byEntity, ItemSlot itemslot, BlockSelection blockSel, Single dropQuantityMultiplier) in C:\Users\Ilya\source\repos\BetterErProspecting\BetterErProspecting\BetterErProspecting\Item\ItemBetterErProspectingPick.cs:line 110
at Vintagestory.Server.ServerSystemBlockSimulation.TryModifyBlockInWorld(ServerPlayer player, Packet_ClientBlockPlaceOrBreak cmd) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 580
at Vintagestory.Server.ServerSystemBlockSimulation.HandleBlockPlaceOrBreak(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 409
at Vintagestory.Server.ServerMain.HandleClientPacket_mainthread(ReceivedClientPacket cpk) in VintagestoryLib\Server\ServerMainNetworking.cs:line 280
at Vintagestory.Server.ServerMain.ProcessMain() in VintagestoryLib\Server\ServerMain.cs:line 934
16.9.2025 19:13:13 [Server Event] Client 6 disconnected.
Error in TryFinishEatMealPostfix: Object reference not set to an instance of an object.
CircuitPwne, Sep 14th 2025 at 4:21 PM

0.9.0 backport is a godsend, thank you very much KnewOne

KnewOne , Sep 12th 2025 at 7:55 PM

Dragonchampion check 0.9.0

Dragonchampion, Sep 12th 2025 at 5:36 PM

Can you please make a 1.20 backported version?

KnewOne , Sep 9th 2025 at 8:24 PM (modified Sep 9th 2025 at 8:24 PM)

berserkus well it shouldn't fail to load or break any logic. By the looks, jayu simply reads data manually, so he's not even accessing basegame's genproberesults, so i can't even hijack that.

The immersion answer is that you'll get fake data as well, but that's because it got moved there by a river

berserkus, Sep 9th 2025 at 8:06 PM

would something like Pan and Prospect work with this?

KnewOne , Sep 9th 2025 at 6:01 PM (modified Sep 9th 2025 at 6:17 PM)

Interesting Ore Gen won't work with this for now beacuse it doesn't work with vanilla generator either. Ross will need to integrate with this

Until then i recommend using "above traces" mode if you're using IOG. If you want to see PPT, you would need to toggle upscaling to poor level too. PPT is still reliable though

KnewOne , Sep 9th 2025 at 4:30 PM

FatherSarge i won't be adding support for other prospecting mods. The whole reason i made this was to reduce prospecting mod bloat. I don't mind adding more mods to this mode to accomodate different interests, so long as i doesn't clash with my design philosophy. The line from that mode is what inspired borehole. I made the specific decision to avoid allowing it to go sideways and that won't change. As for the area, which is basically the node mode with a different config value, i'd rather not touch that unless i want to.

 

For the tin: that is probably a bug, i'll investigate why it's not reading. Please, use the debug mode in the future to make this faster

FatherSarge, Sep 9th 2025 at 2:44 PM

It might sound a little overkill... but would it be possible to make this compatible with the various modes available in Absolute Prospecting? I believe the modes in there are additive so it may work out the box if you mod doesn't replace everything.

Thanks for taking a stab at the current state of density mode! And I can confirm it works with Better Prospecting just fine.

For anyone trying to use this with Interesting Ore Gen... it is going to miss ore (staring at a huge amount of tin with no blip in the reading). Hopefully Ross can make them work together now.

KnewOne , Sep 7th 2025 at 7:10 PM

TotallyNotASmurf krill issue

KnewOne , Sep 7th 2025 at 7:08 PM

Lielac yeah aquifers just work like that. They don't have any world blocks to them so they can't be counted.

Anyways, it works now, but it's a lot of reflection, so it might be unnoticeably slower. Should be somewhat better sometime soon when the dev does refactoring and makes it easier to work with

TotallyNotASmurf, Sep 7th 2025 at 1:18 PM

Insanely enough, I am getting some really bad readings with density search on my current world's vicinity. Its been 13 hours...and no copper vein in sight. 

KnewOne , Sep 7th 2025 at 12:35 PM

Maeyanie oh same thing as vanilla yes. Kinda have to agree with how base game does this tbh

Lielac, Sep 7th 2025 at 11:58 AM
  1. This mod helped me find my first halite
  2. This mod isn't compatible with Hydrate or Diedrate (modded density mode doesn't report on aquifer strength)
Maeyanie, Sep 7th 2025 at 11:26 AM (modified Sep 7th 2025 at 11:31 AM)

Don't forget that those are ppt, not percentages.

That would be what "per-mille" means, yes. "%o" is just the closest I can get to the right symbol on a standard keyboard, and shouldn't be interpreted as me saying "per-cent o"... I'm not quite that dumb. 😉

But, I think I may not have been clear enough with that post... I mean that calling 89.66 per-mille "very poor" (especially while a significantly lower value is only "poor"), or calling 0.07 per-mille "ultra high" is kind of hilarious.

However, If you're using the vanilla descriptions combined with accurate per-mille values, then yeah, I'd consider that an expected interaction, not a bug in need of fixing.

KnewOne , Sep 7th 2025 at 8:41 AM

Who knows, that might be mostly fine. Don't forget that those are ppt, not percentages. And the mod generates enormous structures spanning more than one chunk

Maeyanie, Sep 7th 2025 at 8:24 AM (modified Sep 7th 2025 at 8:26 AM)

After trying it out with Interesting Ore Gen, yeah, the per-mille appears correct, but the text description can be hilariously wrong.

It's not letting me conveniently post a screenshot, but I've seen things like "Very poor Native copper (89.66%o)", "Poor Native copper (64.55%o)" and "Ultra high Silver (0.07%o)"

KnewOne , Sep 6th 2025 at 9:50 PM

TotallyNotASmurf i have not tested, but non-disc deposits will always have real PPT, but factor - the density of the node - will be same as if you didn't use the new mode. Unfortunately i can't really calculate factor without digging deeply in generators of other mods and to be honest, figuring it out in reverse would be very exhausting. I have added a simple interface that any mod can use to notify of the generation average irrespective of heatmaps and rock column in the mined block

TotallyNotASmurf, Sep 6th 2025 at 1:27 PM

This mod sounds really cool and doesn't sound as broken as Better Prospecting. Wonder how this would work with Interesting Ore Gen. 

KnewOne , Sep 6th 2025 at 11:49 AM

For now the rarity (very poor-ultrahigh) might misalign with what you're used to with regards to ppt values, so try to focus on ppt when considering dig site. I have an idea to remedy this, but right now it'll do.

KnewOne , Sep 6th 2025 at 11:11 AM (modified Sep 6th 2025 at 11:14 AM)

Rikaiu mod can be added or removed, the new density mode can be toggle on and off and it will be alright. The only disclaimer is that this density mode and vanilla's density mod output different values and i can't reprocess previous values, so for any readings done with the vanilla density you need to use the new density reading mode to get mod's results

 

TLDR vanilla readings are V1, this is V2. If you have V1 reading you need to do new density in the same spot to get V2 on your map. If you remove the mod, the reading will remain V2, if you redo reading with vanilla density mode you'll overwrite with V1

Rikaiu, Sep 6th 2025 at 10:54 AM

is this safe to add to a new save? can't wait to use this with interesting ore generation

Lhosson, Sep 6th 2025 at 10:01 AM

I find the vanilla version of prospecting to be incredibly tedious, but respect that it's an important part of the spirit of the game. This mod sounds really intriguing. I'm excited to see how it changes the mining side of things. Thanks for making it! :)

KnewOne , Sep 6th 2025 at 9:08 AM

FatherSarge i would need to test, but seeing how prospecttogether relies on what it's been sent, and i'm stepping in and sending manually, it should integrate without any additional code

FatherSarge, Sep 6th 2025 at 5:34 AM

Interesting! Will have to give it a try. Does it integrate with ProspectingTogether as well?