diff --git a/src/main/java/emu/lunarcore/game/challenge/ChallengeInstance.java b/src/main/java/emu/lunarcore/game/challenge/ChallengeInstance.java index 18f10e7..f9dd4f6 100644 --- a/src/main/java/emu/lunarcore/game/challenge/ChallengeInstance.java +++ b/src/main/java/emu/lunarcore/game/challenge/ChallengeInstance.java @@ -24,8 +24,8 @@ import lombok.Setter; public class ChallengeInstance { private final Player player; private final ChallengeExcel excel; - private final Position startPos; - private final Position startRot; + private Position startPos; + private Position startRot; private boolean hasAvatarDied; private int currentStage; @@ -38,8 +38,8 @@ public class ChallengeInstance { public ChallengeInstance(Player player, ChallengeExcel excel) { this.player = player; this.excel = excel; - this.startPos = player.getPos().clone(); - this.startRot = player.getRot().clone(); + this.startPos = new Position(); + this.startRot = new Position(); this.currentStage = 1; this.roundsLeft = excel.getChallengeCountDown(); this.status = ChallengeStatus.CHALLENGE_DOING; diff --git a/src/main/java/emu/lunarcore/game/challenge/ChallengeManager.java b/src/main/java/emu/lunarcore/game/challenge/ChallengeManager.java index 68419e6..7e64c5a 100644 --- a/src/main/java/emu/lunarcore/game/challenge/ChallengeManager.java +++ b/src/main/java/emu/lunarcore/game/challenge/ChallengeManager.java @@ -76,6 +76,10 @@ public class ChallengeManager extends BasePlayerManager { return; } + // Save start positions + instance.getStartPos().set(getPlayer().getPos()); + instance.getStartRot().set(getPlayer().getRot()); + // Setup first challenge stage instance.setupStage1();