{"id":29647,"date":"2026-06-01T15:15:30","date_gmt":"2026-06-01T12:15:30","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/better-veinminer\/"},"modified":"2026-06-01T15:15:30","modified_gmt":"2026-06-01T12:15:30","slug":"better-veinminer","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/better-veinminer\/","title":{"rendered":"Better Veinminer"},"content":{"rendered":"<p># Better Veinminer<\/p>\n<p>**Version:** 1.4.0 | **API:** Paper 1.21+ | **Author:** Duong2012G<br \/>\n**License:** Apache-2.0 | **Link:** Modrinth<\/p>\n<p>Mine an entire ore vein in one swing \u2014 with **tier progression, persistent statistics,<br \/>\na custom event API, and deep configuration.**<\/p>\n<p>&#8212;<\/p>\n<p>## Features<\/p>\n<p>### Core<br \/>\n&#8211; **6-direction BFS** \u2014 accurate face-adjacent vein detection matching vanilla ore generation; no false positives from diagonal neighbours<br \/>\n&#8211; **Strict same-type matching** \u2014 only collects blocks of the exact same material<br \/>\n&#8211; **Fortune &#038; Silk Touch** \u2014 work automatically on every block in the vein<br \/>\n&#8211; **Per-player toggle** \u2014 each player can enable\/disable independently with `\/bvm toggle`<br \/>\n&#8211; **Unbreaking-aware durability** \u2014 matches vanilla&#8217;s per-hit random probability model<br \/>\n&#8211; **World whitelist\/blacklist** \u2014 restrict which worlds allow veinminer<br \/>\n&#8211; **Hot reload** \u2014 `\/bvm reload` applies config changes without a restart<\/p>\n<p>### Tier System<br \/>\nPlayers progress through 4 tiers as they mine more blocks:<\/p>\n<p>| Tier | Blocks Required | Max Blocks (default) |<br \/>\n|:&#8212;-:|:&#8212;&#8212;&#8212;&#8212;&#8211;:|:&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-:|<br \/>\n| 1    | 0              | 32                  |<br \/>\n| 2    | 100,000        | 64                  |<br \/>\n| 3    | 500,000        | 128                 |<br \/>\n| 4    | 1,000,000      | 256                 |<\/p>\n<p>All thresholds and max-block limits are configurable. Check progress with `\/bvm tier`.<\/p>\n<p>### Persistent Statistics<br \/>\nStats survive server restarts. Saved per-player to<br \/>\n`plugins\/BetterVeinminer\/stats\/<uuid>.yml`:<br \/>\n&#8211; Total blocks mined via veinminer<br \/>\n&#8211; Total veinmines performed<br \/>\n&#8211; Current tier<br \/>\n&#8211; Auto-save every 5 minutes (thread-safe snapshot) + on player quit<\/p>\n<p>### Custom Event API<br \/>\n`BetterVeinmineEvent` lets other plugins hook into every veinmine:<\/p>\n<p>&#8220;`java<br \/>\n@EventHandler<br \/>\npublic void onVeinmine(BetterVeinmineEvent event) {<br \/>\n    \/\/ Cancel completely (e.g. in protected regions)<br \/>\n    if (isProtected(event.getPlayer())) {<br \/>\n        event.setCancelled(true);<br \/>\n        return;<br \/>\n    }<\/p>\n<p>    \/\/ Double EXP on ancient debris<br \/>\n    if (event.getOreType() == Material.ANCIENT_DEBRIS) {<br \/>\n        event.setExpReward(event.getExpReward() * 2);<br \/>\n    }<\/p>\n<p>    plugin.getLogger().info(event.getPlayer().getName()<br \/>\n        + &#8221; veinmined &#8221; + event.getBlocks().size() + &#8221; blocks.&#8221;);<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>### Protection Plugin Support<br \/>\nA `BlockBreakEvent` is fired for each extra block before it is broken.<br \/>\nWorldGuard, GriefPrevention, Lands, and Residence can cancel individual blocks<br \/>\nwithin protected regions. Per-block events are guarded by an anti-recursion lock<br \/>\nso the plugin never triggers itself in a loop.<\/p>\n<p>### Permission-Based Limits<br \/>\nGive VIP\/Premium players special treatment via `permission-levels` in config.<\/p>\n<p>### Ore Multipliers<br \/>\nConfigure different EXP multipliers per ore type.<\/p>\n<p>### Per-Ore Cooldowns<br \/>\nDifferent cooldown per ore type.<\/p>\n<p>### Daily Limits<br \/>\nCap veinmines per player per day. Resets at real midnight (persisted across restarts).<\/p>\n<p>&#8212;<\/p>\n<p>## Installation<\/p>\n<p>1. Download `BetterVeinminer-1.4.0.jar`<br \/>\n2. Drop into your server&#8217;s `plugins\/` folder<br \/>\n3. Restart or reload the server<br \/>\n4. Edit `plugins\/BetterVeinminer\/config.yml`<br \/>\n5. Use `\/bvm reload` to apply changes without restarting<\/p>\n<p>**Requirements:** Paper (or any Paper fork) 1.21+, Java 21+<\/p>\n<p>&#8212;<\/p>\n<p>## Permissions<\/p>\n<p>| Permission | Description | Default |<br \/>\n|&#8212;|&#8212;|&#8212;|<br \/>\n| `betterveinminer.use` | Use veinminer + `\/bvm toggle\/stats\/tier` | `true` |<br \/>\n| `betterveinminer.admin` | Reload config (`\/bvm reload`) | `op` |<br \/>\n| `betterveinminer.vip` | VIP tier (custom limits via config) | `false` |<br \/>\n| `betterveinminer.premium` | Premium tier (best limits via config) | `false` |<\/p>\n<p>&#8212;<\/p>\n<p>## Commands<\/p>\n<p>| Command | Description | Permission |<br \/>\n|&#8212;|&#8212;|&#8212;|<br \/>\n| `\/bvm toggle` | Enable\/disable veinminer for yourself | `betterveinminer.use` |<br \/>\n| `\/bvm stats` | View your mining statistics | `betterveinminer.use` |<br \/>\n| `\/bvm tier` | Check your current tier &#038; progression | `betterveinminer.use` |<br \/>\n| `\/bvm reload` | Reload configuration file | `betterveinminer.admin` |<\/p>\n<p>&#8212;<\/p>\n<p>## How to Use<\/p>\n<p>1. Hold a pickaxe from `tool-whitelist`<br \/>\n2. Sneak (Shift) if `require-sneak: true`<br \/>\n3. Break any ore block \u2014 the entire connected vein drops at once<\/p>\n<p>Fortune and Silk Touch both work automatically on every block in the vein.<\/p>\n<p>&#8212;<\/p>\n<p>## Configuration Reference<\/p>\n<p>### Basic Settings<br \/>\n&#8220;`yaml<br \/>\nenabled: true              # Master on\/off switch<br \/>\nrequire-sneak: true        # Player must sneak to activate<br \/>\nrequire-pickaxe: true      # Player must hold a whitelisted pickaxe<br \/>\nmax-blocks: 64             # Max blocks per veinmine (fallback when tier system is off)<br \/>\ncooldown-ms: 200           # Cooldown between veinmines in milliseconds<br \/>\ndamage-tool: true          # Whether the pickaxe takes extra durability damage<br \/>\ndamage-multiplier: 1.0     # Multiplier applied to the extra durability loss<br \/>\n&#8220;`<\/p>\n<p>### Tier System<br \/>\n&#8220;`yaml<br \/>\ntier-system:<br \/>\n  enabled: true<br \/>\n  tier-2-threshold: 100000<br \/>\n  tier-3-threshold: 500000<br \/>\n  tier-4-threshold: 1000000<br \/>\n  tier-1-max-blocks: 32<br \/>\n  tier-2-max-blocks: 64<br \/>\n  tier-3-max-blocks: 128<br \/>\n  tier-4-max-blocks: 256<br \/>\n&#8220;`<\/p>\n<p>### Ore Multipliers<br \/>\n&#8220;`yaml<br \/>\nore-multipliers:<br \/>\n  enabled: true<br \/>\n  multipliers:<br \/>\n    DIAMOND_ORE: 1.5<br \/>\n    EMERALD_ORE: 2.0<br \/>\n    COAL_ORE: 0.5<br \/>\n&#8220;`<\/p>\n<p>### Per-Ore Cooldowns<br \/>\n&#8220;`yaml<br \/>\nper-ore-cooldowns:<br \/>\n  enabled: false<br \/>\n  cooldowns:<br \/>\n    DIAMOND_ORE: 1000<br \/>\n    COAL_ORE: 200<br \/>\n&#8220;`<\/p>\n<p>### Permission Levels<br \/>\n&#8220;`yaml<br \/>\npermission-levels:<br \/>\n  betterveinminer.vip:<br \/>\n    max-blocks: 128<br \/>\n    cooldown-ms: 100<br \/>\n  betterveinminer.premium:<br \/>\n    max-blocks: 256<br \/>\n    cooldown-ms: 50<br \/>\n&#8220;`<\/p>\n<p>### Daily Limits<br \/>\n&#8220;`yaml<br \/>\ndaily-limits:<br \/>\n  enabled: false<br \/>\n  limit-per-day: 10<br \/>\n&#8220;`<\/p>\n<p>### Custom Messages<br \/>\nAll messages support `\u00a7` colour codes.<\/p>\n<p>| Message key | Placeholders |<br \/>\n|&#8212;|&#8212;|<br \/>\n| `veinmine-success` | `{count}` |<br \/>\n| `tier-up` | `{tier}`, `{blocks}` |<br \/>\n| `stats` | `{blocks}`, `{tier}`, `{uses}` |<br \/>\n| `daily-limit` | \u2014 |<br \/>\n| `cooldown` | `{remaining}` |<\/p>\n<p>### EXP Rewards<br \/>\n&#8220;`yaml<br \/>\nexp-settings:<br \/>\n  enabled: false<br \/>\n  base-exp: 10<br \/>\n  per-extra-block: 5<br \/>\n  multiply-by-fortune: true<br \/>\n&#8220;`<\/p>\n<p>### World Restrictions<br \/>\n&#8220;`yaml<br \/>\nwhitelist-worlds: []<br \/>\nblacklist-worlds: []<br \/>\n&#8220;`<\/p>\n<p>### Effects<br \/>\n&#8220;`yaml<br \/>\nparticle-effect: true<br \/>\nsound-effect: true<\/p>\n<p>effects:<br \/>\n  particle-type: BLOCK<br \/>\n  particle-color: &#8220;0xFFFFFF&#8221;<br \/>\n  particle-speed: 1.0<br \/>\n  completion-sound: BLOCK_STONE_BREAK<br \/>\n  warning-sound: ENTITY_ITEM_PICKUP<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## Config Examples<\/p>\n<p>### Survival \/ Economy Server<br \/>\n&#8220;`yaml<br \/>\ntier-system:<br \/>\n  enabled: true<br \/>\n  tier-2-threshold: 50000<br \/>\n  tier-3-threshold: 250000<br \/>\n  tier-4-threshold: 500000<\/p>\n<p>daily-limits:<br \/>\n  enabled: true<br \/>\n  limit-per-day: 5<\/p>\n<p>ore-multipliers:<br \/>\n  enabled: true<br \/>\n  multipliers:<br \/>\n    DIAMOND_ORE: 1.5<br \/>\n    EMERALD_ORE: 2.0<br \/>\n&#8220;`<\/p>\n<p>### Hardcore Mode<br \/>\n&#8220;`yaml<br \/>\nmax-blocks: 16<br \/>\ncooldown-ms: 2000<br \/>\ntier-system:<br \/>\n  enabled: false<br \/>\ndamage-multiplier: 2.0<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## Developer API<\/p>\n<p>Add as a soft dependency:<br \/>\n&#8220;`yaml<br \/>\nsoftdepend: [BetterVeinminer]<br \/>\n&#8220;`<\/p>\n<p>Listen to `BetterVeinmineEvent`:<br \/>\n&#8220;`java<br \/>\nimport dev.duong2012g.bvm.BetterVeinmineEvent;<\/p>\n<p>@EventHandler<br \/>\npublic void onVeinmine(BetterVeinmineEvent event) {<br \/>\n    Player player      = event.getPlayer();<br \/>\n    Material ore       = event.getOreType();<br \/>\n    List<Block> blocks = event.getBlocks();   \/\/ unmodifiable<br \/>\n    int exp            = event.getExpReward();<\/p>\n<p>    event.setExpReward(exp * 2);<br \/>\n    event.setCancelled(true);<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## Bug Fixes in v1.4.0<\/p>\n<p>| # | Bug | Status |<br \/>\n|&#8212;|&#8212;|&#8212;|<br \/>\n| 1 | Async save race condition \u2014 stats partially written while main thread modifies them | \u2705 Fixed \u2014 snapshot taken on main thread before async I\/O |<br \/>\n| 2 | Cooldown cleanup used hardcoded 60 s regardless of configured cooldown | \u2705 Fixed \u2014 cleanup now uses `config.getCooldownMs()` |<br \/>\n| 3 | Daily reset based on server uptime ticks, not real calendar date | \u2705 Fixed \u2014 `LocalDate.now()` with persistence in `data.yml` |<br \/>\n| 4 | 26-direction BFS could link two separate nearby veins | \u2705 Fixed \u2014 changed to 6-direction (face-adjacent) matching vanilla ore generation |<br \/>\n| 5 | `breakNaturally()` bypassed protection plugins (WorldGuard, GriefPrevention\u2026) | \u2705 Fixed \u2014 `BlockBreakEvent` fired per block + anti-recursion guard |<br \/>\n| 6 | Unbreaking durability formula was deterministic average, not vanilla per-hit random | \u2705 Fixed \u2014 vanilla-style per-hit random check |<br \/>\n| 7 | Tool swap exploit | \u2705 Already fixed in v1.2.1 (slot + `isSimilar()` validation) |<br \/>\n| 8 | `PlayerStats` exposed public mutable fields \u2014 external code could set negative values | \u2705 Fixed \u2014 private fields with validated getters\/setters and `copy()` method |<br \/>\n| 9 | Config accepted invalid values (`max-blocks: -1`, `damage-multiplier: -100`) | \u2705 Fixed \u2014 all numeric values clamped on load |<br \/>\n| 10 | Concurrent async writes could corrupt the same YAML file | \u2705 Fixed \u2014 single-threaded `ExecutorService` serialises all file I\/O |<\/p>\n<p>&#8212;<\/p>\n<p>## Troubleshooting<\/p>\n<p>**Veinminer not activating:**<br \/>\n&#8211; Check `enabled: true` in config<br \/>\n&#8211; Verify the ore is in `ore-types`<br \/>\n&#8211; Confirm you hold a pickaxe from `tool-whitelist`<br \/>\n&#8211; Check you are sneaking if `require-sneak: true`<br \/>\n&#8211; Verify the world is not blacklisted<\/p>\n<p>**Stats reset after restart:**<br \/>\n&#8211; Check `plugins\/BetterVeinminer\/stats\/` is writable<br \/>\n&#8211; Look for `&#8221;Failed to save stats&#8221;` warnings in server logs<\/p>\n<p>**Daily limit resets too early \/ not resetting:**<br \/>\n&#8211; Upgrade to v1.4.0 \u2014 the old tick-based timer drifted and was skipped on restarts<br \/>\n&#8211; The new system persists the last reset date to `data.yml`<\/p>\n<p>&#8212;<\/p>\n<p>## Changelog<\/p>\n<p>See [CHANGELOG.md](CHANGELOG.md)<\/p>\n<p>&#8212;<\/p>\n<p>## License<\/p>\n<p>Apache-2.0 \u00a9 Duong2012G<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Paper 1.21 veinminer plugin that mines entire ore veins instantly. Uses strict same-type BFS matching, so adjacent ores are never accidentally destroyed. Fully configurable via config.yml.<\/p>\n","protected":false},"featured_media":29648,"template":"","meta":{"_minecraft_slug":"better-veinminer","_minecraft_project_id":"3Njs3FsV","_minecraft_author":"Duong2012G","_minecraft_license":"Apache-2.0","_minecraft_downloads":348,"_minecraft_follows":1,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"better-veinminer.zip","_minecraft_size_bytes":175578,"_minecraft_version_count":9,"_minecraft_updated_at":"2026-05-16T11:30:51.790365Z","_minecraft_date_created":"2026-03-10T00:06:15.088189Z","_minecraft_date_modified":"2026-05-14T05:08:42.226571Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/better-veinminer","_minecraft_icon_attachment_id":29648,"_minecraft_imported_at":"2026-06-01T12:15:32+00:00","_minecraft_import_hash":"e01f38c2cd5abc25fb399eb7d742916f","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[87,124,126,127,128,129,869,92],"mod_loader":[130,132,133,134],"minecraft_version":[62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-29647","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-adventure","mod_category-bukkit","mod_category-management","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_category-transportation","mod_category-utility","mod_loader-bukkit","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Better Veinminer - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/better-veinminer\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Better Veinminer - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A Paper 1.21 veinminer plugin that mines entire ore veins instantly. Uses strict same-type BFS matching, so adjacent ores are never accidentally destroyed. Fully configurable via config.yml.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/better-veinminer\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/better-veinminer\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/better-veinminer\\\/\",\"name\":\"Better Veinminer - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/better-veinminer\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/better-veinminer\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/better-veinminer-icon-43571c69fc2fc172d061d8514fecc4994b7dc117_96.webp\",\"datePublished\":\"2026-06-01T12:15:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/better-veinminer\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/better-veinminer\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/better-veinminer\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/better-veinminer-icon-43571c69fc2fc172d061d8514fecc4994b7dc117_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/better-veinminer-icon-43571c69fc2fc172d061d8514fecc4994b7dc117_96.webp\",\"width\":96,\"height\":91},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/better-veinminer\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Better Veinminer\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Better Veinminer - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/better-veinminer\/","og_locale":"en_US","og_type":"article","og_title":"Better Veinminer - Minecraft","og_description":"A Paper 1.21 veinminer plugin that mines entire ore veins instantly. Uses strict same-type BFS matching, so adjacent ores are never accidentally destroyed. Fully configurable via config.yml.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/better-veinminer\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/better-veinminer\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/better-veinminer\/","name":"Better Veinminer - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/better-veinminer\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/better-veinminer\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/better-veinminer-icon-43571c69fc2fc172d061d8514fecc4994b7dc117_96.webp","datePublished":"2026-06-01T12:15:30+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/better-veinminer\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/better-veinminer\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/better-veinminer\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/better-veinminer-icon-43571c69fc2fc172d061d8514fecc4994b7dc117_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/better-veinminer-icon-43571c69fc2fc172d061d8514fecc4994b7dc117_96.webp","width":96,"height":91},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/better-veinminer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"Better Veinminer"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/29647","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/29648"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=29647"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=29647"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=29647"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=29647"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}