Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions game/src/main/java/net/onelitefeather/cygnus/Cygnus.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
import net.onelitefeather.cygnus.command.StartCommand;
import net.onelitefeather.cygnus.common.ListenerHandling;
import net.onelitefeather.cygnus.common.Messages;
import net.onelitefeather.cygnus.common.Tags;
import net.onelitefeather.cygnus.common.config.GameConfig;
import net.onelitefeather.cygnus.common.config.GameConfigReader;
import net.onelitefeather.cygnus.common.event.GamePreLaunchEvent;
Expand All @@ -46,7 +45,7 @@
import net.onelitefeather.cygnus.listener.game.GameFinishListener;
import net.onelitefeather.cygnus.listener.game.GamePageListener;
import net.onelitefeather.cygnus.listener.game.GamePreLaunchListener;
import net.onelitefeather.cygnus.listener.game.GameReviveListener;
import net.onelitefeather.cygnus.listener.game.SlenderReviveListener;
import net.onelitefeather.cygnus.listener.game.PlayerPageInteractListener;
import net.onelitefeather.cygnus.listener.game.PlayerStartSprintingListener;
import net.onelitefeather.cygnus.listener.game.PlayerStopSprintingListener;
Expand Down Expand Up @@ -153,7 +152,7 @@ private void registerGameListener() {
manager.addListener(PlayerStartSprintingEvent.class, new PlayerStartSprintingListener(this.staminaService::getFoodBar));
manager.addListener(PlayerStopSprintingEvent.class, new PlayerStopSprintingListener(this.staminaService::getFoodBar));
manager.addListener(
SlenderReviveEvent.class, new GameReviveListener(((GameMapProvider) this.mapProvider).getGameMap(), this.staminaService));
SlenderReviveEvent.class, new SlenderReviveListener(((GameMapProvider) this.mapProvider).getGameMap(), this.staminaService));
manager.addListener(GamePreLaunchEvent.class, new GamePreLaunchListener(this.pageProvider::setMaxPageAmount));
manager.addListener(StaminaStateChangeEvent.class, new StaminaStateChangeListener());
MinecraftServer.getPacketListenerManager().setPlayListener(ClientEntityActionPacket.class, CygnusEntityActionListener::listener);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package net.onelitefeather.cygnus.listener.game;

import net.minestom.server.entity.Player;
import net.onelitefeather.cygnus.common.Tags;
import net.onelitefeather.cygnus.common.map.GameMap;
import net.onelitefeather.cygnus.common.util.Helper;
Expand All @@ -10,24 +11,26 @@
import java.util.function.Consumer;

/**
* This class is responsible for handling the {@link SlenderReviveEvent} and performing the necessary actions to revive the player in the game.
*
* @author theEvilReaper
* @version 1.0.0
* @since
* @since 1.0.0
**/
public class GameReviveListener implements Consumer<SlenderReviveEvent> {
public class SlenderReviveListener implements Consumer<SlenderReviveEvent> {

private final GameMap gameMap;
private final StaminaService staminaService;

public GameReviveListener(GameMap gameMap, StaminaService staminaService) {
public SlenderReviveListener(GameMap gameMap, StaminaService staminaService) {
this.gameMap = gameMap;
this.staminaService = staminaService;
}

@Override
public void accept(SlenderReviveEvent event) {
var player = event.getPlayer();
staminaService.switchToSlenderBar(player);
Player player = event.getPlayer();
staminaService.setSlenderBar(player, true);
player.setTag(Tags.GAME_TAG, Helper.SLENDER_ID);
player.teleport(gameMap.getSlenderSpawn());
Items.setSlenderEye(player);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* The class has some abilities to manage all {@link StaminaBar} references which are required in the game.
*
* @author theEvilReaper
* @version 1.0.0
* @version 1.1.0
* @since 1.0.0
*/
public final class StaminaService {
Expand All @@ -41,7 +41,7 @@ public void setSlenderBar(Player player) {
/**
* Creates a new instance of an {@link SlenderBar} for a given {@link Player}.
*
* @param player the player that owns the {@link StaminaBar}
* @param player the player that owns the {@link StaminaBar}
* @param forceStart if the bar should be started by default
*/
public void setSlenderBar(Player player, boolean forceStart) {
Expand Down Expand Up @@ -71,7 +71,6 @@ public void createStaminaBars(Team team) {
* Starts all {@link net.minestom.server.timer.Task} reference from each {@link StaminaBar}.
*/
public void start() {
//this.slenderBar.start();
for (StaminaBar value : this.staminaBars.values()) {
value.start();
}
Expand All @@ -94,27 +93,30 @@ public void cleanUp() {
staminaBars.clear();
}

@Deprecated(since = "Please use setSlenderBar instead", forRemoval = true)
public void switchToSlenderBar(Player player) {
// If the old slender has a bar, we need to stop it.
if (this.slenderBar != null) {
this.slenderBar.stop();
}
//TODO: Stop old at switch
this.slenderBar = StaminaFactory.createSlenderStamina((CygnusPlayer) player);
this.slenderBar.start();
}

/**
* Force stops the internal dispatch logic of the bar.
*/
public void forceStopSlenderBar() {
if (this.slenderBar == null) return;
this.slenderBar.stop();
this.slenderBar = null;
}

/**
* Returns an instance of a {@link FoodBar} from a given player
*
* @param player to get the bar
* @return the corresponding {@link FoodBar} instance
*/
public FoodBar getFoodBar(Player player) {
return (FoodBar) this.staminaBars.get(player.getUuid());
}

/**
* Returns the current reference of a {@link SlenderBar} if it exists
*
* @return current reference
*/
public @Nullable StaminaBar getSlenderBar() {
return slenderBar;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ void testSlenderBarSwitch(@NotNull Env env) {

StaminaBar oldBar = staminaService.getSlenderBar();

staminaService.switchToSlenderBar(anotherPlayer);
staminaService.setSlenderBar(anotherPlayer, true);

StaminaBar slenderBar = staminaService.getSlenderBar();

Expand Down
Loading