Skip to main content

VeinMiner Plugin

VeinMiner is a Minecraft plugin that allows players to mine entire veins of ores or resources with a single swing of their tool.

Here's how to install and configure the plugin:

Step 1:

Download the plugin from: https://www.spigotmc.org/resources/veinminer.12038/

image-1687116633255.png

Step 2:

Go to the Midnight hosting panel and select File Managers -> plugins

From there click the Upload button, Locate the plugin, select it, and then upload it.  Alternatively, you could just drag and drop the plugin from your desktop into the plugins folder.  Make sure that the file is uploaded before continuing on.

image-1687117262766.png

Step 3:

Now that it is in the server files, all you need to do is restart your server to activate the plugin.  It's that easy!  The steps after this are optional but are recommended to look at.

restart

Step 4:

Now in the Plugins folder, you should see Veinminer click on it to access its contents.

image-1687118092861.png

Within this folder, there are two editable files. Categories.yml, and Config.yml, and the third file doesn't need to be updated.  Lets Click on the config file.

image-1687118418626.png

Highlighted text below is edited to help explain the section better.

config.yml

MetricsEnabled: true
PerformUpdateChecks: true

DefaultActivationStrategy: SNEAK # The default activation strategy to set for players that have not explicitly set it
DefaultVeinMiningPattern: 'veinminer:default' # The vein mining pattern to use by default for new players
CollectItemsAtSource: true # Whether items from vein mines will be dropped at the source block
NerfMcMMO: false # If true, only grants McMMO experience for the FIRST block mined in a vein, as opposed to all blocks if false

RepairFriendly: false # Whether or not vein miner will stop vein mining if the tool reaches 1 durability while mining
MaxVeinSize: 64 # The maximum size of a vein for all categories (unless otherwise specified in the categories.yml)
Cost: 0.0 # The cost per use of vein miner. This requires Vault and an economy plugin to be installed

DisabledGameModes: # A list of game modes in which VienMiner is disabled
- CREATIVE
- SPECTATOR
DisabledWorlds: # A list of all worlds in which VeinMiner is disabled
- WorldName

Hunger: # Various hunger-related options
  HungerModifier: 4.0 # How much exhaustion is applied for every block broken while vein mining. Every point is 0.025 hunger/exhaustion per block
  MinimumFoodLevel: 1 # The minimum food level required to vein mine. If vein mining while this value is hit, it will stop
  HungryMessage: "&7You are too hungry to vein mine!" # The message to send the player when they are too hungry

Client: # Options that allow better control over the optional client-sided mod
  AllowActivationKeybind: true # Whether or not the VeinMiner Companion mod is allowed to activate vein miner with a key bind
  AllowPatternSwitchingKeybind: true # Whether or not the VeinMiner Companion mod is allowed to switch patterns with key binds
  AllowWireframeRendering: true # Whether or not the VeinMiner Companion mod is allowed to render wireframes around vein mineable blocks

Storage:
 # Supported types...
  # JSON: Each player's data is stored in its own JSON file under the specified directory.
  # SQLite: Player data is stored in an SQLite database table. A flat file database. Generally faster than JSON.
  # MySQL: Player data is stored remotely in a MySQL-compliant database (MySQL, MariaDB, etc.). Use this if you want to share VeinMiner data on multiple servers and have a MySQL server available to use.
  Type: 'SQLite'

  JSON: # Only required if "Type" is set to "JSON"
    Directory: '%plugin%/playerdata/' # "%plugin%" is replaced with the plugin directory

  MySQL: # Only required if "Type" is set to "MySQL"
    Host: 'localhost' # The database host
    Port: 3306 # The database port
    Username: 'username' # The database username
    Password: 'password' # The database password
    Database: 'veinminer' # The specific database to use
    TablePrefix: 'veinminer_' # The prefix to use for all created tables

# This BlockList option is dynamic. For every entry in the BlockList (i.e. "Pickaxe", "Axe", "Shovel", etc.),
# an entry with the exact same ID is listed in the categories.yml

BlockList: # To find a full list of Minecraft Item ID's you can check out https://minecraftitemids.com/
  Pickaxe: # A list of all blocks breakable by the "Pickaxe" category
  - 'minecraft:amethyst_cluster'
  - 'minecraft:ancient_debris'
  - 'minecraft:coal_ore'
  - 'minecraft:copper_ore'
  - 'minecraft:deepslate_coal_ore'
  - 'minecraft:deepslate_copper_ore'
  - 'minecraft:deepslate_diamond_ore'
  - 'minecraft:deepslate_emerald_ore'
  - 'minecraft:deepslate_gold_ore'
  - 'minecraft:deepslate_iron_ore'
  - 'minecraft:deepslate_lapis_ore'
  - 'minecraft:deepslate_redstone_ore'
  - 'minecraft:diamond_ore'
  - 'minecraft:emerald_ore'
  - 'minecraft:gold_ore'
  - 'minecraft:iron_ore'
  - 'minecraft:lapis_ore'
  - 'minecraft:nether_quartz_ore'
  - 'minecraft:nether_gold_ore'
  - 'minecraft:raw_copper_block'
  - 'minecraft:raw_gold_block'
  - 'minecraft:raw_iron_block'
  - 'minecraft:redstone_ore'
  Axe: # A list of all blocks breakable by the "Axe" category
  - 'minecraft:acacia_log'
  - 'minecraft:acacia_wood'
  - 'minecraft:birch_log'
  - 'minecraft:birch_wood'
  - 'minecraft:brown_mushroom_block'
  - 'minecraft:carved_pumpkin'
  - 'minecraft:crimson_hyphae'
  - 'minecraft:crimson_stem'
  - 'minecraft:dark_oak_log'
  - 'minecraft:dark_oak_wood'
  - 'minecraft:jungle_log'
  - 'minecraft:jungle_wood'
  - 'minecraft:mangrove_log'
  - 'minecraft:mangrove_roots'
  - 'minecraft:mangrove_wood'
  - 'minecraft:melon'
  - 'minecraft:oak_log'
  - 'minecraft:oak_wood'
  - 'minecraft:pumpkin'
  - 'minecraft:red_mushroom_block'
  - 'minecraft:spruce_log'
  - 'minecraft:spruce_wood'
  - 'minecraft:warped_stem'
  - 'minecraft:warped_hyphae'
  Shovel: # A list of all blocks breakable by the "Shovel" category
  - 'minecraft:clay'
  - 'minecraft:gravel'
  - 'minecraft:mud'
  - 'minecraft:muddy_mangrove_roots'
  - 'minecraft:powder_snow'
  - 'minecraft:sand'
  - 'minecraft:snow'
  - 'minecraft:soul_sand'
  - 'minecraft:soul_soil'
  Hoe: # A list of all blocks breakable by the "Hoe" category
  - 'minecraft:beetroots[age=3]'
  - 'minecraft:brown_mushroom'
  - 'minecraft:carrots[age=7]'
  - 'minecraft:moss_block'
  - 'minecraft:moss_carpet'
  - 'minecraft:potatoes[age=7]'
  - 'minecraft:red_mushroom'
  - 'minecraft:sculk'
  - 'minecraft:sculk_vein'
  - 'minecraft:wheat[age=7]'
  Shears: # A list of all blocks breakable by the "Shears" category
  - 'minecraft:acacia_leaves'
  - 'minecraft:azalea_leaves'
  - 'minecraft:birch_leaves'
  - 'minecraft:black_wool'
  - 'minecraft:blue_wool'
  - 'minecraft:brown_wool'
  - 'minecraft:cobweb'
  - 'minecraft:cyan_wool'
  - 'minecraft:dark_oak_leaves'
  - 'minecraft:flowering_azalea_leaves'
  - 'minecraft:gray_wool'
  - 'minecraft:green_wool'
  - 'minecraft:jungle_leaves'
  - 'minecraft:light_blue_wool'
  - 'minecraft:light_gray_wool'
  - 'minecraft:lime_wool'
  - 'minecraft:magenta_wool'
  - 'minecraft:mangrove_leaves'
  - 'minecraft:oak_leaves'
  - 'minecraft:orange_wool'
  - 'minecraft:pink_wool'
  - 'minecraft:purple_wool'
  - 'minecraft:red_wool'
  - 'minecraft:spruce_leaves'
  - 'minecraft:white_wool'
  - 'minecraft:yellow_wool'
  Hand: [] # A list of all blocks breakable by the "Hand" category (empty by default)
  All: # A list of all blocks breakable by all registered categories
    - '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:acacia_log;minecraft:acacia_wood'
- 'minecraft:birch_log;minecraft:birch_wood'
- 'minecraft:brown_mushroom_block;minecraft:red_mushroom_block'
- 'minecraft:carved_pumpkin;minecraft:pumpkin'
- 'minecraft:crimson_hyphae;minecraft:crimson_stem'
- 'minecraft:dark_oak_log;minecraft:dark_oak_wood'
- 'minecraft:grass;minecraft:tall_grass'
- 'minecraft:jungle_log;minecraft:jungle_wood'
- 'minecraft:mangrove_log;minecraft:mangrove_wood'
- 'minecraft:oak_log;minecraft:oak_wood'
- 'minecraft:spruce_log;minecraft:spruce_wood'
- 'minecraft:warped_hyphae;minecraft:warped_stem'

After making changes please remember to save.

Step 5:

If you want an item that isn't on the list to have its own vein miner properties click categories.yml

Categories.yml example

How this works:

Each category is structured like this

"Name of Category":
  Items: #The items that are considered to be part of said category.
  - 'minecraft:wooden_axe'  #This can be any in-game item.
  - 'minecraft:stone_axe'

Example category:

This is an example of a custom category.  The stick is now part of a stick category.

Stick:
  Items:
  - 'minecraft:stick'


Default categories.yml

Axe:
  Items:
  - 'minecraft:wooden_axe'
  - 'minecraft:stone_axe'
  - 'minecraft:golden_axe'
  - 'minecraft:iron_axe'
  - 'minecraft:diamond_axe'
  - 'minecraft:netherite_axe'

Hoe:
  Items:
  - 'minecraft:wooden_hoe'
  - 'minecraft:stone_hoe'
  - 'minecraft:golden_hoe'
  - 'minecraft:iron_hoe'
  - 'minecraft:diamond_hoe'
  - 'minecraft:netherite_hoe'

Pickaxe:
  Items:
  - 'minecraft:wooden_pickaxe'
  - 'minecraft:stone_pickaxe'
  - 'minecraft:golden_pickaxe'
  - 'minecraft:iron_pickaxe'
  - 'minecraft:diamond_pickaxe'
  - 'minecraft:netherite_pickaxe'

Shears:
  Items:
  - 'minecraft:shears'

Shovel:
  Items:
  - 'minecraft:wooden_shovel'
  - 'minecraft:stone_shovel'
  - 'minecraft:golden_shovel'
  - 'minecraft:iron_shovel'
  - 'minecraft:diamond_shovel'
  - 'minecraft:netherite_shovel'

Remember to save the file!

After learning how to set up a category you can now add this category to the config file.

custom category

This is a cropped version of config.yml please don't use just this...

...

This is a basic view on the vein minable in-game blocks

BlockList:
  Pickaxe: # The category name.  Everything below it is a list of the breakable material that the category can vein mine. 
  - 'minecraft:amethyst_cluster'
  - 'minecraft:ancient_debris'
  - 'minecraft:coal_ore'
  - 'minecraft:copper_ore'
  - 'minecraft:deepslate_coal_ore'
  - 'minecraft:deepslate_copper_ore'

Lets add our "Stick" category to break coarse dirt, and leaves


BlockList:
  Stick: 
  - 'minecraft:coarse_dirt'
  - 'minecraft:oak_leaves'
  - 'minecraft:dark_oak_leaves'
  - 'minecraft:birch_leaves'
  - 'minecraft:jungle_leaves'
  - 'minecraft:spruce_leaves'


Now in-game a stick can veinmine coarse dirt, and the selected leaves.

That's how you add a custom category.

Step 6:

If you are needing help with anything else join the Official Discord to get more advanced help.  Or look at the plugin's website to get more info.