Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,14 @@ public void init(Player player, BossBar bar) {
*/
protected abstract void update(Player player, BossBar bar);

/**
* Détermine la complétion de la boss bar.
*
* @param player Le joueur
* @return La complétion de la boss bar
*/
protected abstract Float progress(Player player);

/**
* Détermine la couleur de la boss bar.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ private static void updatePlayer(Player player) {
playerBars.put(id, existing);

base.update(player, existing);
existing.progress(base.progress(player));
playerLastUpdate.put(id, now);
continue;
}
Expand All @@ -114,6 +115,7 @@ private static void updatePlayer(Player player) {

if (now - last >= intervalMillis) {
base.update(player, existing);
existing.progress(base.progress(player));
playerLastUpdate.put(id, now);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ protected void update(Player player, BossBar bar) {
bar.name(HelpConfigManager.getHelpMessages().get(indexMessage));
}

@Override
protected Float progress(Player player) {
return 0f;
}

/**
* @param player Le joueur
* @return La couleur de la boss bar
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@ protected String id() {
}

@Override
protected void update(Player player, BossBar bar) {
DreamPlayer dreamPlayer = DreamManager.getDreamPlayer(player);
protected void update(Player player, BossBar bar) {}

if (dreamPlayer == null) return;
@Override
protected Float progress(Player player) {
DreamPlayer dreamPlayer = DreamManager.getDreamPlayer(player);

float progress = Math.min(1, (float) dreamPlayer.getDreamTime() / dreamPlayer.getMaxDreamTime());
if (dreamPlayer == null) return null;

bar.progress(progress);
return Math.min(1, (float) dreamPlayer.getDreamTime() / dreamPlayer.getMaxDreamTime());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,28 @@ protected void update(Player player, BossBar bar) {
}
}

@Override
protected Float progress(Player player) {
int currentStep = MilestonesManager.getPlayerStep(milestone.getType(), player);

MilestoneStep[] steps = milestone.getStepEnum();

if (currentStep >= steps.length) return null;

int maxStep = steps.length;
MilestoneStep step = steps[currentStep];
MilestoneQuest quest = step.getQuest();

int progress = quest.getProgress(player.getUniqueId());
int goal = quest.getCurrentTarget(player.getUniqueId());

if (goal <= 1) {
return (float) currentStep / maxStep;
} else {
return (float) progress / goal;
}
}

@Override
protected BossBar.Color color(Player player) {
return milestone.getBossBarOptions().color();
Expand Down
Loading