Skip to content

Commit 11d401f

Browse files
chore: remove deprecated stamina method (#80)
* chore(stamina): remove deprecated method * chore(stamina): update stamina update call * chore(stamina): update stamina update call and rename class * chore(game): improve listener usage --------- Co-authored-by: theEvilReaper <theevilreaper@users.noreply.github.com>
1 parent 4ebc6b6 commit 11d401f

4 files changed

Lines changed: 27 additions & 23 deletions

File tree

game/src/main/java/net/onelitefeather/cygnus/Cygnus.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import net.onelitefeather.cygnus.command.StartCommand;
2828
import net.onelitefeather.cygnus.common.ListenerHandling;
2929
import net.onelitefeather.cygnus.common.Messages;
30-
import net.onelitefeather.cygnus.common.Tags;
3130
import net.onelitefeather.cygnus.common.config.GameConfig;
3231
import net.onelitefeather.cygnus.common.config.GameConfigReader;
3332
import net.onelitefeather.cygnus.common.event.GamePreLaunchEvent;
@@ -46,7 +45,7 @@
4645
import net.onelitefeather.cygnus.listener.game.GameFinishListener;
4746
import net.onelitefeather.cygnus.listener.game.GamePageListener;
4847
import net.onelitefeather.cygnus.listener.game.GamePreLaunchListener;
49-
import net.onelitefeather.cygnus.listener.game.GameReviveListener;
48+
import net.onelitefeather.cygnus.listener.game.SlenderReviveListener;
5049
import net.onelitefeather.cygnus.listener.game.PlayerPageInteractListener;
5150
import net.onelitefeather.cygnus.listener.game.PlayerStartSprintingListener;
5251
import net.onelitefeather.cygnus.listener.game.PlayerStopSprintingListener;
@@ -153,7 +152,7 @@ private void registerGameListener() {
153152
manager.addListener(PlayerStartSprintingEvent.class, new PlayerStartSprintingListener(this.staminaService::getFoodBar));
154153
manager.addListener(PlayerStopSprintingEvent.class, new PlayerStopSprintingListener(this.staminaService::getFoodBar));
155154
manager.addListener(
156-
SlenderReviveEvent.class, new GameReviveListener(((GameMapProvider) this.mapProvider).getGameMap(), this.staminaService));
155+
SlenderReviveEvent.class, new SlenderReviveListener(((GameMapProvider) this.mapProvider).getGameMap(), this.staminaService));
157156
manager.addListener(GamePreLaunchEvent.class, new GamePreLaunchListener(this.pageProvider::setMaxPageAmount));
158157
manager.addListener(StaminaStateChangeEvent.class, new StaminaStateChangeListener());
159158
MinecraftServer.getPacketListenerManager().setPlayListener(ClientEntityActionPacket.class, CygnusEntityActionListener::listener);

game/src/main/java/net/onelitefeather/cygnus/listener/game/GameReviveListener.java renamed to game/src/main/java/net/onelitefeather/cygnus/listener/game/SlenderReviveListener.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package net.onelitefeather.cygnus.listener.game;
22

3+
import net.minestom.server.entity.Player;
34
import net.onelitefeather.cygnus.common.Tags;
45
import net.onelitefeather.cygnus.common.map.GameMap;
56
import net.onelitefeather.cygnus.common.util.Helper;
@@ -10,24 +11,26 @@
1011
import java.util.function.Consumer;
1112

1213
/**
14+
* This class is responsible for handling the {@link SlenderReviveEvent} and performing the necessary actions to revive the player in the game.
15+
*
1316
* @author theEvilReaper
1417
* @version 1.0.0
15-
* @since
18+
* @since 1.0.0
1619
**/
17-
public class GameReviveListener implements Consumer<SlenderReviveEvent> {
20+
public class SlenderReviveListener implements Consumer<SlenderReviveEvent> {
1821

1922
private final GameMap gameMap;
2023
private final StaminaService staminaService;
2124

22-
public GameReviveListener(GameMap gameMap, StaminaService staminaService) {
25+
public SlenderReviveListener(GameMap gameMap, StaminaService staminaService) {
2326
this.gameMap = gameMap;
2427
this.staminaService = staminaService;
2528
}
2629

2730
@Override
2831
public void accept(SlenderReviveEvent event) {
29-
var player = event.getPlayer();
30-
staminaService.switchToSlenderBar(player);
32+
Player player = event.getPlayer();
33+
staminaService.setSlenderBar(player, true);
3134
player.setTag(Tags.GAME_TAG, Helper.SLENDER_ID);
3235
player.teleport(gameMap.getSlenderSpawn());
3336
Items.setSlenderEye(player);

game/src/main/java/net/onelitefeather/cygnus/stamina/StaminaService.java

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* The class has some abilities to manage all {@link StaminaBar} references which are required in the game.
1515
*
1616
* @author theEvilReaper
17-
* @version 1.0.0
17+
* @version 1.1.0
1818
* @since 1.0.0
1919
*/
2020
public final class StaminaService {
@@ -41,7 +41,7 @@ public void setSlenderBar(Player player) {
4141
/**
4242
* Creates a new instance of an {@link SlenderBar} for a given {@link Player}.
4343
*
44-
* @param player the player that owns the {@link StaminaBar}
44+
* @param player the player that owns the {@link StaminaBar}
4545
* @param forceStart if the bar should be started by default
4646
*/
4747
public void setSlenderBar(Player player, boolean forceStart) {
@@ -71,7 +71,6 @@ public void createStaminaBars(Team team) {
7171
* Starts all {@link net.minestom.server.timer.Task} reference from each {@link StaminaBar}.
7272
*/
7373
public void start() {
74-
//this.slenderBar.start();
7574
for (StaminaBar value : this.staminaBars.values()) {
7675
value.start();
7776
}
@@ -94,27 +93,30 @@ public void cleanUp() {
9493
staminaBars.clear();
9594
}
9695

97-
@Deprecated(since = "Please use setSlenderBar instead", forRemoval = true)
98-
public void switchToSlenderBar(Player player) {
99-
// If the old slender has a bar, we need to stop it.
100-
if (this.slenderBar != null) {
101-
this.slenderBar.stop();
102-
}
103-
//TODO: Stop old at switch
104-
this.slenderBar = StaminaFactory.createSlenderStamina((CygnusPlayer) player);
105-
this.slenderBar.start();
106-
}
107-
96+
/**
97+
* Force stops the internal dispatch logic of the bar.
98+
*/
10899
public void forceStopSlenderBar() {
109100
if (this.slenderBar == null) return;
110101
this.slenderBar.stop();
111102
this.slenderBar = null;
112103
}
113104

105+
/**
106+
* Returns an instance of a {@link FoodBar} from a given player
107+
*
108+
* @param player to get the bar
109+
* @return the corresponding {@link FoodBar} instance
110+
*/
114111
public FoodBar getFoodBar(Player player) {
115112
return (FoodBar) this.staminaBars.get(player.getUuid());
116113
}
117114

115+
/**
116+
* Returns the current reference of a {@link SlenderBar} if it exists
117+
*
118+
* @return current reference
119+
*/
118120
public @Nullable StaminaBar getSlenderBar() {
119121
return slenderBar;
120122
}

game/src/test/java/net/onelitefeather/cygnus/stamina/StaminaServiceTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ void testSlenderBarSwitch(@NotNull Env env) {
7070

7171
StaminaBar oldBar = staminaService.getSlenderBar();
7272

73-
staminaService.switchToSlenderBar(anotherPlayer);
73+
staminaService.setSlenderBar(anotherPlayer, true);
7474

7575
StaminaBar slenderBar = staminaService.getSlenderBar();
7676

0 commit comments

Comments
 (0)