Veinminer

Veinminer is a configurable mining mod that lets you break entire veins with a single block break. It keeps the grind down while giving server owners clear controls, limits, and permissions.

359,71k

Quick challenge

How far can you run before the mobs catch you?

Veinminer

⛏ Veinminer

Veinminer is a configurable mining mod that lets you break entire veins with a single block break. It keeps the grind down while giving server owners clear controls, limits, and permissions.

---

⚙️ Key Features

- 🧱 Live Reloads — mines adjacent matching blocks with TPS-aware block caps. - 🛠️ Live Reloads — crouch or hotkey; hold or toggle modes per player. - 🙌 Live Reloads — trigger without holding a tool (optional). - 🧰 Live Reloads — global and per-tool lists can be whitelist or blacklist. - 🪓 Live Reloads — different block sets per tool; seeded defaults. - ⚡ Live Reloads — honors enchants; optional durability guard. - 🔁 Live Reloads — optional cooldown; static or dynamic max blocks. - ✴️ Live Reloads — server-driven outline with color + duration controls. - 🔐 Live Reloads — optional integration for permissions. - 🧪 Live Reloads — quick command to verify behavior and responses. - 🔄 Live Reloads — `/veinminer reload` with file/line reporting on errors.

> Works server-side out of the box. Optional client mod adds the hotkey (default V).

---

🔧 Configuration & Commands

Command quick reference

| Command | Description | | --- | --- | | `/veinminer help` | List commands. | | `/veinminer reload` | Reload config without restart (errors show file/line). | | `/veinminer test` | Run a quick behavior check. | | `/veinminer toggle` | Toggle Veinminer for yourself. | | `/veinminer blocks add/remove/list <block>` | Manage global block list (whitelist/blacklist). | | `/veinminer tools add/remove/list <item>` | Manage allowed tools. | | `/veinminer settings blockpertool` | Toggle per-tool block logic. | | `/veinminer settings cooldown enable|disable` | Turn cooldown on or off. | | `/veinminer settings cooldown set <seconds>` | Set cooldown time. | | `/veinminer settings maxblocks <number>` | Set hard cap per activation. | | `/veinminer settings luckperms enable|disable` | Toggle LuckPerms integration. | | `/veinminer blockpertool blocks <tool> add/remove/list <block>` | Per-tool block lists. | | `/veinminer blockpertool tool add/remove/list <tool>` | Manage tools in per-tool mode. | | `/veinminer particles enable|disable` | Toggle vein outline particles. | | `/veinminer particles setcolor <r> <g> <b>` | RGB color for outline. | | `/veinminer particles setduration <ticks>` | Outline lifetime. | | `/veinminer togglemessages permission|disabled|cooldown` | Toggle specific chat tips. |

---

Config files

Written to `config/Veinminer/` (TOML) on first run.

Spoiler

- GeneralConfig.toml - `veinminerEnabled` true - `requireCrouch` true - `checkToolDurability` true, `durabilityCap` 1, `durabilityThreshold` `ABSOLUTE` - `cooldownEnabled` false, `cooldownSeconds` 5 - `dynamicMaxBlocks` false, `maxBlocks` 64, `minBlocks` 16, `maxDynamicBlocks` 64 (TPS-aware) - `enableParticleOutline` true, `particleDurationTicks` 60, `particleRed` 255, `particleGreen` 0, `particleBlue` 0 - `autoLuckPerms` false - `blocksPerTool` false - `whitelistMode` true/false for global and per-tool lists - `activationMode` crouch/keybind with hold/toggle options - `emptyHandEnabled` false

- AllowedTools.toml - Defaults: all pickaxes (wood → netherite).

- AllowedBlocks.toml - Defaults: overworld ores, deepslate variants, nether gold/quartz/gilded blackstone/ancient debris.

- AllowedBlocksPerTool.toml - Populated when per-tool mode is enabled, seeded from defaults.

---

🛡️ Permissions

Spoiler

General

- `veinminer.use` - `veinminer.reload` - `veinminer.settings.manage` - `veinminer.*`

Blocks

- `veinminer.blocks.manage` - `veinminer.blocks.add` - `veinminer.blocks.remove` - `veinminer.blocks.list` - `veinminer.blocks.*`

Tools

- `veinminer.tools.manage` - `veinminer.tools.add` - `veinminer.tools.remove` - `veinminer.tools.list` - `veinminer.tools.*`

Per-Tool

- `veinminer.blockpertool.manage` - `veinminer.blockpertool.blocks.add|remove|list` - `veinminer.blockpertool.tools.add|remove|list` - `veinminer.blockpertool.blocks.*`, `veinminer.blockpertool.tools.*`

Particles

- `veinminer.particles.manage` - `veinminer.particles.enable`, `veinminer.particles.disable` - `veinminer.particles.setcolor`, `veinminer.particles.setduration`

---

🧱 Compatibility

- ✅ Minecraft 1.20.x, 1.21.x - ✅ Fabric builds available - ✅ NeoForge builds available - ✅ Works on dedicated servers and single-player (integrated server) - ❌ No Forge builds planned.

---

🖥️ Client Optional

Installing the client build enables the hotkey and sends key state to the server. Default key: V. Without the client, crouch-to-activate is available via `requireCrouch` for a vanilla-only experience.

---

📌 Planned

- 🌐 Translations - ✨ Veinminer enchantment

---

🤔 Considering

- 🕹️ Client-side visual cues - 📊 Mining stats

---

📥 Installation

1. Download the latest build for your platform. 2. Drop the jar in `/mods`. 3. Restart the server or client. 4. Configure with commands or edit the TOML files.

---

💬 Support

Discord: https://discord.gg/43nu6wSWRC

---

🧰 Other Projects

- 🔨 Hammer Mining — 3×3 breaking via enchant.

ADS