Compare commits

..
7 Commits
6 changed files with 28 additions and 21 deletions

No files matched your search

+3
View File
@@ -8,6 +8,9 @@ deploy webhooks to print changelog successfully
`<update log line>`
That's all, matcher will stop when detects next line started with `###` match
### 4.5.2 Release (02.08.2021 - 03.08.2021)
* Fixed issues with spectators get added multiple times to the players list
* Fixed Cannot invoke because "userPlot" is null
### 4.5.1 Release (15.04.2021 - 02.08.2021)
* Added 1.17 support
+1 -1
View File
@@ -26,7 +26,7 @@
<groupId>plugily.projects</groupId>
<artifactId>buildbattle</artifactId>
<version>4.5.1</version>
<version>4.5.2</version>
<name>BuildBattle</name>
<properties>
@@ -313,11 +313,12 @@ public class ArenaManager {
user.setSpectator(false);
return;
}
if(arena instanceof SoloArena) {
Plot userPlot = user.getCurrentPlot();
if(userPlot.getMembers().size() <= 1) {
((SoloArena) arena).getQueue().remove(user.getCurrentPlot());
Plot plot = arena.getPlotManager().getPlot(player);
if(plot != null) {
if(arena instanceof SoloArena) {
if(plot.getMembers().size() <= 1) {
((SoloArena) arena).getQueue().remove(plot);
}
}
}
@@ -331,7 +332,6 @@ public class ArenaManager {
user.setStat(StatsStorage.StatisticType.LOCAL_GUESS_THE_BUILD_POINTS, 0);
Plot plot = arena.getPlotManager().getPlot(player);
if(plot != null) {
if(arena instanceof TeamArena) {
plot.getMembers().remove(player);
@@ -317,6 +317,18 @@ public class BaseArena extends BukkitRunnable {
return players;
}
/**
* Get players of the game and spectators
*
* @return List with players
*/
@NotNull
public List<Player> getAllArenaPlayers() {
List<Player> allPlayers = new ArrayList<>(players);
allPlayers.addAll(spectators);
return allPlayers;
}
public List<Player> getSpectators() {
return spectators;
}
@@ -378,10 +378,7 @@ public class GuessTheBuildArena extends BaseArena {
if(getTimer() <= 0) {
scoreboardManager.stopAllScoreboards();
List<Player> players = getPlayers();
players.addAll(getSpectators());
for(Player player : players) {
for(Player player : getAllArenaPlayers()) {
teleportToEndLocation(player);
if(getGameBar() != null) {
getGameBar().removePlayer(player);
@@ -324,9 +324,8 @@ public class SoloArena extends BaseArena {
announceResults();
Location winnerLocation = winnerPlot.getTeleportLocation();
List<Player> players = getPlayers();
players.addAll(getSpectators());
for(Player player : players) {
for(Player player : getAllArenaPlayers()) {
player.teleport(winnerLocation);
String winner = getPlugin().getChatManager().colorMessage("In-Game.Messages.Voting-Messages.Winner-Title");
winner = formatWinners(winnerPlot, winner);
@@ -340,8 +339,6 @@ public class SoloArena extends BaseArena {
setTimer(getTimer() - 1);
break;
case ENDING:
List<Player> players = getPlayers();
players.addAll(getSpectators());
getScoreboardManager().stopAllScoreboards();
if(getPlugin().getConfigPreferences().getOption(ConfigPreferences.Option.BUNGEE_ENABLED)) {
getPlugin().getServer().setWhitelist(false);
@@ -349,12 +346,12 @@ public class SoloArena extends BaseArena {
setVoting(false);
setThemeTimerSet(false);
if(getPlugin().getConfig().getBoolean("Firework-When-Game-Ends", true)) {
for(Player player : players) {
for(Player player : getAllArenaPlayers()) {
MiscUtils.spawnRandomFirework(player.getLocation());
}
}
if(getTimer() <= 0) {
for(Player player : players) {
for(Player player : getAllArenaPlayers()) {
User user = plugin.getUserManager().getUser(player);
user.removeScoreboard(this);
user.setSpectator(false);
@@ -591,9 +588,7 @@ public class SoloArena extends BaseArena {
}
formattedSummary.add(message);
}
List<Player> players = getPlayers();
players.addAll(getSpectators());
players.forEach(player -> formattedSummary.forEach(msg -> MiscUtils.sendCenteredMessage(player, msg)));
getAllArenaPlayers().forEach(player -> formattedSummary.forEach(msg -> MiscUtils.sendCenteredMessage(player, msg)));
for(Map.Entry<Integer, List<Player>> map : topList.entrySet()) {
for(Player p : map.getValue()) {
if(map.getKey() > 3) {