From fa8d320da9a52998277f4bd4008ee174ec1280d1 Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Sat, 1 Mar 2025 01:22:13 +0100 Subject: [PATCH] Refactor and optimize redundant code across the project Removed unused imports and variables to streamline the codebase. Consolidated lambda expressions and improved formatting for better readability. Simplified methods by removing unnecessary parameters and redundant logic. --- src/main/java/com/alttd/ctf/Main.java | 5 ++--- .../ctf/commands/subcommands/SkipPhase.java | 6 ------ .../java/com/alttd/ctf/config/GameConfig.java | 1 - src/main/java/com/alttd/ctf/flag/Flag.java | 2 +- .../com/alttd/ctf/flag/FlagTryCaptureEvent.java | 1 - .../java/com/alttd/ctf/game/RunningGame.java | 1 - .../ctf/game/phases/ClassSelectionPhase.java | 1 - .../com/alttd/ctf/game/phases/EndedPhase.java | 17 ++++++++--------- .../alttd/ctf/game/phases/GatheringPhase.java | 17 ++++++++--------- .../ctf/game_class/GameClassRetrieval.java | 4 +--- .../game_class/creation/EngineerCreator.java | 1 - .../ctf/game_class/creation/MageCreator.java | 3 --- .../ctf/game_class/creation/TankCreator.java | 1 - .../ctf/game_class/creation/TrapperCreator.java | 1 - .../ctf/game_class/implementations/Fighter.java | 2 -- src/main/java/com/alttd/ctf/gui/GUI.java | 2 -- .../java/com/alttd/ctf/team/DiscordTeam.java | 8 ++------ .../java/com/alttd/ctf/team/TeamScoreboard.java | 16 +++++++--------- 18 files changed, 29 insertions(+), 60 deletions(-) diff --git a/src/main/java/com/alttd/ctf/Main.java b/src/main/java/com/alttd/ctf/Main.java index f0ad6d8..1b90e26 100644 --- a/src/main/java/com/alttd/ctf/Main.java +++ b/src/main/java/com/alttd/ctf/Main.java @@ -38,7 +38,6 @@ import java.util.stream.Collectors; public class Main extends JavaPlugin { private GameManager gameManager = null; - private Flag flag; @Override public void onEnable() { @@ -53,7 +52,7 @@ public class Main extends JavaPlugin { this.gameManager = new GameManager(worldBorderApi); registerTeams(); //Skipped in reloadConfig if gameManager is not created yet loadPlayerStats(); //Skipped in reloadConfig if gameManager is not created yet - flag = new Flag(this, gameManager); + Flag flag = new Flag(this, gameManager); new CommandManager(this, gameManager, flag, worldBorderApi); //Ensuring immediate respawn is on in all worlds enableImmediateRespawn(); @@ -163,4 +162,4 @@ public class Main extends JavaPlugin { scheduledExecutorService.scheduleAtFixedRate(runnable, 0, 1, java.util.concurrent.TimeUnit.MINUTES); } -} \ No newline at end of file +} diff --git a/src/main/java/com/alttd/ctf/commands/subcommands/SkipPhase.java b/src/main/java/com/alttd/ctf/commands/subcommands/SkipPhase.java index 5135f0a..1cc847a 100644 --- a/src/main/java/com/alttd/ctf/commands/subcommands/SkipPhase.java +++ b/src/main/java/com/alttd/ctf/commands/subcommands/SkipPhase.java @@ -3,16 +3,10 @@ package com.alttd.ctf.commands.subcommands; import com.alttd.ctf.commands.SubCommand; import com.alttd.ctf.config.Messages; import com.alttd.ctf.game.GameManager; -import com.alttd.ctf.team.Team; import lombok.AllArgsConstructor; -import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder; -import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver; -import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; import java.util.List; -import java.util.Optional; @AllArgsConstructor public class SkipPhase extends SubCommand { diff --git a/src/main/java/com/alttd/ctf/config/GameConfig.java b/src/main/java/com/alttd/ctf/config/GameConfig.java index 14592d8..8ffa691 100644 --- a/src/main/java/com/alttd/ctf/config/GameConfig.java +++ b/src/main/java/com/alttd/ctf/config/GameConfig.java @@ -4,7 +4,6 @@ import com.alttd.ctf.Main; import com.alttd.ctf.game.GamePhase; import lombok.extern.slf4j.Slf4j; import org.bukkit.Material; -import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; import java.time.Duration; diff --git a/src/main/java/com/alttd/ctf/flag/Flag.java b/src/main/java/com/alttd/ctf/flag/Flag.java index 4019fe0..78808ec 100644 --- a/src/main/java/com/alttd/ctf/flag/Flag.java +++ b/src/main/java/com/alttd/ctf/flag/Flag.java @@ -195,7 +195,7 @@ public class Flag implements Runnable { }); } - LinkedList particleTrail = new LinkedList<>(); + private final LinkedList particleTrail = new LinkedList<>(); private void spawnTrail() { TeamColor color = winningTeam.getColor(); diff --git a/src/main/java/com/alttd/ctf/flag/FlagTryCaptureEvent.java b/src/main/java/com/alttd/ctf/flag/FlagTryCaptureEvent.java index 5ec7490..e4258df 100644 --- a/src/main/java/com/alttd/ctf/flag/FlagTryCaptureEvent.java +++ b/src/main/java/com/alttd/ctf/flag/FlagTryCaptureEvent.java @@ -9,7 +9,6 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerInteractEvent; -import org.bukkit.inventory.EquipmentSlot; import java.util.Optional; diff --git a/src/main/java/com/alttd/ctf/game/RunningGame.java b/src/main/java/com/alttd/ctf/game/RunningGame.java index f82e170..5b29ae5 100644 --- a/src/main/java/com/alttd/ctf/game/RunningGame.java +++ b/src/main/java/com/alttd/ctf/game/RunningGame.java @@ -15,7 +15,6 @@ import java.time.Duration; import java.time.Instant; import java.util.HashMap; import java.util.List; -import java.util.Optional; import java.util.concurrent.ScheduledExecutorService; @Slf4j diff --git a/src/main/java/com/alttd/ctf/game/phases/ClassSelectionPhase.java b/src/main/java/com/alttd/ctf/game/phases/ClassSelectionPhase.java index 02bfc68..11daee9 100644 --- a/src/main/java/com/alttd/ctf/game/phases/ClassSelectionPhase.java +++ b/src/main/java/com/alttd/ctf/game/phases/ClassSelectionPhase.java @@ -23,7 +23,6 @@ import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.Collections; -import java.util.List; import java.util.Optional; @Slf4j diff --git a/src/main/java/com/alttd/ctf/game/phases/EndedPhase.java b/src/main/java/com/alttd/ctf/game/phases/EndedPhase.java index b719198..7d5df38 100644 --- a/src/main/java/com/alttd/ctf/game/phases/EndedPhase.java +++ b/src/main/java/com/alttd/ctf/game/phases/EndedPhase.java @@ -71,18 +71,17 @@ public class EndedPhase implements GamePhaseExecutor { return messages; } else if (topTeams.size() > 1) { // Draw scenario, multiple teams have the same top score messages.add(miniMessage.deserialize("It's a draw! Top teams:")); - topTeams.forEach(team -> { - messages.add(miniMessage.deserialize(" had captures.", - Placeholder.component("team", team.getName()), - Placeholder.parsed("score", String.valueOf(highestScore)))); - }); + topTeams.forEach(team -> messages.add( + miniMessage.deserialize(" had captures.", + Placeholder.component("team", team.getName()), + Placeholder.parsed("score", String.valueOf(highestScore))))); addOtherTeamsScore(wins, highestScore, messages); return messages; } else { // Single winner Team winner = topTeams.getFirst(); messages.add(miniMessage.deserialize(" has won with captures!", - Placeholder.component("team", winner.getName()), - Placeholder.parsed("score", String.valueOf(highestScore)))); + Placeholder.component("team", winner.getName()), + Placeholder.parsed("score", String.valueOf(highestScore)))); if (wins.size() <= 1) { return messages; } @@ -97,8 +96,8 @@ public class EndedPhase implements GamePhaseExecutor { wins.entrySet().stream() .filter(entry -> entry.getValue() < winningScore) .forEach(entry -> messages.add(miniMessage.deserialize(" had captures.", - Placeholder.component("team", entry.getKey().getName()), - Placeholder.parsed("score", String.valueOf(entry.getValue()))))); + Placeholder.component("team", entry.getKey().getName()), + Placeholder.parsed("score", String.valueOf(entry.getValue()))))); } @Override diff --git a/src/main/java/com/alttd/ctf/game/phases/GatheringPhase.java b/src/main/java/com/alttd/ctf/game/phases/GatheringPhase.java index f2123fc..bb63d1e 100644 --- a/src/main/java/com/alttd/ctf/game/phases/GatheringPhase.java +++ b/src/main/java/com/alttd/ctf/game/phases/GatheringPhase.java @@ -36,14 +36,13 @@ public class GatheringPhase implements GamePhaseExecutor { log.error("Unable to update world border due to missing Flag"); return; } - gameManager.getTeams().forEach(team -> { - team.getPlayers().forEach(teamPlayer -> { - Player player = Bukkit.getPlayer(teamPlayer.getUuid()); - if (player == null || !player.isOnline()) { - return; - } - teamPlayer.resetWorldBorder(player, worldBorderApi, nextPhase, flag.getFlagLocation()); - }); - }); + gameManager.getTeams() + .forEach(team -> team.getPlayers().forEach(teamPlayer -> { + Player player = Bukkit.getPlayer(teamPlayer.getUuid()); + if (player == null || !player.isOnline()) { + return; + } + teamPlayer.resetWorldBorder(player, worldBorderApi, nextPhase, flag.getFlagLocation()); + })); } } diff --git a/src/main/java/com/alttd/ctf/game_class/GameClassRetrieval.java b/src/main/java/com/alttd/ctf/game_class/GameClassRetrieval.java index 6e04ca3..920180a 100644 --- a/src/main/java/com/alttd/ctf/game_class/GameClassRetrieval.java +++ b/src/main/java/com/alttd/ctf/game_class/GameClassRetrieval.java @@ -12,9 +12,7 @@ public class GameClassRetrieval { public static HashMap> getGameClassesForAllTeams(GameManager gameManager) { final HashMap> gameClasses = new HashMap<>(); - gameManager.getTeams().forEach(team -> { - gameClasses.put(team.getId(), getGameClassesForTeam(team)); - }); + gameManager.getTeams().forEach(team -> gameClasses.put(team.getId(), getGameClassesForTeam(team))); return gameClasses; } diff --git a/src/main/java/com/alttd/ctf/game_class/creation/EngineerCreator.java b/src/main/java/com/alttd/ctf/game_class/creation/EngineerCreator.java index 2b8ec21..1096ee6 100644 --- a/src/main/java/com/alttd/ctf/game_class/creation/EngineerCreator.java +++ b/src/main/java/com/alttd/ctf/game_class/creation/EngineerCreator.java @@ -2,7 +2,6 @@ package com.alttd.ctf.game_class.creation; import com.alttd.ctf.game_class.GameClass; import com.alttd.ctf.game_class.implementations.Engineer; -import com.alttd.ctf.game_class.implementations.Fighter; import com.alttd.ctf.team.TeamColor; import lombok.extern.slf4j.Slf4j; import net.kyori.adventure.text.minimessage.MiniMessage; diff --git a/src/main/java/com/alttd/ctf/game_class/creation/MageCreator.java b/src/main/java/com/alttd/ctf/game_class/creation/MageCreator.java index ebad656..3552ca1 100644 --- a/src/main/java/com/alttd/ctf/game_class/creation/MageCreator.java +++ b/src/main/java/com/alttd/ctf/game_class/creation/MageCreator.java @@ -1,7 +1,6 @@ package com.alttd.ctf.game_class.creation; import com.alttd.ctf.game_class.GameClass; -import com.alttd.ctf.game_class.implementations.Fighter; import com.alttd.ctf.game_class.implementations.Mage; import com.alttd.ctf.team.TeamColor; import lombok.extern.slf4j.Slf4j; @@ -10,8 +9,6 @@ import org.bukkit.Material; import org.bukkit.enchantments.Enchantment; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; -import org.bukkit.inventory.meta.PotionMeta; -import org.bukkit.potion.PotionType; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Unmodifiable; diff --git a/src/main/java/com/alttd/ctf/game_class/creation/TankCreator.java b/src/main/java/com/alttd/ctf/game_class/creation/TankCreator.java index 24af9cf..745988e 100644 --- a/src/main/java/com/alttd/ctf/game_class/creation/TankCreator.java +++ b/src/main/java/com/alttd/ctf/game_class/creation/TankCreator.java @@ -1,7 +1,6 @@ package com.alttd.ctf.game_class.creation; import com.alttd.ctf.game_class.GameClass; -import com.alttd.ctf.game_class.implementations.Fighter; import com.alttd.ctf.game_class.implementations.Tank; import com.alttd.ctf.team.TeamColor; import lombok.extern.slf4j.Slf4j; diff --git a/src/main/java/com/alttd/ctf/game_class/creation/TrapperCreator.java b/src/main/java/com/alttd/ctf/game_class/creation/TrapperCreator.java index 6504261..6896dde 100644 --- a/src/main/java/com/alttd/ctf/game_class/creation/TrapperCreator.java +++ b/src/main/java/com/alttd/ctf/game_class/creation/TrapperCreator.java @@ -14,7 +14,6 @@ import org.jetbrains.annotations.Unmodifiable; import java.util.ArrayList; import java.util.List; -import java.util.stream.IntStream; @Slf4j public class TrapperCreator { diff --git a/src/main/java/com/alttd/ctf/game_class/implementations/Fighter.java b/src/main/java/com/alttd/ctf/game_class/implementations/Fighter.java index 2ecf3ec..beef8b3 100644 --- a/src/main/java/com/alttd/ctf/game_class/implementations/Fighter.java +++ b/src/main/java/com/alttd/ctf/game_class/implementations/Fighter.java @@ -1,11 +1,9 @@ package com.alttd.ctf.game_class.implementations; import com.alttd.ctf.game_class.GameClass; -import com.alttd.ctf.team.TeamColor; import lombok.extern.slf4j.Slf4j; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; -import org.jetbrains.annotations.NotNull; import java.util.List; diff --git a/src/main/java/com/alttd/ctf/gui/GUI.java b/src/main/java/com/alttd/ctf/gui/GUI.java index 35d88a4..104b45e 100644 --- a/src/main/java/com/alttd/ctf/gui/GUI.java +++ b/src/main/java/com/alttd/ctf/gui/GUI.java @@ -2,8 +2,6 @@ package com.alttd.ctf.gui; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.Merchant; -import org.bukkit.inventory.MerchantInventory; import java.util.HashMap; import java.util.UUID; diff --git a/src/main/java/com/alttd/ctf/team/DiscordTeam.java b/src/main/java/com/alttd/ctf/team/DiscordTeam.java index f2aa7bb..81953a9 100644 --- a/src/main/java/com/alttd/ctf/team/DiscordTeam.java +++ b/src/main/java/com/alttd/ctf/team/DiscordTeam.java @@ -56,9 +56,7 @@ public class DiscordTeam { } Member nullableMember = guild.getMemberById(player.getDiscordID()); if (nullableMember == null) { - guild.retrieveMemberById(player.getDiscordID()).queue(member -> { - consumer.apply(role, member); - }); + guild.retrieveMemberById(player.getDiscordID()).queue(member -> consumer.apply(role, member)); } else { consumer.apply(role, nullableMember); } @@ -83,9 +81,7 @@ public class DiscordTeam { gameManager.getTeams().forEach(otherTeam -> member.getRoles().stream() .filter(otherRole -> otherRole.getIdLong() == otherTeam.getDiscordRole()) - .forEach(otherRole -> { - member.getGuild().removeRoleFromMember(member, otherRole).queue(); - })); + .forEach(otherRole -> member.getGuild().removeRoleFromMember(member, otherRole).queue())); member.getGuild().addRoleToMember(member, role).queue(ignored -> kickFromVoiceIfNeeded(member)); }); } diff --git a/src/main/java/com/alttd/ctf/team/TeamScoreboard.java b/src/main/java/com/alttd/ctf/team/TeamScoreboard.java index e01f460..7f9491e 100644 --- a/src/main/java/com/alttd/ctf/team/TeamScoreboard.java +++ b/src/main/java/com/alttd/ctf/team/TeamScoreboard.java @@ -2,8 +2,6 @@ package com.alttd.ctf.team; import com.alttd.ctf.game.GameManager; import com.alttd.ctf.game.GamePhase; -import io.papermc.paper.scoreboard.numbers.NumberFormat; -import net.kyori.adventure.text.event.ClickEvent; import net.kyori.adventure.text.format.*; import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; @@ -44,17 +42,17 @@ public class TeamScoreboard { } protected void setScore(int newScore) { - Objective objective = getOrCreateObjective("teamScores", "CTF score"); + Objective objective = getOrCreateObjective(); Score score = objective.getScore(team.getLegacyTeamColor() + PlainTextComponentSerializer.plainText().serialize(team.getName())); score.setScore(newScore); } - private static Objective getOrCreateObjective(String internalName, String displayName) { - Objective objective = scoreboard.getObjective(internalName); + private static Objective getOrCreateObjective() { + Objective objective = scoreboard.getObjective("teamScores"); if (objective == null) { - objective = scoreboard.registerNewObjective(internalName, Criteria.DUMMY, - MiniMessage.miniMessage().deserialize(displayName)); + objective = scoreboard.registerNewObjective("teamScores", Criteria.DUMMY, + MiniMessage.miniMessage().deserialize("CTF score")); objective.setDisplaySlot(DisplaySlot.SIDEBAR); } return objective; @@ -64,11 +62,11 @@ public class TeamScoreboard { private static PhaseScore phaseScore = null; private static void updateTime(GamePhase gamePhase, Duration duration) { if (phaseScore == null) { - phaseScore = new PhaseScore(gamePhase, getOrCreateObjective("teamScores", "CTF score") + phaseScore = new PhaseScore(gamePhase, getOrCreateObjective() .getScore(ChatColor.GREEN + PlainTextComponentSerializer.plainText().serialize(gamePhase.getDisplayName()))); } else if (phaseScore.gamePhase() != gamePhase) { phaseScore.score.resetScore(); - phaseScore = new PhaseScore(gamePhase, getOrCreateObjective("teamScores", "CTF score") + phaseScore = new PhaseScore(gamePhase, getOrCreateObjective() .getScore(ChatColor.GREEN + PlainTextComponentSerializer.plainText().serialize(gamePhase.getDisplayName()))); } phaseScore.score.setScore(duration.toMinutesPart() == 0 ? duration.toSecondsPart() : duration.toMinutesPart());