TechFreqs Proximity Ore Detector

7 days to die techfreqs proximity ore detector

The TechFreqs Proximity Ore Detector Mod V6(v1.3), is a mod that adds a proximity-based ore detection in the game. With a configurable and toggleable button, when enabled, it scans the surrounding area for specific ores (Iron, Coal, Lead, Oil Deposit, and PotassiumNitrate ) displays on the screen with icon and distance.

FunFact:
This was intended for late game and night mining with the night vision mod, but i suppose users deemed to be reliable during the day instead from previous revision but its now better!.
The ore detector mod used to require a helmet with a Night Vision Mod to function. Configurable config.json to adjust radius & keybindings but not anymore lol

Latest Changelog:
V6(v1.3)
Introducing clustering, ores are now clustered between types finds block calculates the amount in the area and lists a single ore chunk , within radius aswell as a hotzone for nearby the cluster.

Overall Features:
Proximity Detection and On-Screen Display::
Scans for ores within a configurable radius (default: 15m).
Detects Iron, Coal, Lead, Shows detected ores with icons and distance. “Ore” X.Xm (Radius: Ym) [Hot Zone]” and existing ui icons such as uses ui_game_symbol_map_treasure icon.
Enable/disable the detector with a configurable key (default: Keypad6).
Current version does not requires a helmet with a Night Vision Mod for your helmet as it’s not necessary.

Logging:
Logs each ore type only once per session to avoid spam.
Example: [TechFreqsProximityOreDetector] Iron ore found. in F1 logs

Tooltips:
Displays a tooltip when the detector is enabled/disabled.
Enabled: [TechFreqsProximityOreDetector] Ore Detector Enabled! Happy Detecting!
Disabled: Ore Detector Disabled.

Technical Details:
Dependencies:
HarmonyLib for patching EntityPlayerLocal.Update and NavObject.IsValidPlayer.
Newtonsoft.Json for config parsing.
Game assemblies: Assembly-CSharp.dll, UnityEngine.dll.
Config: config.json in the mod folder allows customization of ToggleKey (default: Keypad6) and DetectionRadius (default: 15m, min 5m).
Slot Access: Uses EntityPlayerLocal.equipment.GetItems() to check gear, with gear[0] as the Head slot based on your log.

Installation:
Make sure harmony mod exist in the mod directory as it’s required.
Download the mod files, Extract Mod files.
Please backup your world, save, and or game files.
Place them in your Mods directory of your 7 Days to Die Game.
EAC must be disabled, although i hope in the future that can be changed, as for now DLLS are not EAC supported however XML has no issue, unfortunately this is a dll modification.
THIS IS CLIENT SIDE ONLY but maybe perhaps this is also, server side and client side compatibility?
No further setup needed. Enjoy!

Disclaimer:
By using this mod, you acknowledge that TechFreq is not responsible for any issues, crashes, or conflicts caused by its use.
Use at your own risk. Please backup your game files before installing any type of mod.
Thanks for downloading and enjoy!

Social Media:

If you appreciate ‘TechFreqs’ work and want to show support, use this donation link, although not necessary. Kofi Page: https://ko-fi.com/techfreq

I appreciate it in general for just checking out the mod posts, sharing and enjoying any of the mods in itself. Thank you again! and Happy gaming!

Love this mod? Got feedback or ideas or need to troubleshoot?

Chill with us on Discord for game chat, memes, and even more mod updates!

Join the TechFreq Pretty Rad Squad Server! https://discord.com/invite/SQCnGjNUhw

As for TechFreqs music, it’s royalty-free music to use in your projects or for casual listening!

Source music files are available feel free to ask away, available in the discord! or for more content! TechFreqs Socials: https://beacons.ai/techfreq

Checkout the behind-the-scenes vibes today! Thank you again for checking out the mod post.

Previous Changelog:
As for V6 technically v1.2A
Changed updateInterval from 2f to 5f, so the detector updates less frequently, reducing the frequency of potential freezes.
Optimized Scanning:
Added a scanStep variable (set to 2) to sample every 2 blocks instead of every block, reducing the number of blocks checked from 29,791 to approximately 3,723 (a factor of 8 reduction).
Optimized Clustering:
Replaced the nested loop in the flood-fill algorithm with a check of only the 6 adjacent blocks (up, down, left, right, forward, backward), reducing the number of neighbor checks from 343 to 6 per block.
Used a HashSet<Vector3i> (oreBlockPositions) and a Dictionary<Vector3i, OreBlock> (oreBlocksMap) for faster lookups during clustering, avoiding the need to iterate over a list of ore blocks.
Preserved Accuracy:
The sampling approach might miss very small clusters (less than 2x2x2 blocks), but the neighbor check around detected ore blocks ensures we still find most clusters. The clusterDistance and minClusterSize settings still apply, so clusters must be at least 5 blocks to be displayed.

Added more to config json
The detectionRadius of 15 blocks might still be too large for some systems, especially in dense biomes with many ore deposits. You can reduce it in the config.json file:

{
“ToggleKey”: “Keypad6”,
“DetectionRadius”: 10.0, // Reduced from 15.0 to 10.0
“ClusterDistance”: 3,
“MinClusterSize”: 5
}

As for V5 technically v1.2
same functionality without the nightvision mod required.

As for V4 technically v1.1A:
including Oil Deposits, formely oil shale and PotassiumNitrate in V1.1 as i had forgotten to include those initially too, i had the rest of ores but those two.
again ores, not boulders.

7 days to die techfreqs proximity ore detector additional screenshot 1

7 days to die techfreqs proximity ore detector additional screenshot 2

7 days to die techfreqs proximity ore detector additional screenshot 3

DOWNLOAD from ModsFire (Support me via this link) (11 KB)
DOWNLOAD from Mega (11 KB)

Credits: TechFreq

Share this with your friends:
Subscribe
Notify of
guest

If you have any questions or have any problems/bugs, please use the support link (Discord, Forum Topic, GitHub Issues, etc.) in the post. If there is no support link in the post, please use the comments section.

0 Comments
Inline Feedbacks
View all comments