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());