{"id":82464,"date":"2026-06-04T20:32:48","date_gmt":"2026-06-04T17:32:48","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/hshards\/"},"modified":"2026-06-04T20:32:48","modified_gmt":"2026-06-04T17:32:48","slug":"hshards","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/hshards\/","title":{"rendered":"hShards"},"content":{"rendered":"<p># hShards<\/p>\n<p>**A lightweight virtual economy plugin that runs alongside your main economy, or replaces it entirely.**<\/p>\n<p>&#8212;<\/p>\n<p>## What is hShards?<\/p>\n<p>hShards adds a second currency to your server called Shards (fully renameable). It&#8217;s designed to sit next to your existing Vault economy, players keep their regular money for the normal stuff, and Shards become a separate progression currency that they can earn by selling items, receiving them as rewards, trading with other players, or passively through an interest system.<\/p>\n<p>It can also run in PRIMARY mode and act as your main Vault economy provider if you want, replacing plugins like EssentialsX economy entirely.<\/p>\n<p>I built this to pair with hShop, but the API is public so other plugins can hook into it to.<\/p>\n<p>&#8212;<\/p>\n<p>## Features<\/p>\n<p>&#8211; **Dual mode** &#8211; run as a secondary currency alongside Vault, or take over as the primary Vault provider<br \/>\n&#8211; **Player-to-player payments** &#8211; `\/pay` command with optional tax and cooldown<br \/>\n&#8211; **Item selling** &#8211; define a shard price for any item and players can sell it via `\/hshards sell` or `\/sellall`<br \/>\n&#8211; **Leaderboard** &#8211; paginated top balance list with a configurable refresh interval and cache size<br \/>\n&#8211; **Interest system** &#8211; automatically give online players a percentage of their balance on a timer<br \/>\n&#8211; **Max balance cap** &#8211; optionally prevent players from holding more then a set amount<br \/>\n&#8211; **Payment tax** &#8211; take a configurable percentage cut from every player-to-player payment<br \/>\n&#8211; **Transaction logging** &#8211; every deposit, withdraw, payment and sell is written to a log file<br \/>\n&#8211; **YAML or SQLite storage** &#8211; choose whichever fits your server size, switchable in config<br \/>\n&#8211; **PlaceholderAPI support** &#8211; full set of placeholders for balances, ranks, leaderboard and more<br \/>\n&#8211; **Public API** &#8211; `HShardsAPI` class lets any plugin get\/set\/deposit\/withdraw shard balances<br \/>\n&#8211; **Title notifications** &#8211; optional screen title when a player receives or loses shards<br \/>\n&#8211; **Fully customizable messages** &#8211; every single message is in `messages.yml` with color code support<\/p>\n<p>&#8212;<\/p>\n<p>## Requirements<\/p>\n<p>| Dependency | Required? |<br \/>\n|&#8212;|&#8212;|<br \/>\n| Paper 1.21+ | \u2705 Required |<br \/>\n| Vault | \u2b50 Soft (required for PRIMARY mode or hShop integration) |<br \/>\n| PlaceholderAPI | \u2b50 Soft |<br \/>\n| hShop | \u2b50 Soft (required if running in SECONDARY mode) |<\/p>\n<p>&#8212;<\/p>\n<p>## Modes<\/p>\n<p>**SECONDARY** *(default)* &#8211; hShards doesn&#8217;t touch Vault at all. It runs as a completely separate currency on the side. Requires hShop (or another integration) to actually be useful, since Vault-only plugins won&#8217;t know about shards. This is the mode you want 99% of the time.<\/p>\n<p>**PRIMARY** &#8211; hShards registers itself as the Vault economy provider. Every plugin that calls `economy.getBalance()` will be reading from hShards. Good if you want a fully custom economy without EssentialsX or CMI handling it.<\/p>\n<p>Set this in `config.yml`:<br \/>\n&#8220;`yaml<br \/>\nmode:<br \/>\n  type: SECONDARY  # or PRIMARY<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## Commands<\/p>\n<p>| Command | Description | Permission |<br \/>\n|&#8212;|&#8212;|&#8212;|<br \/>\n| `\/hshards balance` | Check your shard balance | `hshards.balance` |<br \/>\n| `\/shardbal [player]` | Check your own or another players balance | `hshards.balance` |<br \/>\n| `\/pay <player> <amount>` | Pay shards to another player | `hshards.pay` |<br \/>\n| `\/shardstop [page]` | View the shards leaderboard | `hshards.top` |<br \/>\n| `\/hshards sell` | Sell item in hand for shards | `hshards.use` |<br \/>\n| `\/hshards sellall` | Sell all eligible items | `hshards.use` |<br \/>\n| `\/hshards rank` | View your leaderboard position | `hshards.top` |<br \/>\n| `\/hshardsadmin give <player> <amount>` | Give shards to a player | `hshards.admin.give` |<br \/>\n| `\/hshardsadmin take <player> <amount>` | Take shards from a player | `hshards.admin.take` |<br \/>\n| `\/hshardsadmin set <player> <amount>` | Set a player&#8217;s balance | `hshards.admin.set` |<br \/>\n| `\/hshardsadmin reset <player>` | Reset a player to starting balance | `hshards.admin.reset` |<br \/>\n| `\/hshardsadmin resetall confirm` | Reset every player&#8217;s balance | `hshards.admin.reset` |<br \/>\n| `\/hshardsadmin balance <player>` | Check any player&#8217;s balance | `hshards.admin` |<br \/>\n| `\/hshardsadmin reload` | Reload the plugin | `hshards.admin.reload` |<br \/>\n| `\/hshardsadmin lb-refresh` | Force a leaderboard cache refresh | `hshards.admin` |<\/p>\n<p>&#8212;<\/p>\n<p>## Bypass Permissions<\/p>\n<p>| Permission | Effect |<br \/>\n|&#8212;|&#8212;|<br \/>\n| `hshards.bypass.pay-tax` | Skip the payment tax |<br \/>\n| `hshards.bypass.pay-cooldown` | Skip the payment cooldown |<br \/>\n| `hshards.bypass.max-balance` | Exceed the max balance cap |<\/p>\n<p>&#8212;<\/p>\n<p>## PlaceholderAPI Placeholders<\/p>\n<p>| Placeholder | Description |<br \/>\n|&#8212;|&#8212;|<br \/>\n| `%hshards_balance%` | Player&#8217;s raw balance |<br \/>\n| `%hshards_balance_formatted%` | Balance with currency symbol |<br \/>\n| `%hshards_rank%` | Player&#8217;s leaderboard rank |<br \/>\n| `%hshards_top_name_<N>%` | Name of player at rank N |<br \/>\n| `%hshards_top_balance_<N>%` | Balance of player at rank N |<br \/>\n| `%hshards_top_balance_formatted_<N>%` | Formatted balance at rank N |<br \/>\n| `%hshards_currency_name%` | Plural currency name |<br \/>\n| `%hshards_currency_symbol%` | Currency symbol |<br \/>\n| `%hshards_total_players%` | Total players with recorded balances |<\/p>\n<p>Supports any rank number for `top_name` and `top_balance` \u2014 not just top 10.<\/p>\n<p>&#8212;<\/p>\n<p>## Sellable Items<\/p>\n<p>Define which items players can sell for shards in `plugins\/hShards\/sellable-items.yml`:<\/p>\n<p>&#8220;`yaml<br \/>\nitems:<br \/>\n  diamond:<br \/>\n    material: DIAMOND<br \/>\n    price: 50.0<br \/>\n    enabled: true<br \/>\n    name: &#8220;&#038;bDiamond&#8221;<br \/>\n    permission: &#8220;&#8221;   # leave empty for no requirement<\/p>\n<p>  netherite_ingot:<br \/>\n    material: NETHERITE_INGOT<br \/>\n    price: 200.0<br \/>\n    enabled: true<br \/>\n    name: &#8220;&#038;8&#038;lNetherite Ingot&#8221;<br \/>\n    permission: &#8220;hshards.sell.netherite&#8221;<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## Developer API<\/p>\n<p>Other plugins can interact with hShards balances through the static API class:<\/p>\n<p>&#8220;`java<br \/>\n\/\/ Check if hShards is available before calling anything<br \/>\nif (HShardsAPI.isAvailable()) {<br \/>\n    double balance &#8211; HShardsAPI.getBalance(player);<br \/>\n    HShardsAPI.deposit(player, 100);<br \/>\n    boolean success &#8211; HShardsAPI.withdraw(player, 50);<br \/>\n    HShardsAPI.setBalance(player, 500);<\/p>\n<p>    \/\/ Formatting<br \/>\n    String formatted &#8211; HShardsAPI.format(balance);  \/\/ e.g. &#8220;\u2726 500.00&#8221;<br \/>\n    String name &#8211; HShardsAPI.getCurrencyName();      \/\/ e.g. &#8220;Shards&#8221;<\/p>\n<p>    \/\/ Leaderboard<br \/>\n    int rank &#8211; HShardsAPI.getRank(player);<br \/>\n    String topName &#8211; HShardsAPI.getLeaderboardName(1);<br \/>\n    double topBalance &#8211; HShardsAPI.getLeaderboardBalance(1);<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>Add hShards as a soft dependency in your `plugin.yml` and the API will be available whenever hShards is loaded.<\/p>\n<p>&#8212;<\/p>\n<p>## Interest System<\/p>\n<p>The interest system gives online players a percentage of their balance at a regular interval. Its completely optional and disabled by default.<\/p>\n<p>&#8220;`yaml<br \/>\ninterest:<br \/>\n  enabled: true<br \/>\n  interval: 60        # every 60 minutes<br \/>\n  percent: 1.0        # 1% of their balance<br \/>\n  max-eligible: 5000  # only the first 5000 shards count toward interest<br \/>\n  permission: &#8220;&#8221;      # require a permission node, or leave empty for everyone<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## Storage<\/p>\n<p>hShards supports two storage backends:<\/p>\n<p>&#8211; **YAML** &#8211; default, no setup required, good for small servers<br \/>\n&#8211; **SQLite** &#8211; recommended for larger servers, writes are async so it won&#8217;t affect performance<\/p>\n<p>&#8220;`yaml<br \/>\nstorage:<br \/>\n  type: SQLITE<br \/>\n  sqlite-file: &#8220;hshards.db&#8221;<br \/>\n&#8220;`<\/p>\n<p>&#8212;<\/p>\n<p>## Works great with hShop<\/p>\n<p>hShards pairs perfectly with hShop. Players earn shards through selling items, then spend them on special items in the shop that uses `HSHARDS` as their currency. The two plugins are aware of each other &#8211; hShop hooks into hShards automatically when both are present.<\/p>\n<p>&#8212;<\/p>\n<p>*Made by hPlugins by hodakazy*<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A cool secondary virtual economy.<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"_minecraft_slug":"hshards","_minecraft_project_id":"BQ3UzNXt","_minecraft_author":"hodakazy","_minecraft_license":"LicenseRef-All-Rights-Reserved","_minecraft_downloads":13,"_minecraft_follows":0,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"hshards.zip","_minecraft_size_bytes":89124,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-15T22:56:50.019263Z","_minecraft_date_created":"2026-04-02T21:22:56.069100Z","_minecraft_date_modified":"2026-04-12T09:10:17.062648Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/hshards","_minecraft_icon_attachment_id":0,"_minecraft_imported_at":"2026-06-04T17:32:49+00:00","_minecraft_import_hash":"b597e4595514425d98a830a4e80d0d6d","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,127,128,129],"mod_loader":[130,132,133,134],"minecraft_version":[62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-82464","mod","type-mod","status-publish","hentry","mod_category-bukkit","mod_category-paper","mod_category-purpur","mod_category-spigot","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>hShards - 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\/hshards\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"hShards - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A cool secondary virtual economy.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/hshards\/\" \/>\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\\\/hshards\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hshards\\\/\",\"name\":\"hShards - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"datePublished\":\"2026-06-04T17:32:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hshards\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hshards\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/hshards\\\/#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\":\"hShards\"}]},{\"@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":"hShards - 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\/hshards\/","og_locale":"en_US","og_type":"article","og_title":"hShards - Minecraft","og_description":"A cool secondary virtual economy.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/hshards\/","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\/hshards\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/hshards\/","name":"hShards - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"datePublished":"2026-06-04T17:32:48+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/hshards\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/hshards\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/hshards\/#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":"hShards"}]},{"@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\/82464","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:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=82464"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=82464"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=82464"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=82464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}