1
0
mirror of https://github.com/Zrips/Jobs.git synced 2024-11-29 05:55:27 +01:00

Properly updating current player count in the job

This commit is contained in:
Zrips 2024-04-16 12:21:30 +03:00
parent 1fb79f4ba2
commit 746c4313cb
2 changed files with 17 additions and 5 deletions

View File

@ -488,8 +488,9 @@ public class PlayerManager {
Jobs.takeSlot(job);
Jobs.getSignUtil().updateAllSign(job);
job.updateTotalPlayers();
job.modifyTotalPlayerWorking(1);
jPlayer.maxJobsEquation = CMINumber.clamp(getMaxJobs(jPlayer), 0, 9999);
// Removing from cached item boost for recalculation
@ -534,7 +535,8 @@ public class PlayerManager {
jPlayer.getLeftTimes().remove(jPlayer.getUniqueId());
Jobs.getSignUtil().updateAllSign(job);
job.updateTotalPlayers();
job.modifyTotalPlayerWorking(-1);
// Removing from cached item boost for recalculation
cache.remove(jPlayer.getUniqueId());
@ -565,9 +567,9 @@ public class PlayerManager {
if (!jPlayer.transferJob(oldjob, newjob) || !Jobs.getJobsDAO().quitJob(jPlayer, oldjob))
return false;
oldjob.updateTotalPlayers();
oldjob.modifyTotalPlayerWorking(-1);
Jobs.getJobsDAO().joinJob(jPlayer, jPlayer.getJobProgression(newjob));
newjob.updateTotalPlayers();
newjob.modifyTotalPlayerWorking(1);
jPlayer.save();
return true;
}

View File

@ -211,6 +211,16 @@ public class Job {
return totalPlayers;
}
/**
*
* @param change the amount to change
* @return the new total
*/
public int modifyTotalPlayerWorking(int change) {
totalPlayers = CMINumber.clamp(totalPlayers + change, 0, Integer.MAX_VALUE);
updateBonus();
return totalPlayers;
}
/**
* Updates the total players property from database synchronously.