{"id":108307,"date":"2026-06-06T09:19:02","date_gmt":"2026-06-06T06:19:02","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/mysticalreferral\/"},"modified":"2026-06-06T09:19:02","modified_gmt":"2026-06-06T06:19:02","slug":"mysticalreferral","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/mysticalreferral\/","title":{"rendered":"MysticalReferral"},"content":{"rendered":"<p>  # MysticalReferral<\/p>\n<p>  A feature-rich referral and invite reward system plugin for Minecraft Paper servers.<\/p>\n<p>  Players can generate invite codes, share them with friends, and both parties receive configurable rewards when a code is used.<\/p>\n<p>  &#8212;<\/p>\n<p>  ## Features<\/p>\n<p>  &#8211; **Invite code generation** &#8211; short, unique, easy-to-share codes with click-to-copy<br \/>\n  &#8211; **Reward system** &#8211; fully configurable console commands for both inviter and invited player<br \/>\n  &#8211; **Milestone\/tier rewards** &#8211; bonus rewards at configurable invite thresholds (5, 10, 25, 50, etc.)<br \/>\n  &#8211; **Offline reward queue** &#8211; rewards are queued and delivered when offline inviters come back online<br \/>\n  &#8211; **Sound &#038; title effects** &#8211; configurable sounds and title screens on successful referrals<br \/>\n  &#8211; **Referral history** &#8211; players can view who they&#8217;ve referred and when<br \/>\n  &#8211; **Leaderboard** &#8211; server-wide top referrers ranking<br \/>\n  &#8211; **Player stats** &#8211; personal referral statistics<br \/>\n  &#8211; **Admin commands** &#8211; info, reset, and setcode commands for server administrators<br \/>\n  &#8211; **Code expiration** &#8211; optional time-limited referral codes<br \/>\n  &#8211; **PlaceholderAPI support** &#8211; expose referral data to scoreboards, chat, etc.<br \/>\n  &#8211; **Update checker** &#8211; notifies admins of new versions on login<br \/>\n  &#8211; **Anti-abuse protection:**<br \/>\n    &#8211; Self-referral prevention<br \/>\n    &#8211; One-time use per player<br \/>\n    &#8211; Configurable minimum playtime requirement<br \/>\n    &#8211; Optional IP address check to block alt-account abuse<br \/>\n  &#8211; **MySQL storage** with HikariCP connection pooling<br \/>\n  &#8211; **Custom referral codes** &#8211; players with permission can set their own vanity codes<br \/>\n  &#8211; **Top referrer scheduled rewards** &#8211; automatically rewards top N referrers on a daily\/weekly schedule<br \/>\n  &#8211; **Config versioning** &#8211; automatic config migration when new settings are added (no manual deletion needed)<br \/>\n  &#8211; **Fully configurable** messages, rewards, effects, and settings<\/p>\n<p>  &#8212;<\/p>\n<p>  ## Requirements<\/p>\n<p>  &#8211; Minecraft **1.21.x**<br \/>\n  &#8211; **Paper** server (or forks like Purpur)<br \/>\n  &#8211; **Java 21**<br \/>\n  &#8211; **MySQL 8.0+** database<\/p>\n<p>  ### Optional Dependencies<\/p>\n<p>  &#8211; **PlaceholderAPI** &#8211; for placeholder support in chat, scoreboards, etc.<\/p>\n<p>  &#8212;<\/p>\n<p>  ## Installation<\/p>\n<p>  1. Download `MysticalReferral-1.0.0.jar`<br \/>\n  2. Place the JAR in your server&#8217;s `plugins\/` folder<br \/>\n  3. Start the server once to generate `config.yml`<br \/>\n  4. Edit `plugins\/MysticalReferral\/config.yml` with your MySQL credentials<br \/>\n  5. Restart the server or run `\/referral reload`<\/p>\n<p>  &#8212;<\/p>\n<p>  ## Building from Source<\/p>\n<p>  &#8220;`bash<br \/>\n  git clone https:\/\/github.com\/your-org\/MysticalReferral.git<br \/>\n  cd MysticalReferral<br \/>\n  mvn clean package<br \/>\n  &#8220;`<\/p>\n<p>  The compiled JAR will be at `target\/MysticalReferral-1.0.0.jar`.<\/p>\n<p>  Build requirements: Java 21, Maven 3.9+<\/p>\n<p>  &#8212;<\/p>\n<p>  ## Configuration<\/p>\n<p>  ### Database<\/p>\n<p>  &#8220;`yaml<br \/>\n  database:<br \/>\n    host: localhost<br \/>\n    port: 3306<br \/>\n    name: mysticalreferral<br \/>\n    username: root<br \/>\n    password: password<br \/>\n    pool:<br \/>\n      maximum-pool-size: 10<br \/>\n      minimum-idle: 2<br \/>\n      connection-timeout: 30000<br \/>\n      idle-timeout: 600000<br \/>\n      max-lifetime: 1800000<br \/>\n  &#8220;`<\/p>\n<p>  Create the database beforehand:<\/p>\n<p>  &#8220;`<br \/>\n  CREATE DATABASE mysticalreferral;<br \/>\n  &#8220;`<\/p>\n<p>  ### Settings<\/p>\n<p>  &#8220;`yaml<br \/>\n  settings:<br \/>\n    code-length: 5<br \/>\n    min-playtime-minutes: 10<br \/>\n    allow-ip-referrals: false<br \/>\n    leaderboard-size: 10<br \/>\n    code-expiration-days: 0<br \/>\n    language: en<br \/>\n    update-checker: true<br \/>\n  &#8220;`<\/p>\n<p>  ### Rewards<\/p>\n<p>  Rewards are executed as **console commands**. Use `%player%` as a placeholder for the player&#8217;s name.<\/p>\n<p>  &#8220;`yaml<br \/>\n  rewards:<br \/>\n    inviter:<br \/>\n      commands:<br \/>\n        &#8211; &#8220;give %player% diamond 2&#8221;<br \/>\n        &#8211; &#8220;eco give %player% 500&#8221;<br \/>\n    invited:<br \/>\n      commands:<br \/>\n        &#8211; &#8220;give %player% diamond 1&#8221;<br \/>\n        &#8211; &#8220;eco give %player% 100&#8221;<br \/>\n  &#8220;`<\/p>\n<p>  ### Milestone Rewards<\/p>\n<p>  &#8220;`yaml<br \/>\n  milestones:<br \/>\n    5:<br \/>\n      commands:<br \/>\n        &#8211; &#8220;give %player% emerald 5&#8221;<br \/>\n      message: &#8220;&#038;a&#038;lMilestone! &#038;eYou reached &#038;b5 &#038;einvites!&#8221;<br \/>\n    10:<br \/>\n      commands:<br \/>\n        &#8211; &#8220;give %player% emerald 16&#8221;<br \/>\n        &#8211; &#8220;eco give %player% 2000&#8221;<br \/>\n      message: &#8220;&#038;a&#038;lMilestone! &#038;eYou reached &#038;b10 &#038;einvites!&#8221;<br \/>\n  &#8220;`<\/p>\n<p>  ### Effects<\/p>\n<p>  &#8220;`yaml<br \/>\n  effects:<br \/>\n    sound:<br \/>\n      enabled: true<br \/>\n      type: ENTITY_PLAYER_LEVELUP<br \/>\n      volume: 1.0<br \/>\n      pitch: 1.0<br \/>\n    title:<br \/>\n      enabled: true<br \/>\n      title: &#8220;&#038;a&#038;lReferral Used!&#8221;<br \/>\n      subtitle: &#8220;&#038;7You and &#038;e%player% &#038;7received rewards!&#8221;<br \/>\n    inviter-title:<br \/>\n      enabled: true<br \/>\n      title: &#8220;&#038;a&#038;lNew Referral!&#8221;<br \/>\n      subtitle: &#8220;&#038;e%player% &#038;7used your code!&#8221;<br \/>\n  &#8220;`<\/p>\n<p>  ### Custom Referral Codes<\/p>\n<p>  &#8220;`yaml<br \/>\n  custom-codes:<br \/>\n    enabled: true<br \/>\n    min-length: 3<br \/>\n    max-length: 16<br \/>\n    allowed-pattern: &#8220;^[A-Za-z0-9_]+$&#8221;<br \/>\n    force-uppercase: true<br \/>\n  &#8220;`<\/p>\n<p>  ### Top Referrer Scheduled Rewards<\/p>\n<p>  &#8220;`yaml<br \/>\n  top-rewards:<br \/>\n    enabled: false<br \/>\n    interval-minutes: 1440<br \/>\n    top-count: 3<br \/>\n    broadcast: true<br \/>\n    positions:<br \/>\n      1:<br \/>\n        commands:<br \/>\n          &#8211; &#8220;give %player% netherite_ingot 3&#8221;<br \/>\n        message: &#8220;#1 Top Referrer! Congrats %player%!&#8221;<br \/>\n  &#8220;`<\/p>\n<p>  &#8212;<\/p>\n<p>  ## Commands<\/p>\n<p>  | Command | Description | Permission |<br \/>\n  |&#8212;|&#8212;|&#8212;|<br \/>\n  | `\/invite` | Generate or view your referral code (click-to-copy) | `mysticalref.invite` |<br \/>\n  | `\/invite set <code>` | Set a custom vanity referral code | `mysticalref.customcode` |<br \/>\n  | `\/ref <code>` | Use a referral code | `mysticalref.use` |<br \/>\n  | `\/referral stats` | View your referral stats | `mysticalref.referral` |<br \/>\n  | `\/referral top` | View the leaderboard | `mysticalref.referral` |<br \/>\n  | `\/referral history` | View who you've referred | `mysticalref.referral` |<br \/>\n  | `\/referral reload` | Reload configuration | `mysticalref.reload` |<br \/>\n  | `\/referral admin info <player>` | View a player's referral info | `mysticalref.admin` |<br \/>\n  | `\/referral admin reset <player> [confirm]` | Reset a player's referral data | `mysticalref.admin` |<br \/>\n  | `\/referral admin setcode <player> <code>` | Set a custom referral code | `mysticalref.admin` |<\/p>\n<p>  ---<\/p>\n<p>  ## License<\/p>\n<p>  This project is provided as-is for use on Minecraft servers.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A feature-rich referral and invite reward system plugin for Minecraft Paper servers.<\/p>\n","protected":false},"featured_media":108308,"template":"","meta":{"_minecraft_slug":"mysticalreferral","_minecraft_project_id":"lWCaIvYW","_minecraft_author":"mysticalcraft-ancientvipers","_minecraft_license":"LicenseRef-All-Rights-Reserved","_minecraft_downloads":21,"_minecraft_follows":1,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"mysticalreferral.zip","_minecraft_size_bytes":4389612,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-15T22:28:28.335155Z","_minecraft_date_created":"2026-03-12T08:38:02.888266Z","_minecraft_date_modified":"2026-03-09T23:32:50.927918Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/mysticalreferral","_minecraft_icon_attachment_id":108308,"_minecraft_imported_at":"2026-06-06T06:19:03+00:00","_minecraft_import_hash":"1decf5cb11d92b240f8c957a11e264c8","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[127],"mod_loader":[132],"minecraft_version":[62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-108307","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-paper","mod_loader-paper","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>MysticalReferral - 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\/mysticalreferral\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MysticalReferral - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A feature-rich referral and invite reward system plugin for Minecraft Paper servers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/mysticalreferral\/\" \/>\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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mysticalreferral\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mysticalreferral\\\/\",\"name\":\"MysticalReferral - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mysticalreferral\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mysticalreferral\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/mysticalreferral-icon-842925cb5fbcd85ad68c936fce9ab554587b0406_96.webp\",\"datePublished\":\"2026-06-06T06:19:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mysticalreferral\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mysticalreferral\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mysticalreferral\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/mysticalreferral-icon-842925cb5fbcd85ad68c936fce9ab554587b0406_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/mysticalreferral-icon-842925cb5fbcd85ad68c936fce9ab554587b0406_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mysticalreferral\\\/#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\":\"MysticalReferral\"}]},{\"@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":"MysticalReferral - 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\/mysticalreferral\/","og_locale":"en_US","og_type":"article","og_title":"MysticalReferral - Minecraft","og_description":"A feature-rich referral and invite reward system plugin for Minecraft Paper servers.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/mysticalreferral\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/mysticalreferral\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/mysticalreferral\/","name":"MysticalReferral - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/mysticalreferral\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/mysticalreferral\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/mysticalreferral-icon-842925cb5fbcd85ad68c936fce9ab554587b0406_96.webp","datePublished":"2026-06-06T06:19:02+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/mysticalreferral\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/mysticalreferral\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/mysticalreferral\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/mysticalreferral-icon-842925cb5fbcd85ad68c936fce9ab554587b0406_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/mysticalreferral-icon-842925cb5fbcd85ad68c936fce9ab554587b0406_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/mysticalreferral\/#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":"MysticalReferral"}]},{"@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\/108307","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\/108308"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=108307"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=108307"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=108307"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=108307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}