Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for LucasTHCR

Break one ore, mine the whole vein. Fortune-aware, Unbreaking-aware, configurable in one config.yml.

Report CaveMiner?

Discord Release Downloads License

Built with Java 21 Available for Paper Available for Purpur Available for Spigot Available for Bukkit Available for Folia

Chat with us on Discord Available on Codeberg

# 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 toggle Switch vein mining off or on for yourself caveminer.toggle
/caveminer toggle Switch vein mining off or on for yourself caveminer.toggle
/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
%caveminer_enabled% false while the player switched vein mining off
%caveminer_enabled% false while the player switched vein mining off

Configuration

config.yml is documented inline. The parts worth knowing:

  • max-chain-size caps 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-variants treats DIAMOND_ORE and DEEPSLATE_DIAMOND_ORE as the same vein, so an ore pocket sitting on the deepslate border is not cut in half.
  • sneak.required and sneak.sneak-activates decide whether the sneak key turns vein mining on or off.
  • disabled-worlds lists worlds where vein mining never triggers.
  • hunger.exhaustion-per-block makes every extra block cost hunger; 0.005 matches mining by hand.
  • drops.all-at-source-block collects the whole vein's loot at the block you broke. Experience orbs follow the drops.
  • ore-tool-map lists 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-<version>.jar. paper-api and PlaceholderAPI are provided and stay out of it.

License

GNU General Public License v3.0. See LICENSE.

Information

Category
Gameplay
Published
August 7, 2026
License
149Downloads
0Stars

Pinned Versions

Members

1