Referenciadev
API
JobsService y los siete eventos de la API de Exylia.
ExyliaJobs publica JobsService y siete eventos en exylia-api (net.exylia.lib.api.jobs), incluidos desde ExyliaLib v1.480.0. Consulta la página de la API de ExyliaLib para añadir el artefacto (compileOnly).
int mining = ExyliaAPI.get(JobsService.class)
.map(jobs -> jobs.level(player.getUniqueId(), "miner"))
.orElse(0);JobsService
Lee de memoria: solo jugadores conectados (los jugadores desconectados responden como si no tuvieran trabajos). Seguro desde cualquier hilo.
| Método | Devuelve |
|---|---|
jobIds() | Todos los ids de trabajo que conoce el servidor, activados o no. |
jobsOf(UUID) | Un JobLevel(jobId, level, xp, prestige) por cada trabajo que se tiene. |
level(UUID, String jobId) | El nivel, o 0 si no se tiene. |
Eventos
Todos en net.exylia.lib.api.jobs.event, lanzados en el hilo del jugador (uno cancelable se lanza antes de escribir nada).
| Evento | Cancelable | Se lanza cuando | Accesores |
|---|---|---|---|
JobJoinEvent | sí | Un jugador está a punto de apuntarse a un trabajo. | getPlayer(), getJobId() |
JobLeaveEvent | sí | Un jugador está a punto de dejar un trabajo. | getPlayer(), getJobId() |
JobLevelUpEvent | no | Se alcanza un nivel (un evento por nivel), después de guardarlo. | getJobId(), getOldLevel(), getNewLevel() |
JobPayoutEvent | sí | Tras cada paso del pago, antes de dar el dinero y la xp. | getJobId(), getAction(), getTarget(), getMoney()/setMoney, getXp()/setXp |
JobPerkChosenEvent | sí | Una mejora está a punto de elegirse o cambiarse. | getJobId(), getTier(), getPerkKey(), isSwap() |
JobPrestigeEvent | sí | Antes de reiniciar el nivel. | getJobId(), getNewStars() |
WorkOrderFilledEvent | no | Se entregaron y pagaron unidades. | getOrderId(), getBuyer(), getDeliverer(), getJobId(), getItemId(), getUnits(), getPaid() |
getAction() es el nombre de la acción en mayúsculas (BREAK, KILL, FISH...).
¿Falta algo en esta página? Dínoslo en Discord