Skip to content

Commit

Permalink
The players counter now displays the player count before the game.
Browse files Browse the repository at this point in the history
  • Loading branch information
AmauryCarrade committed Dec 27, 2014
1 parent c441a18 commit bbec498
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 1 deletion.
22 changes: 21 additions & 1 deletion src/main/java/me/azenet/UHPlugin/UHScoreboardManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ public UHScoreboardManager(UHPlugin plugin) {
sidebar.addEntry(this.getText("episode", 0), true);
}

sidebar.addEntry(this.getText("players", 0), true);
sidebar.addEntry(this.getText("players", p.getServer().getOnlinePlayers().length), true);

if(p.getConfig().getBoolean("episodes.enabled") && p.getConfig().getBoolean("scoreboard.timer")) {
sidebar.addEntry(UHSidebarObjective.SEPARATOR, true);
Expand All @@ -112,6 +112,26 @@ public UHScoreboardManager(UHPlugin plugin) {
}
}

/**
* Used to displays the player count before the beginning of the game.
*
* To be called when a player joins.
*/
public void addPlayerBeforeStart() {
sidebar.updateEntry(this.getText("players", p.getServer().getOnlinePlayers().length - 1),
this.getText("players", p.getServer().getOnlinePlayers().length));
}

/**
* Used to displays the player count before the beginning of the game.
*
* To be called when a player leaves.
*/
public void removePlayerBeforeStart() {
sidebar.updateEntry(this.getText("players", p.getServer().getOnlinePlayers().length + 1),
this.getText("players", p.getServer().getOnlinePlayers().length));
}

/**
* Initializes the scoreboard just after the beginning of the game.
*/
Expand Down
15 changes: 15 additions & 0 deletions src/main/java/me/azenet/UHPlugin/listeners/UHGameListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerLoginEvent.Result;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.server.ServerListPingEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.SkullMeta;
Expand Down Expand Up @@ -363,6 +364,9 @@ public void onPlayerJoin(final PlayerJoinEvent ev) {
// Initialization of the player (teleportation, life, health objective score...).
p.getGameManager().initPlayer(ev.getPlayer());

// Scoreboard update
p.getScoreboardManager().addPlayerBeforeStart();

// Teams selector.
if(p.getConfig().getBoolean("teams-options.gui.autoDisplay") && p.getTeamManager().getTeams().size() != 0) {
p.getServer().getScheduler().runTaskLater(p, new Runnable() {
Expand Down Expand Up @@ -439,6 +443,17 @@ public void run() {
}
}

/**
* Used to update the scoreboard before the beginning of the game.
* @param ev
*/
public void onPlayerLeave(PlayerQuitEvent ev) {
if(!p.getGameManager().isGameStarted()) {
// Scoreboard update
p.getScoreboardManager().removePlayerBeforeStart();
}
}


/**
* Used to prevent players from breaking blocks if the game is not currently running.
Expand Down

0 comments on commit bbec498

Please sign in to comment.