VeinMiner 1.12.2

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

  1. 2008Choco
    Native Minecraft Version:
    1.13
    Tested Minecraft Versions:
    • 1.13
    Source Code:
    https://github.com/2008Choco/VeinMiner/
    [​IMG]

    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.


    [​IMG]

    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

    Sub-commands:
    <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> <*tool> - Tools are the same as those listed in the configuration file
    <add> <id> [data] - Add a block to the tools block list (data is optional)
    <remove> <id> [data] - Remove a block from the tools block list (data is optional)
    <list> - List all blocks currently on this tools block list​
    <toggle> [tool] - Toggle vein miner on or off for all (or specific) tools
    <pattern> <namespace:key> - Set the pattern to be used while vein mining​
    Example:
    - /veinminer blocklist pickaxe add stone
    - /veinminer blocklist shovel remove dirt 1
    - /veinminer toggle axe
    - /veinminer pattern veinminer:default[/SIZE]​

    [​IMG]

    veinminer.veinmine.*:
    Description: Allow the ability to use VeinMiner for all tools
    Default: All players have this permission by default
    Children:
    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​

    veinminer.blocklist.*:
    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
    Children:
    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​

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

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

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


    [​IMG]

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

    Tools
    :
      Pickaxe
    :
        MaxVeinSize
    : 64 # The maximum size of a vein for this tool. (0 - size)
      Axe
    :
        MaxVeinSize
    : 64
      Shovel
    :
        MaxVeinSize
    : 64
      Hoe
    :
        MaxVeinSize
    : 64
      Shears
    :
        MaxVeinSize
    : 64
      Hand
    :
        InheritMaterialsFromAll
    : false # Whether blocks listed in "ALL" blocklist will be used for the hand or not

    BlockList
    :
      Pickaxe
    : # 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'
      Axe
    : # 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'
      Shovel
    : # A list of all blocks vein mineable by a shovel
        - 'minecraft:sand'
        - 'minecraft:gravel'
      Hoe
    : # 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'
      Shears
    : # 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'
      Hand
    : [] # A list of all blocks vein mineable by an empty hand
      All
    : # 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
    Aliases
    :
    - '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'

    [​IMG]

    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: https://choco.gg/javadocs/veinminer/


    [​IMG]

    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.


    [​IMG]

    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!

Recent Updates

  1. Hotfix for 1.12.1
  2. Minor fixes
  3. VeinMiner for Minecraft 1.13

Recent Reviews

  1. Gorehid
    Gorehid
    5/5,
    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!
  2. KizburbOfficial
    KizburbOfficial
    5/5,
    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!
  3. TNTUP
    TNTUP
    5/5,
    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
  4. PanGeo_
    PanGeo_
    3/5,
    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
      bruh
      http://prntscr.com/jkqjcl

      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
  5. Songoda
    Songoda
    5/5,
    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.
  6. Dacler
    Dacler
    5/5,
    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.
  7. KillerTheSkyLord
    KillerTheSkyLord
    5/5,
    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!
  8. Akkido
    Akkido
    4/5,
    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!
  9. Silvia_Rose
    Silvia_Rose
    5/5,
    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!
  10. Swiftlicious
    Swiftlicious
    5/5,
    Version: 1.11.1
    Perfect perfect perfect! now I know this was never actually in the original mod but maybe we can push updates out adding new features? I have a few:
    1. Sound events on break using veinminer
    2. Particles on break using veinminer
    3. Make it so lower pickaxe types take more durability then higher pickaxe types
    4. This is more of a question if fortune and silk touch and unbreaking still work when using vein miner
    5. if this is even possible maybe add sword functions like if you hit one zombie it will hit others around you?
    1. 2008Choco
      Author's Response
      :D Thank you! Always love seeing some feedback ^-^
      1. Could be taken into consideration. Not sure how useful it would be, however
      2. See #1
      3. That's not a horrible idea. I'll note that one down
      4. Absolutely! Enchantments are taken into consideration when vein mining
      5. That's added in 1.9+, and it's called a sweep attack ;)