Minecraft Forge's VeinMiner recreated for Spigot servers.
Minimum Java Version: Java 17
Legacy (Minecraft 1.13.x - 1.16.x): VeinMiner 1.17.10 (
download)
Legacy (Minecraft 1.8.x - 1.12.x): VeinMiner 1.11.3 (
download)
Collects anonymous statistics: https://bstats.org/plugin/bukkit/VeinMiner- Typical bStats information
- Types of blocks mined in the previous update cycle
- The amount of players actively using the optional client mod
- Names and versions of installed anti cheats
Overview:VeinMiner introduces a vanilla-friendly mechanic that allows players to instantly
mine groups of
adjacent blocks, saving nothing more than precious time. Groups of ores, large trees, vast crop fields, and more. Each tool can have its own
configurable block list allowing for limitless possibilities. This is a fantastic perk for Prison, Factions and Semi-Vanilla servers that isn't overpowered but still gives players a rewarding benefit for donating to your server.
Features In Brief:
[*]Efficient mining of similar blocks in quick succession
[*]Powerful configuration for custom tool categories and block lists
[*]A variety of mining patterns to mine cubic regions, tunnels, or staircases
[*]Optional economy support
[*]Optional client-sided mod for custom keybinds (link)
[*]A developer API for custom mining patterns and behaviors
[*]Drag-and-drop installation with no additional steps for server owners by default
[*]Native Anti Cheat and PlaceholderAPI support
using vein miner to break a cluster of diamonds in sneak modeCommands:
[*][ICODE]/veinminer ...[/ICODE]
[LIST]
[*][ICODE]/veinminer reload[/ICODE]
[LIST]
[*]Reload the config.yml and categories.yml and apply any changes you've made in the file
[*]Permission: veinminer.command.reload
[*][ICODE]/veinminer version[/ICODE]
[*]View version and developer information about VeinMiner
[*][ICODE]/veinminer toggle [tool][/ICODE]
[*]Enable or disable vein mining
[*]If provided, toggle a specific tool
[*]Permission: veinminer.command.toggle
[*][ICODE]/veinminer mode
[/ICODE]
[*]Change the way vein mining should be activated
[*]To use "client", the VeinMiner Companion Mod must be installed on your client
[*]Permission: veinminer.command.mode
[*][ICODE]/veinminer pattern [/ICODE]
[*]Change the way vein mining will search for and break blocks
[*]Patterns may be registered by add-ons, but VeinMiner provides "default", "tunnel", "staircase_up" and "staircase_down"
[*]Permission: veinminer.command.pattern
[*][ICODE]/veinminer givetool [amount][/ICODE]
[*]Give yourself a tool from the given category (useful for tools with NBT)
[*]Permission: veinminer.command.givetool
[*][ICODE]/veinminer import[/ICODE]
[*]A tool for VeinMiner versions prior to 2.0.0 to import legacy JSON data into the new SQLite format
[*]Permission: veinminer.command.import
[*][ICODE]/veinminer blocklist ...[/ICODE]
[*]Mirrors [ICODE]/blocklist[/ICODE] below
[*][ICODE]/veinminer toollist ...[/ICODE]
[*]Mirrors [ICODE]/veinminer toollist[/ICODE] below
[/LIST]
[*][ICODE]/blocklist ...[/ICODE]
[*][ICODE]/blocklist add [/ICODE]
[LIST]
[*]Add a vein mineable block to the given category
[*]Blocks can be simple ids like [ICODE]minecraft:stone[/ICODE], or with states like [ICODE]minecraft:chest[waterlogged=true][/ICODE]
[*]Permission: veinminer.command.blocklist
[*][ICODE]/blocklist remove [/ICODE]
[*]Remove a block from the given category
[*]Blocks can be simple ids like [ICODE]minecraft:stone[/ICODE], or with states like [ICODE]minecraft:chest[waterlogged=true][/ICODE]
[*]Permission: veinminer.command.blocklist
[*][ICODE]/blocklist list[/ICODE]
[*]List all blocks (and block states) that are vein mineable with the given category
[*]Permission: veinminer.command.blocklist
[/LIST]
[*][ICODE]/toollist ...[/ICODE]
[*][ICODE]/toollist add - [/ICODE]
[LIST]
[*]Add an item to the given category's tool list
[*]Permission: veinminer.command.toollist
[*][ICODE]/toollist remove - [/ICODE]
[*]Remove an item from the given category's tool list
[*]Permission: veinminer.command.toollist
[*][ICODE]/toollist list[/ICODE]
[*]List all items useable for the given category
[*]Permission: veinminer.command.toollist
[/LIST]
[/LIST]
Permissions:
(default) veinminer.veinmine.*: Allows players to use vein miner with all tools
[*](default) veinminer.veinmine.: Allows players to use vein miner with a specific tool
[LIST]
[*]veinminer.veinmine.pickaxe
[*]veinminer.veinmine.shovel
[*]... etc ...
[/LIST]
(default) veinminer.pattern.*: Allows players to use all vein mining patterns
[*](default) veinminer.pattern.: Allows players to use a specific vein mining pattern
[LIST]
[*]veinminer.pattern.default
[*]veinminer.pattern.tunnel
[*]veinminer.pattern.staircase_up
[*]veinminer.pattern.staircase_down
[*]... etc ...
[/LIST]
(nobody) veinminer.free.*: Exempts players from the various costs of using vein miner (if set)
[*](nobody) veinminer.free.economy: Exempts players from economic costs (if set)
[*](nobody) veinminer.free.hunger: Exempts players from additional hunger costs (if set)
(default) veinminer.client.*: Allows players to use all client mod functionality
[*](default) veinminer.client.activation: Allows players to activate vein miner with a custom key bind
[*](default) veinminer.client.patterns: Allows players to switch patterns with a custom key bind
[*](default) veinminer.client.wireframe: Allows players to render a wireframe around targeted vein mineable blocks
(op) veinminer.command.reload: Grants access to the /veinminer reload command
(op) veinminer.command.blocklist: Grants access to the /veinminer blocklist and /blocklist commands
(op) veinminer.command.toollist: Grants access to the /veinminer toollist and /toollist commands
(op) veinminer.command.import: Grants access to the /veinminer import command
(op) veinminer.command.givetool: Grants access to the /veinminer givetool command
(default) veinminer.command.toggle: Grants access to the /veinminer toggle command
(default) veinminer.command.mode: Grants access to the /veinminer mode command
(default) veinminer.command.pattern: Grants access to the /veinminer pattern command
using vein miner to create a staircase in stone using the companion mod activation mode (custom keybind) and finding iron ore
Configuration:
VeinMiner is split up into two configuration files: the [ICODE]config.yml[/ICODE], where you'll find configuration options to adjust the behaviour of VeinMiner, and the [ICODE]categories.yml[/ICODE], where you'll find configuration options to adjust the list of tools and blocks for vein mining categories, or to create your own categories.
"YAML"
"YAML"
Supported Anti Cheats:
VeinMiner natively supports many popular anti cheats so that your players will not be flagged with "fast break" (or whatever the equivalent flag is for your anti cheat of choice). If the anti cheat you are using is not listed here, there is a high chance that players using vein miner will be false flagged for breaking blocks too quickly. If you want another anti cheat added to this list, please request it be supported either in the Discussion Thread, on Discord, or on GitHub as an issue.
[/LIST]
Placeholders (PlaceholderAPI):
VeinMiner happily supports PlaceholderAPI with the following placeholders
[*][ICODE]%veinminer_enabled%[/ICODE]: Whether or not VeinMiner is toggled on
[*][ICODE]%veinminer_enabled_%[/ICODE]: Whether or not VeinMiner is toggled on for a given category
[*][ICODE]%veinminer_active%[/ICODE]: Whether or not VeinMiner is active (e.g. the player has the keybind pressed)
[*][ICODE]%veinminer_vein_mining%[/ICODE]: "true" or "false" depending on whether or not the player is currently vein mining. Only true for a brief moment in time
[*][ICODE]%veinminer_vein_mineable%[/ICODE]: Provides [ICODE]true[/ICODE] if the player's target block is vein mineable with the tool in hand, or [ICODE]false[/ICODE] otherwise. Requires player
[*][ICODE]%veinminer_vein_mineable_%[/ICODE]: Provides [ICODE]true[/ICODE] if the player's target block is vein mineable with the specified category, or [ICODE]false[/ICODE] otherwise. Requires player
[*][ICODE]%veinminer_using_client_mod%[/ICODE]: "true" or "false" depending on whether or not the player is using the client mod
[*][ICODE]%veinminer_pattern%[/ICODE]: The key of the player's selected vein mining pattern
[*][ICODE]%veinminer_activation_strategy%[/ICODE]: The name of the player's selected method of activation ("Sneak", "Client", "Always", etc.)
[*][ICODE]%veinminer_category%[/ICODE]: Provides the name of the category of the tool in the player's hand. Requires player
[*][ICODE]%veinminer_cost%[/ICODE]: Provides the cost of vein mining
[LIST]
[*]If a player is specified, provides the cost of the tool in the player's main hand (or the globally configured cost if no category is in hand) accounting for the "free economy" permission
[*]If a player is NOT specified, provides the cost of the globally configured cost
[*][ICODE]%veinminer_cost_%[/ICODE]: Provides the cost of vein mining for the specified category
[*]If a player is specified, accounts for the "free economy" permission
[*][ICODE]%veinminer_max_vein_size%[/ICODE]: Provides the maximum amount of blocks mineable in a single vein mine
[*]If a player is specified, provides the max vein size of the tool in the player's main hand (or the globally configured max vein size if no category is in hand)
[*]If a player is NOT specified, provides the globally configured max vein size
[*][ICODE]%veinminer_max_vein_size_%[/ICODE]: Provides the max vein size of the specified category
[/LIST]
Think we're missing a placeholder? Please make a feature request either in the Discussion Thread, on Discord, or on GitHub as an issue.
VeinMiner API:
Javadocs, Source Code (GitHub), Protocol Documentation
Dependency information is as follows:
xml
groovy
kotlin
Contribute:
VeinMiner has been happily open sourced for a long time and is ready to be contributed to! If you are a VeinMiner API user or if you are simply interested in the code that goes behind the inner-workings of this plugin, its source code is available on GitHub for you to browse and hack away at. You can find the source code by going to VeinMiner's public repository. If you are familiar with Git, you are free to clone, fork, or make a pull request to VeinMiner. If I approve of any changes you decide to pull request, I may consider merging the changes into the main branch and uploading a version with your code. You will be credited in the very next changelog, as well as a link to your PR.
Support Me:
This resource is brought to you free of charge without any obligation to pay anything! I love to provide free resources such that people are enjoying it on their servers. Unfortunately, not everything in life is free and I do need some monetary support of some kind to host my development servers. If you enjoy this project and what it provides to your server, please consider sponsoring me on GitHub as a little thank you for my hard work. I spent countless hours working on this project and all of it is provided without asking for anything.
Donating is not a requirement, and I do not expect anyone to donate. If you so chose to donate out of your own good will, I greatly appreciate the support, and I hope that you enjoy this resource as much as I do developing it! Thank you!
FAQ:
Can you add a customizable keybind instead of Shift? Tilda? A mouse button?
[*]Yes you can! Though not from the server. VeinMiner is a server-sided mod and cannot listen for key presses, therefore in order to support custom keybinds, your players are able to install a client-sided Fabric mod. This mod is entirely optional but allows your players to use custom keybinds. For those without the mod installed, they will need to use the activation strategy specified in your configuration. Unfortunately this is the only way to support this feature.
You can find the VeinMiner Companion Mod here:
https://www.curseforge.com/minecraft/mc-mods/veinminer-companion
When will you support modded blocks?
[*]Never. Sorry. This is not technically possible unless VeinMiner is built for Sponge, though I have no plans on doing so. If you want to have this plugin vein mine modded blocks, it's likely you're running a modded server. Use portablejim's VeinMiner mod, Ore Excavation, or FTB Ultimine for Forge instead. This plugin will serve no purpose compared to these mods.
Do enchantments (vanilla and custom) work with VeinMiner?
[*]Yes! Enchantments like Fortune and Silk Touch are respected when vein mining. Depending on how they're made, custom enchantment plugins should work too.
Can I give VeinMiner only to a specific group of players?
[*]By default, VeinMiner grants permission to all players so that everyone can use it without needing a permission plugin. You can, however, negate the [ICODE]veinminer.veinmine.*[/ICODE] permission node from the default group and re-add it to another group. How you do this will vary from permission plugin to permission plugin, but for LuckPerms you would just have to use [ICODE]/lp group default permission set veinminer.veinmine.* false[/ICODE], then re-add it to whichever group you want to allow to use it. See above for information on all available permission nodes.
Why can't I vein mine ?
[*]VeinMiner provides you with a default block list for blocks that makes the most sense. If a block is not vein mineable, it's probably not on the block list. You can add it with the command [ICODE]/veinminer blocklist add [/ICODE]
Does VeinMiner support McMMO?
[*]Yes, McMMO is supported and players will gain experience for each broken block. If you find that to be too overpowered, there's a configuration option to nerf McMMO's level gain and only grant XP to players for the first block they broke
For any further questions, please don't hesitate to join the Discord server.
[ATTACH]815386[/ATTACH] (
link)
I am in no way related to or in collaboration with the Minecraft Forge VeinMiner project or its creator portablejim. This is a recreation of a popular mod to be enjoyed on CraftBukkit, Spigot, and Paper servers.