Ver código fonte

make some code cleaner

Daniel Nägele 1 ano atrás
pai
commit
e5701fcd1e

+ 25 - 18
missilewars-plugin/src/main/java/de/butzlabben/missilewars/commands/StatsCommands.java

@@ -47,6 +47,7 @@ import java.util.stream.Collectors;
 import org.bukkit.Material;
 import org.bukkit.command.CommandSender;
 import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
 
 @CommandAlias("mw|missilewars")
 @Subcommand("stats")
@@ -58,6 +59,28 @@ public class StatsCommands extends BaseCommand {
     private final SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy");
     private final SimpleDateFormat preciseFormat = new SimpleDateFormat("hh:mm dd.MM.yyyy");
 
+    @NotNull
+    private static List<String> generateRecommendations(StatsFetcher fetcher, SavedStats avgStatsWithoutDraws) {
+        List<String> recommendations = new ArrayList<>();
+        int gameCount = fetcher.getGameCount();
+
+        double avgWins = avgStatsWithoutDraws.getTeamWon();
+        if (Math.abs(avgWins - 1) > MAX_AVIATION_WIN) {
+            recommendations.add("It could be, that your map is biased to one team, as wins are not equally distributed");
+        }
+
+        int draws = fetcher.getDrawFights();
+        if ((((double) draws / (double) gameCount) * 100) > MAX_FIGHT_DRAW_PERCENTAGE) {
+            recommendations.add("Increase the game_length option. More than 15% of your games are draws");
+        }
+
+        Duration duration = Duration.ofMillis(avgStatsWithoutDraws.getTimeElapsed());
+        if (((double) duration.getSeconds() / 60.0) <= MIN_FIGHT_DURATION) {
+            recommendations.add("Remove some overpowered features. The average game length at won games is under 5 minutes");
+        }
+        return recommendations;
+    }
+
     @Default
     @CommandPermission("mw.stats")
     public void onStats(CommandSender sender, String[] args) {
@@ -72,7 +95,7 @@ public class StatsCommands extends BaseCommand {
         PreFetcher.PrePlayerFetchRunnable preFetchRunnable = PreFetcher.preFetchPlayers(fetcher);
 
         CustomInv inv = new CustomInv("§eMissileWars statistics", 3);
-        List<String> criteriaLore = Arrays.asList("§7Statistics since: §e" + format.format(fetcher.getFrom()), "§7Specified arena: §e" + (arena.equals("") ? "any" : arena));
+        List<String> criteriaLore = Arrays.asList("§7Statistics since: §e" + format.format(fetcher.getFrom()), "§7Specified arena: §e" + (arena.isEmpty() ? "any" : arena));
         inv.addItem(4, new OrcItem(Material.FEATHER, "§aStatistics search criteria", criteriaLore));
 
         int gameCount = fetcher.getGameCount();
@@ -121,23 +144,7 @@ public class StatsCommands extends BaseCommand {
         if (fetcher == null) return;
         SavedStats avgStatsWithDraws = fetcher.getAverageSavedStats(false);
         SavedStats avgStatsWithoutDraws = fetcher.getAverageSavedStats(true);
-        List<String> recommendations = new ArrayList<>();
-        int gameCount = fetcher.getGameCount();
-
-        double avgWins = avgStatsWithoutDraws.getTeamWon();
-        if (Math.abs(avgWins - 1) > MAX_AVIATION_WIN) {
-            recommendations.add("It could be, that your map is biased to one team, as wins are not equally distributed");
-        }
-
-        int draws = fetcher.getDrawFights();
-        if ((((double) draws / (double) gameCount) * 100) > MAX_FIGHT_DRAW_PERCENTAGE) {
-            recommendations.add("Increase the game_length option. More than 15% of your games are draws");
-        }
-
-        Duration duration = Duration.ofMillis(avgStatsWithoutDraws.getTimeElapsed());
-        if (((double) duration.getSeconds() / 60.0) <= MIN_FIGHT_DURATION) {
-            recommendations.add("Remove some overpowered features. The average game length at won games is under 5 minutes");
-        }
+        List<String> recommendations = generateRecommendations(fetcher, avgStatsWithoutDraws);
         // TODO implement more features
 
         if (recommendations.isEmpty()) {

+ 0 - 7
missilewars-plugin/src/main/java/de/butzlabben/missilewars/configuration/Lobby.java

@@ -30,7 +30,6 @@ import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Optional;
 import java.util.stream.Collectors;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
@@ -40,12 +39,6 @@ import org.bukkit.Bukkit;
 import org.bukkit.Location;
 import org.bukkit.World;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-
 @Getter
 @ToString
 @RequiredArgsConstructor

+ 1 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/Game.java

@@ -679,7 +679,7 @@ public class Game {
         }
 
         arena.getMissileConfiguration().check();
-        if (arena.getMissileConfiguration().getMissiles().size() == 0) {
+        if (arena.getMissileConfiguration().getMissiles().isEmpty()) {
             throw new IllegalStateException("The game cannot be started, when 0 missiles are configured");
         }
 

+ 2 - 4
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/MapVoting.java

@@ -102,15 +102,13 @@ public class MapVoting {
     private Arena getVotedArena() {
 
         // If no one voted:
-        if (arenaVotes.size() == 0) return game.getLobby().getArenas().get(0);
+        if (arenaVotes.isEmpty()) return game.getLobby().getArenas().get(0);
 
-        Arena arena = arenaVotes.values().stream().collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
+        return arenaVotes.values().stream().collect(Collectors.groupingBy(Function.identity(), Collectors.counting()))
                 .entrySet()
                 .stream()
                 .max(Map.Entry.comparingByValue()).orElseThrow()
                 .getKey();
-
-        return arena;
     }
 
     /**

+ 1 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/misc/RespawnGoldBlock.java

@@ -142,7 +142,7 @@ public class RespawnGoldBlock implements Listener {
     @EventHandler
     public void onSneak(PlayerToggleSneakEvent e) {
         Player eventPlayer = e.getPlayer();
-        if (eventPlayer == player && (map.size() != 0) && (eventPlayer.isSneaking())) {
+        if (eventPlayer == player && (!map.isEmpty()) && (eventPlayer.isSneaking())) {
             for (Location loc : map.keySet()) {
                 loc.getBlock().setType(map.get(loc).getKey());
                 BlockSetterProvider.getBlockDataSetter().setData(loc.getBlock(), map.get(loc).getValue());

+ 16 - 11
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/misc/ScoreboardManager.java

@@ -243,17 +243,7 @@ public class ScoreboardManager {
      */
     private String replaceScoreboardPlaceholders(String text) {
 
-        String time = "";
-        if (game.getState() == GameState.LOBBY) {
-            // Show the planned duration of the next game:
-            time = arenaGameDuration;
-        } else if (game.getState() == GameState.INGAME) {
-            // Show the remaining duration of the running game:
-            time = Integer.toString(game.getTaskManager().getTimer().getSeconds() / 60);
-        } else if (game.getState() == GameState.END) {
-            // Show the remaining duration of the last game:
-            time = Integer.toString(game.getRemainingGameDuration() / 60);
-        }
+        String time = getTimeString();
 
 
         text = ChatColor.translateAlternateColorCodes('&', text);
@@ -275,4 +265,19 @@ public class ScoreboardManager {
         return text;
     }
 
+    private String getTimeString() {
+        String time = "";
+        if (game.getState() == GameState.LOBBY) {
+            // Show the planned duration of the next game:
+            time = arenaGameDuration;
+        } else if (game.getState() == GameState.INGAME) {
+            // Show the remaining duration of the running game:
+            time = Integer.toString(game.getTaskManager().getTimer().getSeconds() / 60);
+        } else if (game.getState() == GameState.END) {
+            // Show the remaining duration of the last game:
+            time = Integer.toString(game.getRemainingGameDuration() / 60);
+        }
+        return time;
+    }
+
 }

+ 0 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/missile/Missile.java

@@ -38,7 +38,6 @@ import org.bukkit.util.Vector;
  * @author Butzlabben
  * @since 06.01.2018
  */
-@SuppressWarnings("deprecation")
 @RequiredArgsConstructor
 public class Missile {
 

+ 1 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/timer/LobbyTimer.java

@@ -42,7 +42,7 @@ public class LobbyTimer extends Timer implements Runnable {
 
     @Override
     public void tick() {
-        if (getGame().getPlayers().size() == 0) return;
+        if (getGame().getPlayers().isEmpty()) return;
 
         for (MWPlayer mwPlayer : getGame().getPlayers().values()) {
             if (mwPlayer.getPlayer() == null) continue;

+ 1 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/inventory/pages/PageGUICreator.java

@@ -62,7 +62,7 @@ public class PageGUICreator<T> {
 
     public void show(Player p) {
         List<OrcItem> items = elements.stream().map(converter::convert).collect(Collectors.toList());
-        if (items.size() == 0)
+        if (items.isEmpty())
             return;
 
         int pages = (int) (Math.ceil((items.size() / (double) elementsPerPage) < 1 ? 1 : Math.ceil((double) items.size() / (double) elementsPerPage)));

+ 1 - 1
missilewars-plugin/src/main/java/de/butzlabben/missilewars/util/stats/PlayerGuiFactory.java

@@ -99,7 +99,7 @@ public class PlayerGuiFactory {
 
         for (PlayerStats stat : stats) {
             stat.setName(names.get(stat.getUuid()));
-            if (stat.getName() == null || stat.getName().equals("")) {
+            if (stat.getName() == null || stat.getName().isEmpty()) {
                 Logger.WARN.log("Could not find name for: " + stat.getUuid());
             }
         }