VeinMiner 1.13.3

Minecraft Forge's VeinMiner recreated for CraftBukkit and Spigot servers!

  1. 2008Choco
    Native Minecraft Version:
    Tested Minecraft Versions:
    • 1.13
    Source Code:

    If you have ever used the Minecraft Forge mod, VeinMiner, this plugin aims to recreate exactly that in an efficient, flexible and feature-filled way. Anything you've ever seen from the VeinMiner mod should be in the VeinMiner plugin, of course with a few minor feature changes due to the limitations of server modifications. If you have not yet used the VeinMiner mod... play more mod packs.

    VeinMiner allows players to mine an entire vein of ores whilst sneaking and breaking an ore. It will break the entire vein when only needing to break one ore. Much like the original mod, there is an extremely powerful block list which can be modified in-game, as well as in the configuration file, to determine which blocks (and which data values) are capable of being vein mined. The lists are separated by tools and can be grouped by aliases to allow for a more flexible and simplistic mining experience. 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.

    DISCLAIMER: I am in no way related to or in collaboration with the Minecraft Forge VeinMiner project, or the creator portablejim. This is simply a recreation of a popular mod to be enjoyed on CraftBukkit / Spigot servers.


    Commands for VeinMiner are lacking in features, but they can be useful for configuring most of the resource without having to open the configuration file, and they accomplish their purpose.

    /veinminer [alias: "/vm"]:
    Description: The central command for VeinMiner that controls various aspects of the resource including block list manipulation, tool toggle, and basic information

    <reload> - Reload the plugin's configuration file and load everything back into memory
    <version> - Retrieve version information of the VeinMiner currently installed on your server
    <blocklist> <*category> - Categories are the same as those listed in the configuration file
    <add> minecraft:block[state=value] - Add a block to the tools block list (block states - the data in the [] - are optional)
    <remove> minecraft:block[state=value] - Remove a block from the tools block list (block states - the data in the [] - are optional)
    <list> - List all blocks currently on this category's block list​
    <toggle> [category] - Toggle vein miner on or off for all (or specific) categories
    <pattern> <namespace:key> - Set the pattern to be used while vein mining​
    - /veinminer blocklist pickaxe add stone
    - /veinminer blocklist shovel remove dirt 1
    - /veinminer toggle axe
    - /veinminer pattern veinminer:default[/SIZE]​


    Description: Allow the ability to use VeinMiner for all tools
    Default: All players have this permission by default
    veinminer.veinmine.pickaxe: Allow the ability to use VeinMiner for pickaxes
    veinminer.veinmine.axe: Allow the ability to use VeinMiner for axes
    veinminer.veinmine.shovel: Allow the ability to use VeinMiner for shovels
    veinminer.veinmine.shears: Allow the ability to use VeinMiner for shears
    veinminer.veinmine.hoe: Allow the ability to use VeinMiner for hoes
    veinminer.veinmine.hand: Allow the ability to use VeinMiner for materials in the hand category​

    Description: Allow access to the "/veinminer blocklist" sub-command, and all of its sub-commands, "add", "remove" and "list"
    Default: Operators have this permission by default
    veinminer.blocklist.add: Allow access to the "/veinminer blocklist add" sub-command
    veinminer.blocklist.remove: Allow access to the "/veinminer blocklist remove" sub-command
    veinminer.blocklist.list: Allow access to the "/veinminer blocklist list" sub-command​

    Description: Allow access to the "/veinminer reload" sub-command
    Default: Operators have this permission by default​

    Description: Allow access to the "/veinminer toggle" sub-command
    Default: All players have this permission by default​

    Description: Allow access to the "/veinminer pattern" sub-command
    Default: All players have this permission by default


    Code (YAML):
    MetricsEnabled: true
    : 'SNEAK' # The type of activation. Can be either "SNEAK" or "STAND"
    : false # Whether or not VeinMiner will stop vein mining if the tool reaches 1 durability while mining
    : true # Whether to search for blocks diagonally when vein mining
    : # A list of all worlds in which VeinMiner is disabled
    - WorldName

    # All tools may have optional tool templates which define a specific item for its category in order to use VeinMiner
    # All values for the template are optional. If not specified, it will not be checked.
    # How templates are checked is based on precedence. All possible precedences are as follows:

    # Precedence: GLOBAL - Only the global template is checked
    # Precedence: CATEGORY_SPECIFIC - Only the category-specific template is checked. If none, it defaults to VeinMiner's original behaviour
    # Precedence: CATEGORY_SPECIFIC_GLOBAL_DEFAULT - The category-specific template is checked first. If it doesn't match, the global template is then checked

    # An example of how to create templates is as follows
    : 'stone' <-- This type can be ANY type at all
    : "&6The VeinMining Stone" <-- Colour codes are supported
       - "Colours are supported in &8Lore as well!"
        - "Here is the second line of lore with &1colour!"
    : 'diamond_pickaxe' <-- This type MUST be one of the tools defined by the Pickaxe category (i.e. wood, stone, gold, iron, etc. pickaxes)
    : "&cVeinMiner Pickaxe"

    : 64 # The maximum size of a vein for this tool. (0 - size)
    : 64
    : 64
    : 64
    : 64
    : false # Whether blocks listed in "ALL" blocklist will be used for the hand or not

    : # A list of all blocks vein mineable by a pickaxe
        - 'minecraft:coal_ore'
        - 'minecraft:iron_ore'
        - 'minecraft:gold_ore'
        - 'minecraft:lapis_ore'
        - 'minecraft:redstone_ore'
        - 'minecraft:diamond_ore'
        - 'minecraft:emerald_ore'
        - 'minecraft:nether_quartz_ore'
    : # A list of all blocks vein mineable by an axe
        - 'minecraft:acacia_log'
        - 'minecraft:birch_log'
        - 'minecraft:dark_oak_log'
        - 'minecraft:jungle_log'
        - 'minecraft:oak_log'
        - 'minecraft:spruce_log'
        - 'minecraft:acacia_wood'
        - 'minecraft:birch_wood'
        - 'minecraft:dark_oak_wood'
        - 'minecraft:jungle_wood'
        - 'minecraft:oak_wood'
        - 'minecraft:spruce_wood'
        - 'minecraft:melon'
        - 'minecraft:pumpkin'
        - 'minecraft:carved_pumpkin'
        - 'minecraft:red_mushroom_block'
        - 'minecraft:brown_mushroom_block'
    : # A list of all blocks vein mineable by a shovel
        - 'minecraft:sand'
        - 'minecraft:gravel'
    : # A list of all blocks vein mineable by a hoe
        - 'minecraft:wheat[age=7]'
        - 'minecraft:potatoes[age=7]'
        - 'minecraft:carrots[age=7]'
        - 'minecraft:beetroots[age=3]'
        - 'minecraft:red_mushroom'
        - 'minecraft:brown_mushroom'
    : # A list of all blocks vein mineable by shears
        - 'minecraft:black_wool'
        - 'minecraft:blue_wool'
        - 'minecraft:brown_wool'
        - 'minecraft:cyan_wool'
        - 'minecraft:gray_wool'
        - 'minecraft:green_wool'
        - 'minecraft:light_blue_wool'
        - 'minecraft:light_gray_wool'
        - 'minecraft:lime_wool'
        - 'minecraft:magenta_wool'
        - 'minecraft:orange_wool'
        - 'minecraft:pink_wool'
        - 'minecraft:purple_wool'
        - 'minecraft:red_wool'
        - 'minecraft:white_wool'
        - 'minecraft:yellow_wool'
        - 'minecraft:acacia_leaves'
        - 'minecraft:birch_leaves'
        - 'minecraft:dark_oak_leaves'
        - 'minecraft:jungle_leaves'
        - 'minecraft:oak_leaves'
        - 'minecraft:spruce_leaves'
        - 'minecraft:cobweb'
    : [] # A list of all blocks vein mineable by an empty hand
    : # A list of all blocks vein mineable by all tools
        - 'minecraft:ice'
        - 'minecraft:packed_ice'
        - 'minecraft:blue_ice'
    # A list of collections of blocks that should be calculated in the same vein
    # For example, when mining a red mushroom block, brown mushroom blocks will also be broken in the same vein
    - 'minecraft:red_mushroom_block,minecraft:brown_mushroom_block'
    - 'minecraft:grass,minecraft:tall_grass'
    - 'minecraft:pumpkin,minecraft:carved_pumpkin'
    - 'minecraft:acacia_log,minecraft:acacia_wood'
    - 'minecraft:birch_log,minecraft:birch_wood'
    - 'minecraft:dark_oak_log,minecraft:dark_oak_wood'
    - 'minecraft:jungle_log,minecraft:jungle_wood'
    - 'minecraft:oak_log,minecraft:oak_wood'
    - 'minecraft:spruce_log,minecraft:spruce_wood'


    The API for VeinMiner has been constantly changing during its development, but it's now reached a state where it should remain relatively stable. There are various aspects of the API that can be manipulated by an external plugin, and if you're interested in doing so, you are welcome to check out the numerous pages on the Spigot Wiki that can be found by clicking the respective topic below:

    [TODO] Listening for when players vein mining
    [TODO] Manipulating blocklists / player capabilities
    [TODO] Registering custom material aliases

    For those of you that like to explore projects on your own and see what you can do, VeinMiner is completely documented and filled with detailed information over every single class, method and constant. There are Javadocs hosted on my website for you to browse, and you can find them here:


    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.


    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 will eventually need some monetary support of some kind. If you enjoy this project and what it provides to your server, please do consider donating 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!


    • Can you add a customizable keybind aside from shift? Like tilda!?
      • No... because this is a server-side mod and the server is not informed of of what buttons a player presses, this is quite literally impossible for me to do. Sorry...
    • When will you support modded blocks?
      • Never. 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 for MinecraftForge instead. This plugin will serve no purpose compared to the mod.

Recent Reviews

  1. smaurine82
    Version: 1.12.3
    This is amazing! I can't wait for the next update with more blocks supported. Is there anything I can read about how to configure the pattern used when mining?
    1. 2008Choco
      Author's Response
      The next update should come either today or tomorrow, but all vanilla blocks should be supported. If you're running a modded server (i.e. Forge), you might as well just use portablejim's VeinMiner Forge mod instead.

      As for templates, this is more for developers to write not so much users. I don't personally plan on including any more patterns but if other developers want to write plugins that improve the VeinMiner API, they may use it and they will be shown in the "/veinminer pattern" command to be used by players if they so choose.
  2. Gorehid
    Version: 1.12.0
    Well done on the 1.13 updates. The players on my server are enjoying the use of this plugin once more. Thank you for your efforts.
    1. 2008Choco
      Author's Response
      You're very welcome :D I hope your players enjoy the plugin!
  3. KizburbOfficial
    Version: 1.12.0
    A very nice and configurable plugin I use on all of my servers. Developer replies very quickly and gives good support. 10/10 Would recommend to anyone!

    - Kizburb
    1. 2008Choco
      Author's Response
      Happy to help ^-^ Thank you for sticking through the beta builds, much appreciated. Now go enjoy 1.13!
  4. TNTUP
    Version: 1.12.0-BETA1
    A nice plugin <3 I know a server owner who uses your plugin and I love mining with it! More more of human-made caves! (cc @nicecube)
    1. 2008Choco
      Author's Response
      :D Glad you like it and that you've found a server on which you enjoy using it! <3
  5. PanGeo_
    Version: 1.11.3
    all my deoped players can use /veinminer toggle and thats a thing that i dont want adding ranks doesnt help too

    So please fix this
    Happy day PanGeo_
    1. 2008Choco
      Author's Response

      Revoke the permission from your lower groups and add it to your higher groups. This is basic permissions. The permission node is granted by default, much like the veinmine permission is
  6. Songoda
    Version: 1.11.3
    Not surprisingly the most amazing human in my life creates the most amazing plugins (totally unbiased) I love the mechanics of this plugin and can see a use for it across many game modes <3 Totally spectacular.
  7. Dacler
    Version: 1.11.3
    Thank you very much for passing this mod to plugin, it is my favorites, I thank you
    1. 2008Choco
      Author's Response
      Thank you! I'm glad you like it! Just wait until post-Minecraft 1.13 as I have a load of fantastic changes upcoming for this plugin.
  8. KillerTheSkyLord
    Version: 1.11.3
    Really good plugin except I would like the ability to disable the autoblock and autosmelt feature & have the ability to change the prefix but so far a great plugin doesn't effect my anticheat or send off false alerts so we're good.
    1. 2008Choco
      Author's Response
      I see no reason to change the prefix at all, though I'm not sure what you mean by auto-smelt and auto-block. VeinMiner does not support either of those features. If they are enchantments, that's up to the plugin that adds those enchantments. Glad you're enjoying the plugin!
  9. Akkido
    Version: 1.11.3
    I'm SOOOO happy this is available as a plugin, but is there any way I can bind it to a specific key instead of just SNEAK or STAND? My Users are complaining.
    1. 2008Choco
      Author's Response
      Unfortunately, due to the limitations of server software, I'm incapable of allowing for custom keybinds. If you're looking for keybinds, see the Forge mod instead. I simply cannot do this for server mods. Sorry :( Glad you like the plugin, however!
  10. Silvia_Rose
    Version: 1.11.3
    I absolutely love your plugin!

    Works beautifully!

    One request though, Can you make it so you can vein-mine Granite, Andesite, and Diorite?

    Maybe add stone:1, stone:3, stone:5 to the recognizable id's in the config?

    They share the same ID as stone, so it doesn't work very well, meaning that it vein mines normal stone as well, and its unpredictable
    1. 2008Choco
      Author's Response
      This is supported ^-^ Please review the configuration options. It's been supported for a while now. Glad you enjoy the plugin!