#
Developer API
You can import ExcellentJobs to your project using Maven. Replace {VERSION}
with the latest version below:
<repository>
<id>nightexpress-releases</id>
<url>https://repo.nightexpressdev.com/releases</url>
</repository>
<dependency>
<groupId>su.nightexpress.excellentjobs</groupId>
<artifactId>ExcellentJobs</artifactId>
<version>{VERSION}</version>
</dependency>
#
Events
- JobJoinEvent - Called when player is about to join a job. Cancellable
- JobLeaveEvent - Called when player is about to leave a job. Cancellable
- JobLevelDownEven - Called when player downgraded job level.
- JobLevelUpEvent - Called when player leveled up in a job.
- JobObjectiveIncomeEvent - Called when job's objective is about to produce some currency. Cancellable
- JobObjectiveXPEvent - Called when job's objective is about to produce job XP. Cancellable
- JobPrePaymentEvent - Called when plugin calculates job payment amount for a player. Cancellable
- JobPaymentEvent - Called when plugin is about to pay player for their job. Cancellable
- JobXPGainEvent - Called when player is about to obtain XP for a job. Cancellable
- JobXPLoseEvent - Called when player is about to lose job XP. Cancellable
#
Data Access
// Currency management.
CurrencyManager currencyManager = JobsAPI.getCurrencyManager();
Currency currency = currencyManager.getCurrency(String id);
// User data management.
UserManager userManager = JobsAPI.getUserManager();
JobUser user = userManager.getUserData(Player player);
JobUser user = userManager.getUserData(UUID playerId);
JobUser user = userManager.getUserData(String playerName);
// Async user access.
userManager.getUserDataAsync(UUID playerId);
userManager.getUserDataAsync(String playerName);
// Or (recommended)
userManager.getUserDataAndPerformAsync(UUID playerId, Consumer<JobUser> consumer);
userManager.getUserDataAndPerformAsync(String playerName, Consumer<JobUser> consumer);
// Job management.
JobManager jobManager = JobsAPI.getJobManager();
Job job = jobManager.getJobById(String id);
Collection<Job> jobs = jobManager.getJobs();
// Zone management.
ZoneManager zoneManager = JobsAPI.getZoneManager();
Zone zone = zoneManager.getZoneById(String id);
Zone zone = zoneManager.getZoneByLocation(Location location);
Zone zone = zoneManager.getZone(Block block);
Zone zone = zoneManager.getZone(Entity entity);