Fix Maplist bug & GameTimer error on join
This commit is contained in:
parent
ca3060321b
commit
e40b53713f
3 changed files with 17 additions and 17 deletions
|
|
@ -20,8 +20,6 @@ public class ForceStart implements CommandExecutor {
|
||||||
|
|
||||||
public FileConfiguration config = PS3Minigames.INSTANCE.getConfig();
|
public FileConfiguration config = PS3Minigames.INSTANCE.getConfig();
|
||||||
|
|
||||||
public PS3Minigames plugin = PS3Minigames.INSTANCE;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||||
if (args.length == 1) {
|
if (args.length == 1) {
|
||||||
|
|
@ -33,7 +31,7 @@ public class ForceStart implements CommandExecutor {
|
||||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.force-starting-game").replace("%map%", world.getName())));
|
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.force-starting-game").replace("%map%", world.getName())));
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.world-not-found")));
|
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.world-not-found").replace("%world%", args[0])));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ public class MapList implements CommandExecutor {
|
||||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||||
if (args.length == 0) {
|
if (args.length == 0) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
PS3Minigames.INSTANCE.getMultiverseCore().getMVWorldManager().getMVWorlds().stream().filter(world -> !world.getName().contains("world")).forEach(world -> sb.append(world.getName()).append(", "));
|
PS3Minigames.INSTANCE.getMultiverseCore().getMVWorldManager().getMVWorlds().stream().filter(world -> !world.getName().contains("world") && !world.getName().contains(config.getString("spawn-lobby.world"))).forEach(world -> sb.append(world.getName()).append(", "));
|
||||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.available-maps")));
|
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', config.getString("messages.available-maps")));
|
||||||
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&6" + sb));
|
sender.sendMessage(ChatColor.translateAlternateColorCodes('&', "&6" + sb));
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -49,36 +49,38 @@ public class JoinQuitListener implements Listener {
|
||||||
|
|
||||||
// Send all players in the lobby the join message
|
// Send all players in the lobby the join message
|
||||||
String joinMessage = ChatColor.translateAlternateColorCodes('&', config.getString("messages.join").replace("%player%", player.getDisplayName()));
|
String joinMessage = ChatColor.translateAlternateColorCodes('&', config.getString("messages.join").replace("%player%", player.getDisplayName()));
|
||||||
for (Player player1 : plugin.getLobby().getPlayers()) {
|
|
||||||
player1.sendMessage(joinMessage);
|
plugin.getLobby().getPlayers().forEach(player1 -> player1.sendMessage(joinMessage));
|
||||||
}
|
|
||||||
player.sendMessage(joinMessage);
|
player.sendMessage(joinMessage);
|
||||||
|
|
||||||
int lobbySize = plugin.getLobby().getPlayers().size();
|
int playerCount = plugin.getLobby().getPlayers().size();
|
||||||
|
|
||||||
if (lobbySize == 0) {
|
if (playerCount < 2) {
|
||||||
String neededPlayersMessage = ChatColor.translateAlternateColorCodes('&', config.getString("messages.needed-players"));
|
String neededPlayersMessage = ChatColor.translateAlternateColorCodes('&', config.getString("messages.needed-players"));
|
||||||
|
|
||||||
player.sendMessage(neededPlayersMessage);
|
player.sendMessage(neededPlayersMessage);
|
||||||
for (Player player1 : plugin.getLobby().getPlayers()) {
|
|
||||||
player1.sendMessage(neededPlayersMessage);
|
plugin.getLobby().getPlayers().forEach(player1 -> player1.sendMessage(joinMessage));
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
String gameStartMessage;
|
String gameStartMessage;
|
||||||
int startSeconds = (lobbySize >= 3) ? 10 : 25;
|
int startSeconds = (playerCount >= 3) ? 10 : 25;
|
||||||
gameStartMessage = ChatColor.translateAlternateColorCodes('&', config.getString("messages.game-start").replace("%seconds%", Integer.toString(startSeconds)));
|
gameStartMessage = ChatColor.translateAlternateColorCodes('&', config.getString("messages.game-start").replace("%seconds%", Integer.toString(startSeconds)));
|
||||||
|
|
||||||
player.sendMessage(gameStartMessage);
|
player.sendMessage(gameStartMessage);
|
||||||
for (Player player1 : plugin.getLobby().getPlayers()) {
|
|
||||||
player1.sendMessage(gameStartMessage);
|
plugin.getLobby().getPlayers().forEach(player1 -> player1.sendMessage(joinMessage));
|
||||||
}
|
|
||||||
|
|
||||||
if (plugin.getLobbyState() == LobbyState.IDLE) {
|
if (plugin.getLobbyState() == LobbyState.IDLE) {
|
||||||
|
|
||||||
plugin.setLobbyState(LobbyState.STARTING);
|
plugin.setLobbyState(LobbyState.STARTING);
|
||||||
lobbyPlayers.add(player.getUniqueId());
|
lobbyPlayers.add(player.getUniqueId());
|
||||||
|
|
||||||
plugin.getLobby().getPlayers().forEach(player1 -> lobbyPlayers.add(player1.getUniqueId()));
|
plugin.getLobby().getPlayers().forEach(player1 -> lobbyPlayers.add(player1.getUniqueId()));
|
||||||
|
|
||||||
gameTimer.start();
|
|
||||||
gameTimer = new Timer(startSeconds, plugin);
|
gameTimer = new Timer(startSeconds, plugin);
|
||||||
|
|
||||||
|
gameTimer.start();
|
||||||
gameTimer.whenComplete(() -> PS3Minigames.INSTANCE.getGameUtil().startNewGame(lobbyPlayers, plugin.getServer().getWorld("cavern")));
|
gameTimer.whenComplete(() -> PS3Minigames.INSTANCE.getGameUtil().startNewGame(lobbyPlayers, plugin.getServer().getWorld("cavern")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue