Compatibility
Minecraft: Java Edition
Platforms
Links
Tags
Creators
Details
BlockSeek
A highly specialized datapack for chunk-by-chunk world scanning with coordinate output for specified blocks. Area selection is performed using a Carrot on a Stick, while the target block is designated by the item held in the offhand.
Overview
The BlockSeek datapack provides players with a powerful tool for automated block detection within a defined rectangular area.
- Intuitive Selection: Scanning boundaries are set analogously to WorldEdit (using two diagonal points).
- Process Automation: The player is teleported across chunks at a configurable speed, and the coordinates of discovered blocks are automatically broadcast to the chat.
- Data Persistence: All results are recorded in the game logs (
latest.log), allowing for easy manual extraction or parsing via an accompanying script.
⚠️ CRITICAL PRE-INSTALLATION NOTICE It is strictly recommended to create a full backup of your world folder before installing and initializing the BlockSeek datapack. Because the scanning algorithm physically replaces found blocks, intensive processing, potential tick timeouts, or unexpected game crashes could lead to save file corruption (e.g.,
level.datdamage) or unintended modifications to your builds. Having a backup guarantees the absolute safety of your world data.
How It Works
The algorithm is based on the /fill command to detect and spawn temporary entities (markers) within the target blocks.
- Full Vertical Scanning: The scanning area is strictly confined to the X and Z coordinates of the two defined points, but encompasses the full vertical build limit of the chunks, scanning strictly from Y=-64 to Y=319.
- Destructive Marking Mechanic: To register and output the exact coordinates, the datapack replaces the discovered target block with a placeholder block (a Structure Block).
- Chunk Processing Speed: Flexibly adjustable (from 100 ms to 1 second per chunk) to adapt to system performance.
Installation
- Place the datapack archive or folder into your world's directory:
.minecraft/saves/<World_Name>/datapacks/ - Launch the world.
- Reload the datapack (recommended for proper initialization):
- If no other datapacks are installed:
/reload - If third-party datapacks are installed:
/datapack disable "file/BlockSeek"/datapack enable "file/BlockSeek"
- If no other datapacks are installed:
- Upon successful loading, an interactive message
[Get Tool]will appear in the chat. Click it to receive the Carrot on a Stick.
Usage Instructions
Phase 1: Preparation
- Press
F3 + Gto visualize chunk boundaries. - It is recommended to keep the debug screen (
F3) open for precise control of coordinates and orientation.
Phase 2: Area Selection
- Stand in the north-western (top-left) corner of the intended scanning area.
- Hold the Carrot on a Stick and perform one click (right-click) — Point 1 will be set.
- Move in a south-eastern direction (towards increasing X and Z coordinates).
- Perform one click to set Point 2.
-
Important: The X and Z coordinates of Point 2 must be strictly greater than the corresponding coordinates of Point 1. As mentioned above, the Y-axis is ignored during selection; the system will automatically scan the entire depth and height of the selected columns (Y=-64 to Y=319).
-
Emergency Stop: In case of an error at any stage, execute the command
/function blockseek:stopto reset the datapack's state.
Phase 3: Speed Configuration
After setting the points, a scanning delay selection menu will appear in the chat:
| Delay | Speed | Recommendation |
|---|---|---|
| 100 ms | 10 chunks/sec | Maximum speed. Requires high PC performance. |
| 250 ms | 4 chunks/sec | Increased speed. |
| 500 ms | 2 chunks/sec | Optimal (Default). |
| 1000 ms | 1 chunk/sec | Safe mode for lower-end systems. |
| (Reference: Standard chunk loading speed in vanilla Minecraft). |
Phase 4: Target Selection
- Place the desired block in your offhand.
- Warning: Avoid selecting ubiquitous blocks (stone, dirt, grass, etc.) if their concentration exceeds 10–50 per chunk. Processing thousands of matches will place a critical load on the server tick and may lead to freezing or a game crash.
- Build Protection Warning: Since the target block will be replaced by a Structure Block during scanning, do not select blocks that are integral to your architectural builds (e.g., specific wood types, decorative ores) unless you are prepared to restore them from a backup.
Phase 5: Launch and Process
- Click the interactive
[start scanning]button in the chat. - The player will begin automatically teleporting across chunks. The coordinates of discovered blocks will appear in the chat.
- Attention: Manual movement during the scanning process is not recommended. The algorithm will continue to function, but displacement relative to the chunk grid may occur.
Phase 6: Completion
Upon reaching the boundary of the area, the scanning will stop, and the datapack will automatically reload to reset its variables.
Output Format and Data Parsing
Each chat message is structured and contains a keyword, auxiliary markers, and coordinates. This format is optimized for subsequent parsing in text editors or scripts. All messages are duplicated in the latest.log file.
- Manual Extraction: Search by keyword using a text editor.
- Automation: You can use the accompanying script, which analyzes the log file, filters the lines, and exports the coordinates into a structured file on your desktop.
- Script Repository: https://github.com/LabloidMC/ExtractCoords
⚠️ Warnings and Limitations
- World Modification (Destructive Scanning): BlockSeek is not a passive observer. By utilizing the
/fillcommand to replace the target block with a Structure Block, the datapack physically alters the world. If you scan for a block used in player constructions, those builds will be damaged or overwritten. Always scan with caution and rely on your world backup to revert unintended changes. - Crash Risk: Scanning frequently occurring blocks at high speeds may cause RAM overflow or tick timeouts. In the event of a crash, remove the datapack from the
datapacksfolder, launch the world, restore the datapack, and retry at a lower speed. - Performance: Strictly adapt the scanning speed to the capabilities of your hardware.
- Multiplayer: The datapack is designed and tested exclusively for Singleplayer. Proper functionality on dedicated servers is not guaranteed, and conflicts with region protection plugins (e.g., WorldGuard) are highly likely due to the block-replacement mechanic.
Command Reference
| Command | Description |
|---|---|
/reload |
Full reload of all world datapacks. |
/datapack disable "file/BlockSeek.zip" |
Forcefully disable the datapack. |
/datapack enable "file/BlockSeek.zip" |
Enable the datapack. |
/function blockseek:stop |
Emergency process termination and state reset. |
Frequently Asked Questions (FAQ)
What should I do if I make a mistake during area selection?
Execute the stop command (/function blockseek:stop) or simply restart the world to reset the saved points.
Can I scan multiple areas in a single session? Yes. After the completion or forced termination of a scan, the datapack automatically resets its variables and is ready for a new cycle.
Why does the system warn against selecting stone or dirt? The algorithm spawns an entity for every discovered block and replaces the original block with a Structure Block. The instantaneous appearance of thousands of entities within a single chunk will place a critical load on the server thread, inevitably leading to a client crash. Furthermore, replacing thousands of structural blocks will severely corrupt the natural terrain generation. The datapack is intended for locating rare or specific structures.
Will this datapack damage my builds?
Yes, potentially. Because the /fill command is used to mark coordinates, any target block found within your builds will be replaced by a Structure Block. If you are scanning for a block type that you have used for building, expect those specific blocks to be overwritten.
Does BlockSeek work on servers?
Official support is limited to Singleplayer. On servers, conflicts with region protection plugins, anti-griefing measures, or entity limits will almost certainly prevent the /fill and teleportation mechanics from functioning correctly.


