MrUltimateJobs plugin = (MrUltimateJobs) Bukkit.getPluginManager().getPlugin("MrUltimateJobs");
eu.mrneznamy.mrultimatejobs.api.MrUltimateJobsAPI api = plugin.getAPI();
// Specific job
int level = api.getPlayerJobLevel(player, "miner");
double jobMoney = api.getPlayerJobMoney(player, "miner");
// Any/all jobs
double totalMoney = api.getPlayerTotalMoney(player);
boolean inMiner = api.isInJob(player, "miner");
// Open main jobs menu
plugin.getMenuManager().openHeadMenu(player);
// Open rewards for a specific job
plugin.getMenuManager().openRewardsMenu(player, "miner");
// Earn money in a specific job
communityQuestManager.updateMrUltimateJobsMoneyQuests(player.getUniqueId(), "miner", earnedMoney);
// Earn money in any job
communityQuestManager.updateMrUltimateJobsMoneyAnyJobQuests(player.getUniqueId(), earnedMoney);
// Gain level in a specific job
communityQuestManager.updateMrUltimateJobsLevelQuests(player.getUniqueId(), "miner", 1);
// Gain level in any job
communityQuestManager.updateMrUltimateJobsLevelAnyJobQuests(player.getUniqueId(), 1);
// Called when player earns money in a job
eu.mrneznamy.mrultimatejobs.events.JobMoneyEarnedEvent
- getPlayer()
- getJobName()
- getAmount()
// Called when player levels up in a job
eu.mrneznamy.mrultimatejobs.events.JobLevelUpEvent
- getPlayer()
- getJobName()
- getNewLevel()
- Players can have multiple active jobs simultaneously (stored under
Active-Jobs
in playerdata).
- Per-job stats (level, xp, moneyEarned) are persisted under
jobs.<jobName>
.
- API methods always take
jobName
to target the correct job (except the legacy fallback below).
// Deprecated compatibility: sets level for the first active job
plugin.getPlayerJobManager().setPlayerJobLevel(player, /*level*/ 10);
// Prefer the multi-job version:
plugin.getPlayerJobManager().setPlayerJobLevel(player, "miner", 10);
- ALL-Levels rewards (if configured) are executed automatically on any level-up.
- Specific level rewards are NOT auto-given. The player must claim them in the Rewards GUI.
- Rewards GUI shows status by material:
- Claimed →
Claimed
material (e.g., GREEN_STAINED_GLASS_PANE)
- Unclaimed (available) →
Unclaimed
material (e.g., BLACK_STAINED_GLASS_PANE)
- NextLevel →
NextLevel
material (e.g., ORANGE_STAINED_GLASS_PANE)
- NotAvaible →
NotAvaible
material (e.g., RED_STAINED_GLASS_PANE)
- After a successful claim, level is marked claimed in playerdata to prevent re-claim.
- Title placeholder
[JobName]
uses JobConfigName
from the job YAML.
- Navigation keys (Back / Next / Previous) are enabled and support integer or list slot configs.
- Claim executes
MrUltimateJobs.Job.System.Levels-Rewards.<level>.Commands
with [PlayerName]
replacement.
<repository>
<id>mrneznamy-releases</id>
<url>https://depency.mrneznamy.eu/repository/maven-releases/</url>
</repository>
<dependency>
<groupId>eu.mrneznamy</groupId>
<artifactId>MrUltimateJobs</artifactId>
<version>1.0.0</version>
<scope>provided</scope>
</dependency>