diff --git a/game/src/main/java/net/onelitefeather/cygnus/Cygnus.java b/game/src/main/java/net/onelitefeather/cygnus/Cygnus.java index 23775f31..e99fb674 100644 --- a/game/src/main/java/net/onelitefeather/cygnus/Cygnus.java +++ b/game/src/main/java/net/onelitefeather/cygnus/Cygnus.java @@ -8,6 +8,9 @@ import net.onelitefeather.cygnus.map.GameMapProvider; import net.onelitefeather.cygnus.map.event.GameMapLoadEvent; import net.onelitefeather.cygnus.map.event.GameMapLoadedEvent; +import net.onelitefeather.cygnus.map.event.GamePrepareEvent; +import net.onelitefeather.cygnus.team.TeamCreator; +import net.onelitefeather.cygnus.team.TeamHelper; import net.onelitefeather.cygnus.view.event.ViewUpdateEvent; import net.theevilreaper.aves.map.provider.AbstractMapProvider; import net.theevilreaper.aves.util.functional.VoidConsumer; @@ -62,7 +65,6 @@ import net.onelitefeather.cygnus.stamina.SlenderBarTrigger; import net.onelitefeather.cygnus.stamina.StaminaService; import net.onelitefeather.cygnus.utils.StaminaHelper; -import net.onelitefeather.cygnus.utils.TeamHelper; import net.onelitefeather.cygnus.utils.ViewRuleUpdater; import net.onelitefeather.cygnus.view.GameView; import net.onelitefeather.cygnus.view.GameViewImpl; @@ -131,6 +133,9 @@ private void initListener() { ); manager.addListener(PlayerChatEvent.class, new PlayerChatListener()); manager.addListener(GameMapLoadEvent.class, _ -> ((GameMapProvider) this.mapProvider).loadGameMap()); + manager.addListener(GamePrepareEvent.class, _ -> { + StaminaHelper.initStaminaObjects(this.teamService, this.staminaService); + }); registerCancelListener(manager); } @@ -153,20 +158,18 @@ private void registerGameListener() { manager.addListener(StaminaStateChangeEvent.class, new StaminaStateChangeListener()); manager.addListener(PageDiscoveryCompletedEvent.class, new PageDiscoveryCompleteListener(this.linearPhaseSeries)); manager.addListener(ViewUpdateEvent.class, new ViewUpdateListener(this.view, this.pageProvider)); - MinecraftServer.getPacketListenerManager().setPlayListener(ClientEntityActionPacket.class, CygnusEntityActionListener::listener); } private void initPhases() { GameMapProvider gameMapProvider = ((GameMapProvider) this.mapProvider); - VoidConsumer staminaInitializer = () -> StaminaHelper.initStaminaObjects(this.teamService, this.staminaService); VoidConsumer instanceSwitch = gameMapProvider::switchToGameMap; VoidConsumer teamInitializer = () -> TeamHelper.teleportTeams( this.teamService, gameMapProvider.getGameMap(), gameMapProvider.getActiveInstance().get() ); - LobbyPhase lobbyPhase = new LobbyPhase(staminaInitializer, this.gameConfig); + LobbyPhase lobbyPhase = new LobbyPhase(this.gameConfig); this.linearPhaseSeries.add(lobbyPhase); this.linearPhaseSeries.add(new WaitingPhase(this.view, instanceSwitch, teamInitializer)); this.linearPhaseSeries.add(new GamePhase(this.view, this::finishGame, this.gameConfig.gameTime())); diff --git a/game/src/main/java/net/onelitefeather/cygnus/listener/game/GamePreLaunchListener.java b/game/src/main/java/net/onelitefeather/cygnus/listener/game/GamePreLaunchListener.java index f8a45139..a421baa4 100644 --- a/game/src/main/java/net/onelitefeather/cygnus/listener/game/GamePreLaunchListener.java +++ b/game/src/main/java/net/onelitefeather/cygnus/listener/game/GamePreLaunchListener.java @@ -8,7 +8,7 @@ import net.onelitefeather.cygnus.common.event.GamePreLaunchEvent; import net.onelitefeather.cygnus.common.page.PageCalculation; import net.onelitefeather.cygnus.common.util.HealthScalingCalculation; -import net.onelitefeather.cygnus.utils.TeamHelper; +import net.onelitefeather.cygnus.team.TeamHelper; import java.util.function.Consumer; import java.util.function.IntConsumer; diff --git a/game/src/main/java/net/onelitefeather/cygnus/listener/game/GameStartListener.java b/game/src/main/java/net/onelitefeather/cygnus/listener/game/GameStartListener.java index 28ba131a..4eb8b0fc 100644 --- a/game/src/main/java/net/onelitefeather/cygnus/listener/game/GameStartListener.java +++ b/game/src/main/java/net/onelitefeather/cygnus/listener/game/GameStartListener.java @@ -9,8 +9,8 @@ import net.onelitefeather.cygnus.common.util.Helper; import net.onelitefeather.cygnus.event.GameStartEvent; import net.onelitefeather.cygnus.stamina.StaminaService; +import net.onelitefeather.cygnus.team.TeamHelper; import net.onelitefeather.cygnus.utils.Items; -import net.onelitefeather.cygnus.utils.TeamHelper; import net.theevilreaper.xerus.api.team.TeamService; import java.util.function.Consumer; diff --git a/game/src/main/java/net/onelitefeather/cygnus/listener/game/PlayerPageInteractListener.java b/game/src/main/java/net/onelitefeather/cygnus/listener/game/PlayerPageInteractListener.java index 79813445..d9ada86f 100644 --- a/game/src/main/java/net/onelitefeather/cygnus/listener/game/PlayerPageInteractListener.java +++ b/game/src/main/java/net/onelitefeather/cygnus/listener/game/PlayerPageInteractListener.java @@ -5,7 +5,7 @@ import net.minestom.server.event.player.PlayerEntityInteractEvent; import net.onelitefeather.cygnus.common.Tags; import net.onelitefeather.cygnus.common.page.PageProvider; -import net.onelitefeather.cygnus.utils.TeamHelper; +import net.onelitefeather.cygnus.team.TeamHelper; import java.util.UUID; import java.util.function.Consumer; diff --git a/game/src/main/java/net/onelitefeather/cygnus/listener/game/PlayerStartSprintingListener.java b/game/src/main/java/net/onelitefeather/cygnus/listener/game/PlayerStartSprintingListener.java index 059335fc..cb3b9bc0 100644 --- a/game/src/main/java/net/onelitefeather/cygnus/listener/game/PlayerStartSprintingListener.java +++ b/game/src/main/java/net/onelitefeather/cygnus/listener/game/PlayerStartSprintingListener.java @@ -5,7 +5,7 @@ import net.onelitefeather.cygnus.movement.PlayerStartSprintingEvent; import net.onelitefeather.cygnus.player.CygnusPlayer; import net.onelitefeather.cygnus.stamina.FoodBar; -import net.onelitefeather.cygnus.utils.TeamHelper; +import net.onelitefeather.cygnus.team.TeamHelper; import java.util.function.Consumer; import java.util.function.Function; diff --git a/game/src/main/java/net/onelitefeather/cygnus/listener/game/PlayerStopSprintingListener.java b/game/src/main/java/net/onelitefeather/cygnus/listener/game/PlayerStopSprintingListener.java index 7255b909..999241bc 100644 --- a/game/src/main/java/net/onelitefeather/cygnus/listener/game/PlayerStopSprintingListener.java +++ b/game/src/main/java/net/onelitefeather/cygnus/listener/game/PlayerStopSprintingListener.java @@ -4,7 +4,7 @@ import net.onelitefeather.cygnus.common.Tags; import net.onelitefeather.cygnus.movement.PlayerStopSprintingEvent; import net.onelitefeather.cygnus.stamina.FoodBar; -import net.onelitefeather.cygnus.utils.TeamHelper; +import net.onelitefeather.cygnus.team.TeamHelper; import java.util.function.Consumer; import java.util.function.Function; diff --git a/game/src/main/java/net/onelitefeather/cygnus/listener/game/SlenderItemListener.java b/game/src/main/java/net/onelitefeather/cygnus/listener/game/SlenderItemListener.java index 9a835c2e..dddcad95 100644 --- a/game/src/main/java/net/onelitefeather/cygnus/listener/game/SlenderItemListener.java +++ b/game/src/main/java/net/onelitefeather/cygnus/listener/game/SlenderItemListener.java @@ -8,7 +8,7 @@ import net.minestom.server.item.ItemStack; import net.onelitefeather.cygnus.common.Tags; import net.onelitefeather.cygnus.stamina.SlenderBarTrigger; -import net.onelitefeather.cygnus.utils.TeamHelper; +import net.onelitefeather.cygnus.team.TeamHelper; public final class SlenderItemListener { diff --git a/game/src/main/java/net/onelitefeather/cygnus/map/event/GamePrepareEvent.java b/game/src/main/java/net/onelitefeather/cygnus/map/event/GamePrepareEvent.java new file mode 100644 index 00000000..bd0bc818 --- /dev/null +++ b/game/src/main/java/net/onelitefeather/cygnus/map/event/GamePrepareEvent.java @@ -0,0 +1,13 @@ +package net.onelitefeather.cygnus.map.event; + +import net.minestom.server.event.Event; + +/** + * Event is used in the game to indicate that the game is about to start and some things must be loaded. + * + * @version 1.0.0 + * @author theEvilReaper + * @since 2.6.6 + */ +public class GamePrepareEvent implements Event { +} diff --git a/game/src/main/java/net/onelitefeather/cygnus/phase/LobbyPhase.java b/game/src/main/java/net/onelitefeather/cygnus/phase/LobbyPhase.java index de65548d..bcd9ae49 100644 --- a/game/src/main/java/net/onelitefeather/cygnus/phase/LobbyPhase.java +++ b/game/src/main/java/net/onelitefeather/cygnus/phase/LobbyPhase.java @@ -3,7 +3,7 @@ import net.minestom.server.event.EventDispatcher; import net.onelitefeather.cygnus.common.config.GameConfig; import net.onelitefeather.cygnus.map.event.GameMapLoadEvent; -import net.theevilreaper.aves.util.functional.VoidConsumer; +import net.onelitefeather.cygnus.map.event.GamePrepareEvent; import net.theevilreaper.xerus.api.phase.TickDirection; import net.theevilreaper.xerus.api.phase.TimedPhase; import net.kyori.adventure.text.Component; @@ -39,18 +39,13 @@ public final class LobbyPhase extends TimedPhase { private static final ConnectionManager CONNECTION_MANAGER = MinecraftServer.getConnectionManager(); private final Task waitingTask; - private final VoidConsumer staminaInstantiation; private final int lobbyTime; private final int minPlayers; private boolean forceStarted; private Component displayComponent; - public LobbyPhase( - VoidConsumer staminaInstantiation, - GameConfig gameConfig - ) { + public LobbyPhase(GameConfig gameConfig) { super("Lobby", ChronoUnit.SECONDS, 1); - this.staminaInstantiation = staminaInstantiation; this.lobbyTime = gameConfig.lobbyTime(); this.minPlayers = gameConfig.minPlayers(); this.setPaused(true); @@ -112,13 +107,13 @@ public void onUpdate() { } if (getCurrentTicks() == 0) { - this.staminaInstantiation.apply(); + EventDispatcher.call(new GamePrepareEvent()); } } /** * Checks if the player requirements are met. - * If the player requirements are not met the phase will be paused. + * If the player requirements are not met, the phase will be paused. */ public void checkPlayerRequirements() { if (CONNECTION_MANAGER.getOnlinePlayers().size() - 1 < this.minPlayers) { diff --git a/game/src/main/java/net/onelitefeather/cygnus/stamina/SlenderBarTrigger.java b/game/src/main/java/net/onelitefeather/cygnus/stamina/SlenderBarTrigger.java index 404914ca..daa3b7c5 100644 --- a/game/src/main/java/net/onelitefeather/cygnus/stamina/SlenderBarTrigger.java +++ b/game/src/main/java/net/onelitefeather/cygnus/stamina/SlenderBarTrigger.java @@ -1,12 +1,12 @@ package net.onelitefeather.cygnus.stamina; +import net.onelitefeather.cygnus.team.TeamHelper; import net.theevilreaper.aves.util.functional.PlayerConsumer; import net.kyori.adventure.sound.Sound; import net.minestom.server.entity.Player; import net.minestom.server.sound.SoundEvent; import net.onelitefeather.cygnus.common.Tags; import net.onelitefeather.cygnus.common.util.Helper; -import net.onelitefeather.cygnus.utils.TeamHelper; import org.jetbrains.annotations.Nullable; import java.util.function.Supplier; diff --git a/game/src/main/java/net/onelitefeather/cygnus/stamina/StaminaService.java b/game/src/main/java/net/onelitefeather/cygnus/stamina/StaminaService.java index b90fccca..85c90a23 100644 --- a/game/src/main/java/net/onelitefeather/cygnus/stamina/StaminaService.java +++ b/game/src/main/java/net/onelitefeather/cygnus/stamina/StaminaService.java @@ -1,6 +1,5 @@ package net.onelitefeather.cygnus.stamina; -import net.theevilreaper.xerus.api.team.Team; import net.minestom.server.entity.Player; import net.minestom.server.utils.validate.Check; import net.onelitefeather.cygnus.player.CygnusPlayer; @@ -8,6 +7,7 @@ import java.util.HashMap; import java.util.Map; +import java.util.Set; import java.util.UUID; /** @@ -59,10 +59,10 @@ public void setSlenderBar(Player player, boolean forceStart) { * * @param team the team to get the player from it */ - public void createStaminaBars(Team team) { + public void createStaminaBars(Set team) { Check.argCondition(!staminaBars.isEmpty(), "Unable to load stamina bars twice"); - Check.argCondition(team.getPlayers().isEmpty(), "Can't add players from a team without teams"); - for (Player player : team.getPlayers()) { + Check.argCondition(team.isEmpty(), "Can't add players from a team without teams"); + for (Player player : team) { this.staminaBars.put(player.getUuid(), StaminaFactory.createFoodStamina((CygnusPlayer) player)); } } diff --git a/game/src/main/java/net/onelitefeather/cygnus/TeamCreator.java b/game/src/main/java/net/onelitefeather/cygnus/team/TeamCreator.java similarity index 83% rename from game/src/main/java/net/onelitefeather/cygnus/TeamCreator.java rename to game/src/main/java/net/onelitefeather/cygnus/team/TeamCreator.java index d18df769..ab12cb6f 100644 --- a/game/src/main/java/net/onelitefeather/cygnus/TeamCreator.java +++ b/game/src/main/java/net/onelitefeather/cygnus/team/TeamCreator.java @@ -1,4 +1,4 @@ -package net.onelitefeather.cygnus; +package net.onelitefeather.cygnus.team; import net.kyori.adventure.key.Key; import net.onelitefeather.cygnus.component.TeamNameComponent; @@ -7,12 +7,11 @@ import net.theevilreaper.xerus.api.team.Team; import net.theevilreaper.xerus.api.team.TeamService; import net.onelitefeather.cygnus.common.config.GameConfig; -import org.jetbrains.annotations.NotNull; import java.util.Locale; /** - * The interface contains a method to create the teams objects which are required for the game. + * The interface contains a method to create the team objects which are required for the game. * * @author theEvilReaper * @version 1.0.0 @@ -26,10 +25,7 @@ public interface TeamCreator { * @param gameConfig the configuration to get some values from it * @param teamService the service to add the teams */ - default void createTeams( - @NotNull GameConfig gameConfig, - @NotNull TeamService teamService - ) { + default void createTeams(GameConfig gameConfig, TeamService teamService) { Team slenderTeam = Team.of( Key.key("cygnus", GameConfig.SLENDER_TEAM_NAME.toLowerCase(Locale.ROOT)), gameConfig.slenderTeamSize() diff --git a/game/src/main/java/net/onelitefeather/cygnus/utils/TeamHelper.java b/game/src/main/java/net/onelitefeather/cygnus/team/TeamHelper.java similarity index 62% rename from game/src/main/java/net/onelitefeather/cygnus/utils/TeamHelper.java rename to game/src/main/java/net/onelitefeather/cygnus/team/TeamHelper.java index f9e78336..34c1a7f0 100644 --- a/game/src/main/java/net/onelitefeather/cygnus/utils/TeamHelper.java +++ b/game/src/main/java/net/onelitefeather/cygnus/team/TeamHelper.java @@ -1,5 +1,6 @@ -package net.onelitefeather.cygnus.utils; +package net.onelitefeather.cygnus.team; +import net.onelitefeather.cygnus.utils.ViewRuleUpdater; import net.theevilreaper.aves.util.Players; import net.theevilreaper.xerus.api.team.Team; import net.theevilreaper.xerus.api.team.TeamService; @@ -14,7 +15,6 @@ import net.onelitefeather.cygnus.common.map.GameMap; import java.util.HashSet; -import java.util.Optional; import java.util.Set; import static net.onelitefeather.cygnus.common.util.Helper.SLENDER_ID; @@ -29,32 +29,81 @@ */ public final class TeamHelper { + /** + * Result of a team allocation, containing the chosen slender player and the resulting survivors. + * + * @param slender the player who is the slender + * @param survivors the players who are survivors + */ + public record TeamAllocation(Player slender, Set survivors) { + } + /** * Prepares which player should be the slender and which players should be the survivors. * * @param slenderTeam the team for the slender * @param survivorTeam the team for the survivors - * @return the player who is the slender + * @return the resulting allocation, containing the slender player and the survivors */ - public static Player prepareTeamAllocation(Team slenderTeam, Team survivorTeam) { + public static TeamAllocation prepareTeamAllocation(Team slenderTeam, Team survivorTeam) { Check.argCondition(slenderTeam.getCapacity() != 1, "The slender team must have a capacity from one"); - Optional randomPlayer = Players.getRandomPlayer(); - if (randomPlayer.isEmpty()) { - throw new IllegalStateException("No player found to be the slender"); - } - Player slenderPlayer = randomPlayer.get(); - slenderPlayer.setTag(Tags.TEAM_ID, SLENDER_ID); - slenderPlayer.updateViewableRule(ViewRuleUpdater::viewableRuleForSlender); + Player slenderPlayer = selectSlenderPlayer(); + assignSlender(slenderPlayer, slenderTeam); + + Set survivors = collectSurvivors(slenderPlayer); + assignSurvivors(survivors, survivorTeam); + + return new TeamAllocation(slenderPlayer, survivors); + } + + /** + * Picks a random online player to become the slender. + * + * @return the chosen player + */ + private static Player selectSlenderPlayer() { + return Players.getRandomPlayer() + .orElseThrow(() -> new IllegalStateException("No player found to be the slender")); + } - slenderTeam.addPlayer(slenderPlayer); - Set onlinePlayers = new HashSet<>(MinecraftServer.getConnectionManager().getOnlinePlayers()); - onlinePlayers.removeIf(player -> player.getUuid().equals(slenderPlayer.getUuid())); - survivorTeam.addPlayers(onlinePlayers); + /** + * Tags and assigns the given player as the slender and updates their view rule. + * + * @param player the player to become the slender + * @param slenderTeam the team to add the player to + */ + private static void assignSlender(Player player, Team slenderTeam) { + player.setTag(Tags.TEAM_ID, SLENDER_ID); + player.updateViewableRule(ViewRuleUpdater::viewableRuleForSlender); + slenderTeam.addPlayer(player); + } - onlinePlayers.forEach(player -> player.setTag(Tags.TEAM_ID, SURVIVOR_ID)); + /** + * Collects all online players except the slender in a single pass. + * + * @param slenderPlayer the player to exclude + * @return the set of survivor candidates + */ + private static Set collectSurvivors(Player slenderPlayer) { + Set survivors = new HashSet<>(); + for (Player player : MinecraftServer.getConnectionManager().getOnlinePlayers()) { + if (!player.getUuid().equals(slenderPlayer.getUuid())) { + survivors.add(player); + } + } + return survivors; + } - return slenderPlayer; + /** + * Tags the given players as survivors and adds them to the survivor team. + * + * @param survivors the players to assign + * @param survivorTeam the team to add them to + */ + private static void assignSurvivors(Set survivors, Team survivorTeam) { + survivors.forEach(player -> player.setTag(Tags.TEAM_ID, SURVIVOR_ID)); + survivorTeam.addPlayers(survivors); } /** @@ -66,11 +115,9 @@ public static Player prepareTeamAllocation(Team slenderTeam, Team survivorTeam) */ public static void teleportTeams(TeamService teamService, GameMap gameMap, Instance gameInstance) { Team slenderTeam = teamService.getTeams().getFirst(); - slenderTeam.getPlayers().forEach(player -> updateInstance(player, gameInstance, gameMap.getSlenderSpawn())); Team survivorTeam = teamService.getTeams().getLast(); - if (gameMap.getSurvivorSpawns().size() == 1) { Pos position = gameMap.getSurvivorSpawns().iterator().next(); survivorTeam.getPlayers().forEach(player -> updateInstance(player, gameInstance, position)); @@ -140,4 +187,4 @@ private static void updateInstance(Player player, Instance instance, Pos positio private TeamHelper() { throw new UnsupportedOperationException("This class cannot be instantiated"); } -} +} \ No newline at end of file diff --git a/game/src/main/java/net/onelitefeather/cygnus/team/package-info.java b/game/src/main/java/net/onelitefeather/cygnus/team/package-info.java new file mode 100644 index 00000000..33c3de8e --- /dev/null +++ b/game/src/main/java/net/onelitefeather/cygnus/team/package-info.java @@ -0,0 +1,4 @@ +@NotNullByDefault +package net.onelitefeather.cygnus.team; + +import org.jetbrains.annotations.NotNullByDefault; \ No newline at end of file diff --git a/game/src/main/java/net/onelitefeather/cygnus/utils/StaminaHelper.java b/game/src/main/java/net/onelitefeather/cygnus/utils/StaminaHelper.java index 3ab3c33b..8661d3a7 100644 --- a/game/src/main/java/net/onelitefeather/cygnus/utils/StaminaHelper.java +++ b/game/src/main/java/net/onelitefeather/cygnus/utils/StaminaHelper.java @@ -1,15 +1,17 @@ package net.onelitefeather.cygnus.utils; +import net.onelitefeather.cygnus.team.TeamHelper; import net.theevilreaper.xerus.api.team.Team; import net.theevilreaper.xerus.api.team.TeamService; import net.minestom.server.entity.Player; import net.onelitefeather.cygnus.stamina.StaminaService; + /** * The {@link StaminaHelper} is a utility class which contains some helper methods for the stamina system. * * @author theEvilReaper - * @version 1.0.0 + * @version 1.2.0 * @since 1.0.0 */ public final class StaminaHelper { @@ -24,13 +26,13 @@ public static void initStaminaObjects(TeamService teamService, StaminaService st Team slenderTeam = teamService.getTeams().getFirst(); Team survivorTeam = teamService.getTeams().getLast(); - Player slenderPlayer = TeamHelper.prepareTeamAllocation(slenderTeam, survivorTeam); + TeamHelper.TeamAllocation allocation = TeamHelper.prepareTeamAllocation(slenderTeam, survivorTeam); - staminaService.setSlenderBar(slenderPlayer, true); - staminaService.createStaminaBars(survivorTeam); + staminaService.setSlenderBar(allocation.slender(), true); + staminaService.createStaminaBars(allocation.survivors()); } private StaminaHelper() { throw new UnsupportedOperationException(); } -} +} \ No newline at end of file diff --git a/game/src/test/java/net/onelitefeather/cygnus/TeamCreatorTest.java b/game/src/test/java/net/onelitefeather/cygnus/TeamCreatorTest.java index 9b1f13f7..10246b08 100644 --- a/game/src/test/java/net/onelitefeather/cygnus/TeamCreatorTest.java +++ b/game/src/test/java/net/onelitefeather/cygnus/TeamCreatorTest.java @@ -1,5 +1,6 @@ package net.onelitefeather.cygnus; +import net.onelitefeather.cygnus.team.TeamCreator; import net.theevilreaper.xerus.api.team.TeamService; import net.onelitefeather.cygnus.common.config.GameConfig; import net.onelitefeather.cygnus.common.config.GameConfigReader; diff --git a/game/src/test/java/net/onelitefeather/cygnus/utils/StaminaHelperTest.java b/game/src/test/java/net/onelitefeather/cygnus/utils/StaminaHelperTest.java index 2822e60e..11fed427 100644 --- a/game/src/test/java/net/onelitefeather/cygnus/utils/StaminaHelperTest.java +++ b/game/src/test/java/net/onelitefeather/cygnus/utils/StaminaHelperTest.java @@ -4,7 +4,7 @@ import net.minestom.server.instance.Instance; import net.minestom.testing.Env; import net.minestom.testing.extension.MicrotusExtension; -import net.onelitefeather.cygnus.TeamCreator; +import net.onelitefeather.cygnus.team.TeamCreator; import net.onelitefeather.cygnus.common.config.GameConfig; import net.onelitefeather.cygnus.common.config.GameConfigReader; import net.onelitefeather.cygnus.stamina.StaminaService; diff --git a/game/src/test/java/net/onelitefeather/cygnus/utils/TeamHelperTest.java b/game/src/test/java/net/onelitefeather/cygnus/utils/TeamHelperTest.java index ef8ff4e0..e861af0a 100644 --- a/game/src/test/java/net/onelitefeather/cygnus/utils/TeamHelperTest.java +++ b/game/src/test/java/net/onelitefeather/cygnus/utils/TeamHelperTest.java @@ -1,6 +1,7 @@ package net.onelitefeather.cygnus.utils; import net.kyori.adventure.key.Key; +import net.onelitefeather.cygnus.team.TeamHelper; import net.theevilreaper.xerus.api.team.Team; import net.theevilreaper.xerus.api.team.TeamService; import net.kyori.adventure.text.Component; @@ -12,7 +13,7 @@ import net.minestom.server.instance.Instance; import net.minestom.testing.Env; import net.minestom.testing.extension.MicrotusExtension; -import net.onelitefeather.cygnus.TeamCreator; +import net.onelitefeather.cygnus.team.TeamCreator; import net.onelitefeather.cygnus.common.Tags; import net.onelitefeather.cygnus.common.config.GameConfig; import net.onelitefeather.cygnus.common.config.GameConfigReader;