Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
VJobs
A data-driven jobs plugin. Players join a job, get paid for the actions that belong to it and level up toward a prestige reset. Every job, price, XP curve, perk, quest and event lives in config.yml, nothing is hardcoded.
Eighteen jobs ship by default: Miner, Farmer, Woodcutter, Hunter, Fisherman, Builder, Digger, Brewer, Enchanter, Weaponsmith, Crafter, Explorer, Cook, Trader, Redstoner, Tamer, Archaeologist and Blacksmith. Add, remove or rebalance any of them without touching code. The full list of jobs, actions and config keys is in FEATURES.md, the long form is in the wiki.
Features
Progression
- Levels with a configurable XP curve, prestige tiers with a permanent bonus, titles per level and a
[Miner ★3]style prefix for chat and PlaceholderAPI - Perk trees per job: points from levels and prestige, perks for extra money or XP, double drops, auto-replant, rare fishing loot, permissions or commands
- Daily and weekly quests rolled from a pool per job
- 27 action types, among them breaking, harvesting, killing, fishing, smelting, cooking, brewing, enchanting, repairing, breeding, taming, shearing, milking, villager trades, brushing suspicious sand, distance travelled and elytra flight
Economy and balance
- Vault, PlayerPoints, CoinsEngine or a console command as payout target, chosen per job; other plugins can add their own
- Diminishing returns for mass farming, optional dynamic prices that follow what the whole server does
- Daily cap per job (raised by permission), the older income-per-interval cap, and a tax that fills a server fund
- Payouts are summed up and shown once in the action bar, a boss bar or chat
Anti-exploit
- Player-placed blocks are remembered in the chunk data and survive restarts; planted crops still pay once grown
- Spawner mobs pay nothing or a configurable share, silk-touch mine-place-mine loops pay nothing
- AFK detection: no payouts without looking around or typing, which stops water and piston farms
- WorldGuard region flag
vjobs-payout, per-location payout cooldown, disabled worlds, no pay in creative
Events and community
- Contests with automatic start, standings and rewards for the top places
- Boost events on a cron schedule ("every Saturday 2x for farmers") next to the manual
/vjobs admin boost - Team goals for Towny towns, Lands, SimpleClans clans or any group another plugin provides
- Overall and per-job leaderboards, signs, placeholders for hologram plugins, Discord webhook for milestones
Technical
- Paper, Purpur, Spigot and Folia, 1.21 and newer
- SQLite or MySQL (HikariCP), batched saves in one transaction, cached leaderboards, database work off the main thread
- Public API with events, economy backends and group providers, published as a Maven artifact
- Importer for Jobs Reborn databases
Requirements
- Paper, Purpur, Spigot or Folia 1.21+ with Java 21
- An economy: Vault with an economy plugin, PlayerPoints or CoinsEngine
- Optional: PlaceholderAPI, WorldGuard, mcMMO, MythicMobs, Towny, Lands, SimpleClans
Installation
- Drop
VJobs-<version>.jarintoplugins/. - Start the server once to generate
config.ymland the message files. - Adjust
config.ymland run/vjobs admin reload.
Coming from Jobs Reborn? /vjobs admin import jobsreborn copies levels and XP over, see the wiki page on migrating.
Commands
| Command | Description |
|---|---|
/vjobs |
Job menu |
/vjobs join <job> / leave <job> |
Join or leave a job |
/vjobs info <job> |
Job details with price list and progress |
/vjobs prices <job> |
Price list in chat, with your multiplier and market trend |
/vjobs top [job|total] |
Leaderboard |
/vjobs perks [job] |
Perk shop |
/vjobs quests |
Daily and weekly quests |
/vjobs stats |
Statistics: money earned, actions, time worked, most common action |
/vjobs contest |
Standings of the running contest |
/vjobs prestige <job> |
Prestige a maxed job |
/vjobs lang <locale> |
Change your language |
/vjobs togglenotify |
Payout messages on or off |
/vjobs admin ... |
reload, set, setxp, setprestige, boost, contest, fund, resetquests, resetperks, import, editor, signs |
/jobs and /job work as aliases.
Permissions
| Permission | Description | Default |
|---|---|---|
jobs.use |
Use the jobs system | true |
jobs.admin |
Admin commands | op |
jobs.admin.editor |
In-game job editor | op |
jobs.admin.signs |
Create [VJobs] signs |
op |
jobs.limit.<n> |
Hold n jobs at once |
false |
jobs.cooldown.hour / jobs.cooldown.instant |
Shorter job-switch cooldown | false |
jobs.multiplier.vip / jobs.multiplier.mvp |
Payout multipliers | false |
jobs.dailylimit.vip / jobs.dailylimit.mvp |
Higher daily cap | false |
Developer API
The API is published to the Codeberg Maven registry. Add VJobs as depend or softdepend in your plugin.yml.
Maven:
<repository>
<id>codeberg-lucasthcr</id>
<url>https://codeberg.org/api/packages/LucasTHCR/maven</url>
</repository>
<dependency>
<groupId>com.vjobs</groupId>
<artifactId>vjobs-api</artifactId>
<version>2.0-RELEASE</version>
<scope>provided</scope>
</dependency>
Gradle (Kotlin DSL):
repositories {
maven("https://codeberg.org/api/packages/LucasTHCR/maven")
}
dependencies {
compileOnly("com.vjobs:vjobs-api:2.0-RELEASE")
}
A short example:
VJobsApi api = VJobsProvider.get();
// a bonus for diamonds on weekends
@EventHandler
public void onPayout(JobPayoutEvent event) {
if (event.getKey().equals("DIAMOND_ORE")) event.setMoney(event.getMoney() * 1.5);
}
// let jobs pay in your own currency: economy: tokens in config.yml
api.registerEconomyBackend(new TokenBackend());
Events: JobPayoutEvent, JobLevelUpEvent, JobPrestigeEvent, JobJoinEvent, JobLeaveEvent, PerkPurchaseEvent, QuestCompleteEvent, ContestEndEvent. Everything else is in the wiki under Developer API.
Building from source
mvn clean package
The plugin jar ends up in vjobs-plugin/target/VJobs-<version>.jar, the API jar with sources and javadoc in vjobs-api/target/.
License
The plugin is released under the GNU GPL v3. The API module (vjobs-api) is released under the Apache License 2.0, so plugins under any license can compile against it.


