CaveMiner
Break one ore, get the whole vein. CaveMiner chains connected ore blocks into a single mining action, keeps the tool's durability and enchantments honest, and drops the loot either where each block stood or all at once at your feet.
Every chained block is announced as a normal block break event, so region protection, claim plugins and block loggers see the vein exactly as they would see a player mining it by hand - a vein that runs into someone else's claim stops at the border instead of tunnelling through it.
Requirements
- Spigot, Paper or a fork on Minecraft 1.21+
- Java 21
- PlaceholderAPI (optional, only for the placeholders)
Commands
| Command | Description | Permission |
|---|---|---|
/caveminer stats |
Show your own mining statistics | - |
/caveminer reload |
Reload config.yml |
caveminer.reload |
/cm is an alias. Vein mining itself needs caveminer.use, which defaults to
true; caveminer.reload defaults to op.
Placeholders
| Placeholder | Value |
|---|---|
%caveminer_blocks_mined% |
Blocks broken through vein mining |
%caveminer_veins_triggered% |
Number of veins triggered |
Configuration
config.yml is documented inline. The parts worth knowing:
max-chain-sizecaps how many blocks one vein may cover. The search never loads a chunk that is not already loaded, so a vein simply stops at the edge of loaded terrain instead of generating it on the main thread.merge-deepslate-variantstreatsDIAMOND_OREandDEEPSLATE_DIAMOND_OREas the same vein, so an ore pocket sitting on the deepslate border is not cut in half.sneak.requiredandsneak.sneak-activatesdecide whether the sneak key turns vein mining on or off.drops.all-at-source-blockcollects the whole vein's loot at the block you broke. Experience orbs follow the drops.ore-tool-maplists which ores chain at all and which tools are allowed. An empty tool list means any tool - and bare hands - will do.
Drops and experience come from the block's own loot table, so Fortune and Silk Touch behave exactly as they do in vanilla.
Durability
Each chained block costs one point of durability, Unbreaking included. The block that finally breaks the tool is still mined, the chain stops after it.
Statistics
stats.yml keeps the counters across restarts. Only online players are held in
memory; on quit their values move back into the file, which is written every five
minutes and on shutdown.
Building
mvn clean package
The jar lands in target/caveminer-1.1.0.jar. paper-api and PlaceholderAPI are
provided and stay out of it.
License
GNU General Public License v3.0. See LICENSE.

