|  | @@ -18,8 +18,12 @@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  package de.butzlabben.missilewars.game.timer;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import de.butzlabben.missilewars.configuration.Config;
 | 
	
		
			
				|  |  |  import de.butzlabben.missilewars.configuration.Messages;
 | 
	
		
			
				|  |  |  import de.butzlabben.missilewars.game.Game;
 | 
	
		
			
				|  |  | +import de.butzlabben.missilewars.game.enums.TeamType;
 | 
	
		
			
				|  |  | +import net.md_5.bungee.api.ChatMessageType;
 | 
	
		
			
				|  |  | +import net.md_5.bungee.api.chat.TextComponent;
 | 
	
		
			
				|  |  |  import org.bukkit.GameMode;
 | 
	
		
			
				|  |  |  import org.bukkit.entity.Player;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -28,7 +32,9 @@ import org.bukkit.entity.Player;
 | 
	
		
			
				|  |  |   * @since 06.01.2018
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  public class GameTimer extends Timer {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +    int actionbarMsgCounter = 0;
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  |      public GameTimer(Game game) {
 | 
	
		
			
				|  |  |          super(game);
 | 
	
		
			
				|  |  |          seconds = game.getArena().getGameDuration() * 60;
 | 
	
	
		
			
				|  | @@ -69,20 +75,42 @@ public class GameTimer extends Timer {
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        if (seconds % 10 == 0) {
 | 
	
		
			
				|  |  | +        if (seconds % 5 == 0) {
 | 
	
		
			
				|  |  |              game.getScoreboardManager().updateScoreboard();
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +            game.getPlayers().values().forEach(mwPlayer -> {
 | 
	
		
			
				|  |  | +                Player player = mwPlayer.getPlayer();
 | 
	
		
			
				|  |  | +                
 | 
	
		
			
				|  |  | +                if (mwPlayer.getTeam().getTeamType() == TeamType.PLAYER) {
 | 
	
		
			
				|  |  | +                    
 | 
	
		
			
				|  |  | +                    if (mwPlayer.getPlayer().getGameMode() != GameMode.SURVIVAL) return;
 | 
	
		
			
				|  |  | +                    
 | 
	
		
			
				|  |  | +                    if (game.isInGameArea(player.getLocation())) return;
 | 
	
		
			
				|  |  | +                    
 | 
	
		
			
				|  |  | +                    player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.ARENA_LEAVED));
 | 
	
		
			
				|  |  | +                    mwPlayer.getTeam().teleportToTeamSpawn(player);
 | 
	
		
			
				|  |  | +                    
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          
 | 
	
		
			
				|  |  | -        if (seconds % 4 == 0) {
 | 
	
		
			
				|  |  | +        if ((Config.getActionbarForSpecEntries().length > 0) && (seconds % Config.getActionbarForSpecDelay() == 0)) {
 | 
	
		
			
				|  |  |              game.getPlayers().values().forEach(mwPlayer -> {
 | 
	
		
			
				|  |  | -                if (mwPlayer.getPlayer().getGameMode() != GameMode.SURVIVAL) return;
 | 
	
		
			
				|  |  | -                
 | 
	
		
			
				|  |  |                  Player player = mwPlayer.getPlayer();
 | 
	
		
			
				|  |  | -                if (game.isInGameArea(player.getLocation())) return;
 | 
	
		
			
				|  |  |                  
 | 
	
		
			
				|  |  | -                player.sendMessage(Messages.getMessage(true, Messages.MessageEnum.ARENA_LEAVED));
 | 
	
		
			
				|  |  | -                mwPlayer.getTeam().teleportToTeamSpawn(player);
 | 
	
		
			
				|  |  | +                if (mwPlayer.getTeam().getTeamType() == TeamType.PLAYER) return;
 | 
	
		
			
				|  |  | +                
 | 
	
		
			
				|  |  | +                player.spigot().sendMessage(ChatMessageType.ACTION_BAR, 
 | 
	
		
			
				|  |  | +                        TextComponent.fromLegacyText(Config.getActionbarForSpecEntries()[actionbarMsgCounter]));
 | 
	
		
			
				|  |  |              });
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +            // Array-Iteration:
 | 
	
		
			
				|  |  | +            if (actionbarMsgCounter >= Config.getActionbarForSpecEntries().length - 1) {
 | 
	
		
			
				|  |  | +                actionbarMsgCounter = 0;
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                actionbarMsgCounter++;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          game.checkPortals();
 |