Viper Jobs

Quick rating

Community listing page, reviews here may not be monitored by the author.

Viper Jobs

By Fabric Server Essentials

No reviews yet

A Job and Quest System where Players earn money, XP, and points for mining and hunting — with daily quests, level-up rewards, leaderboards, and seamless Viper Economy extension.

Mod Loaders
Minecraft
26.3 26.2

About

Description

Viper Jobs

Viper Jobs is a high-performance, Server-Side ONLY configurable job & quest system for Minecraft 1.21-1.21.11, 26.1-26.1.2, 26.2, and 26.3. Players earn money, XP, and points for mining and hunting - with daily quests, level-up rewards, leaderboards, and seamless Viper Economy integration. Zero client mods required. Fully configurable - design your own jobs, actions, rewards, quests, and monthly prizes.

Supported Versions

Version Java Status
1.21 - 1.21.11 21 Full support
26.1 - 26.1.2 25 Full support
26.2 25 Full support
26.3 25 Full support

The 1.21 build runs on every 1.21.x server version - the admin permission check automatically adapts to old and new server permission APIs.


Purpose & Function

The core mission of this project is to give server administrators total control over how players earn rewards and progress.

  • 21 Custom Jobs: Digger, Miner, Farmer, Builder, Hunter, Lumberjack, Fisherman, Butcher, Warrior, Alchemist, Beekeeper, Nether Explorer, Smith, Enchanter, Ranger, Archaeologist, Herbalist, Conqueror, Explorer, Trapper, and Guardian - each with its own actions, XP curve, join/leave fees, and max level.
  • Action-Based Rewards: Reward block breaking and entity kills with money, XP, and job points - every action's money is individually configurable.
  • Low-Pay Defaults: All money rewards ship tuned low and can be raised to whatever you like in job_config.json.
  • Level-Up Rewards: Grant money, XP, points, and even run commands when a player reaches a level milestone - with a message on the player's screen (action bar).
  • Daily Quests: Automatically assign a configurable number of quests per day with money rewards.
  • Leaderboards: /jobs top <job> [page] for per-job levels and /jobs gtop [page] for total level across all jobs - paginated (10 players per page).
  • Monthly Prizes: Auto-grant configurable money, XP, points, and commands to the top players each month.
  • Per-Player Pricing: Override money rates and job limits per player in players/<playername>.json.
  • Viper Economy Integration: Auto-detects the Viper Economy mod (viper-economy) and its commands - money rewards just work.
  • Payment Safety: Aggregated payments, configurable retries, and a failure policy keep payouts reliable even when the economy is flaky.
  • Hot Reload: Change config on the fly - no server restart needed.

Rewards & Features

Feature Config Key Default
Block Break Rewards jobs[].actions[].type: BLOCK_BREAK ENABLED
Kill Rewards jobs[].actions[].type: KILL_ENTITY ENABLED
Money Rewards settings.moneyRewardsEnabled ENABLED
Per-Action Money jobs[].actions[].money LOW (scaled)
Job XP & Levels settings.baseXpForLevel ENABLED
Job Points actions[].points ENABLED
Level-Up Rewards settings.levelUpMoneyEnabled ENABLED
Level-Up Screen Message jobManager (action bar) ENABLED
Daily Quests quests.enabled ENABLED
Leaderboard /jobs top & /jobs gtop ENABLED (paginated)
Monthly Prizes settings.monthlyPrizes ENABLED (top 3)
Command Rewards levelRewards[].commands ENABLED
Scheduled Bonuses settings.bonuses DISABLED
Daily Income Limit settings.incomeLimitEnabled DISABLED
Join/Leave Fees settings.joinFee / settings.leaveFee DISABLED
Lock Jobs (No Leaving) settings.allowLeave false
Per-Player Prices & Job Limits players/<playername>.json ENABLED
Viper Economy Integration economy.commands AUTO-DETECT
Payment Aggregation aggregation.enabled ENABLED
Failure Policy & Retries failureHandling.policy GRANT_NON_MONEY_REWARDS
JSON Persistence data/ player files ENABLED

Enhance your server setup! Check out my other server-side mods at: Fabric Server Essentials


In-Game Commands

Player commands:

Command Description
/jobs Show your current jobs, levels, XP, points, and earnings
/jobs list List all available jobs
/jobs join <job> Join a job
/jobs leave [job] Leave your job (or the named job) - blocked when allowLeave: false
/jobs info <job> Show job details, fees, and configured actions
/jobs quests Show today's assigned quests and progress
/jobs top [job] [page] Per-job leaderboard (paginated, 10 per page)
/jobs gtop [page] Global leaderboard (total level across all jobs, paginated)

Admin commands (/jobsadmin, requires operator level 2+):

Command Description
/jobsadmin reload Hot-reload config from file
/jobsadmin status Show economy provider, failure policy, aggregation, job & quest state
/jobsadmin money <player> <amount> Grant money to a player through the active economy provider
/jobsadmin xp <player> <job> <amount> Add XP to a player in a job
/jobsadmin points <player> <job> <amount> Add job points to a player in a job
/jobsadmin join <player> <job> Force-join a player to a job
/jobsadmin leave <player> <job> Force-remove a player from a job (bypasses allowLeave)
/jobsadmin price <player> <multiplier> Set a per-player money multiplier
/jobsadmin maxjobs <player> <n> Set a per-player max-job limit (0/-1 = global)
/jobsadmin prices <player> Show a player's jobs, multipliers, and max jobs
/jobsadmin reset <player> Reset all job data for a player
/jobsadmin quests reset [player] Reassign quests for all players (or one)

Configuration

Edit config/viper-jobs/*.json after first launch:

economy.json - economy integration:

{
  "enabled": true,
  "autoDetectCommands": true,
  "validateCommandsOnStartup": true,
  "disableMoneyRewardsWhenUnavailable": true,
  "providerModIds": ["viper-economy", "viper_economy"],
  "commands": {
    "deposit": "givemoney {player} {amount}",
    "withdraw": "takemoney {player} {amount}",
    "setBalance": "setmoney {player} {amount}",
    "getBalance": "bal {player}",
    "reloadEconomy": "ecolog"
  },
  "formatting": {
    "decimalPlaces": 2,
    "minimumPayment": 0.01,
    "roundingMode": "HALF_UP"
  },
  "aggregation": {
    "enabled": true,
    "intervalTicks": 20
  },
  "failureHandling": {
    "policy": "GRANT_NON_MONEY_REWARDS",
    "maximumRetries": 1,
    "retryDelayTicks": 20,
    "logFailures": true,
    "notifyAdministrators": true
  }
}

job_config.json - jobs, rewards, and monthly prizes (auto-created on first launch; an old jobs.json is migrated automatically):

{
  "settings": {
    "maxJobsPerPlayer": 1,
    "baseXpForLevel": 100.0,
    "xpGrowth": 1.5,
    "incomeLimitEnabled": false,
    "incomeLimitPerDay": "0",
    "moneyRewardsEnabled": true,
    "levelUpMoneyEnabled": true,
    "levelUpMoney": "6",
    "joinFee": "0",
    "leaveFee": "0",
    "notifyOnPay": false,
    "notifySummaryEnabled": true,
    "notifySummaryIntervalMinutes": 30,
    "topListMax": 10,
    "broadcastJoinLeave": false,
    "allowLeave": false,
    "monthlyPrizesEnabled": true,
    "monthlyPrizesDay": 1,
    "monthlyPrizes": [
      { "rank": 1, "money": "500", "xp": 500, "points": 50, "commands": ["say {player} won the Viper Jobs monthly prize!"] },
      { "rank": 2, "money": "250", "xp": 250, "points": 25, "commands": [] },
      { "rank": 3, "money": "100", "xp": 100, "points": 10, "commands": [] }
    ],
    "globalMoneyMultiplier": 1.0
  },
  "jobs": [
    {
      "id": "miner",
      "meta": { "name": "Miner", "description": "Mine ores and earn money" },
      "maxLevel": 100,
      "joinFee": "0",
      "leaveFee": "0",
      "actions": [
        {
          "id": "diamond",
          "type": "BLOCK_BREAK",
          "blocks": ["minecraft:diamond_ore", "minecraft:deepslate_diamond_ore"],
          "xp": 20.0,
          "points": 3.0,
          "money": "1.11"
        }
      ],
      "levelRewards": [
        { "level": 10, "money": "11", "xp": 0, "points": 10, "commands": ["say {player} reached Miner level 10!"] }
      ]
    }
  ]
}

Money control: Every action has its own money value - lower it further for low pay, raise it for a richer server. settings.globalMoneyMultiplier scales all money at once. allowLeave: false locks players into their job (admins bypass with /jobsadmin leave).

Monthly prizes: On the configured day of the month (monthlyPrizesDay), the ranked top players get their configured prize - once per month. Edit money/XP/points/commands freely; commands supports {player}, {uuid}, {job}, {job_id}, {reason}.

Notification notes: By default there are no per-action chat messages (no spam while mining). Instead a colored earnings summary is sent every notifySummaryIntervalMinutes (default 30) - only if you earned something in that window. Level-ups always show a message in both chat and the action bar. Set notifySummaryEnabled: false to disable the summary, or notifyOnPay: true for instant per-action messages. topListMax caps leaderboard page size (default 10).

players/ - per-player settings (auto-created for any player who joins a job or receives a price/maxjobs override):

{
  "playerName": "Steve",
  "uuid": "00000000-0000-0000-0000-000000000000",
  "jobs": ["miner"],
  "moneyMultiplier": 1.0,
  "jobMoneyMultipliers": {},
  "maxJobs": -1
}
  • moneyMultiplier - multiplies all money this player earns (default 1.0).
  • jobMoneyMultipliers - per-job multipliers that override moneyMultiplier for specific jobs.
  • maxJobs - per-player job limit; -1 (or 0) uses the global maxJobsPerPlayer.
  • jobs - the player's current jobs, kept in sync automatically on join/leave.

quests.json - daily quests:

{
  "enabled": true,
  "daily": true,
  "resetHourUtc": 0,
  "questsPerDay": 3,
  "quests": [
    {
      "id": "miner_coal",
      "name": "Coal Rush",
      "description": "Mine 64 coal ore.",
      "job": "miner",
      "action": "coal",
      "required": 64,
      "rewards": { "money": "20", "xp": 100, "points": 5 }
    }
  ]
}

Money notes: Money rewards are paid through the active economy provider (Viper Economy by default). If the economy mod or its commands can't be detected, money rewards are automatically disabled - job XP, points, quests, and non-money rewards keep working. If your server uses a different economy mod, point the commands in economy.json at its give/take/set commands.

Hot-reload config in-game: /jobsadmin reload


Installation

  1. Drop the JAR for your Minecraft version into your server's mods/ folder
  2. Install Fabric Loader 0.19.3+ (all versions)
  3. Install Fabric API (required for all versions)
  4. (Optional) Install Viper Economy to enable money rewards - the mod auto-detects it
  5. Start the server - configs auto-create at config/viper-jobs/ (economy.json, job_config.json, quests.json)
  6. Review and customize the configs to your needs
  7. Run /jobsadmin reload or restart the server

If you previously ran a build that used jobs.json, delete it after the first launch with the new build - the mod migrates it to job_config.json automatically.


Built for administrators who want a flexible, reliable job and quest system with zero client overhead. Design your own jobs, tune your economy integration, and let your players earn their keep.