Skip to content

Commit 4c30780

Browse files
chore: forgot file
1 parent 3ed08b9 commit 4c30780

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package net.swofty.type.bedwarsgame.game;
2+
3+
import lombok.Getter;
4+
import net.swofty.commons.bedwars.map.BedWarsMapsConfig.TeamKey;
5+
6+
import java.util.UUID;
7+
8+
/**
9+
* Holds information about a player who disconnected from an active game.
10+
* Used to restore state when they rejoin.
11+
*/
12+
@Getter
13+
public class DisconnectedPlayerInfo {
14+
private final UUID playerUuid;
15+
private final String username;
16+
private final TeamKey teamKey;
17+
private final long disconnectTime;
18+
private final boolean bedWasAliveOnDisconnect;
19+
20+
// Saved player state for restoration
21+
private final int armorLevel;
22+
private final int pickaxeLevel;
23+
private final int axeLevel;
24+
25+
public DisconnectedPlayerInfo(UUID playerUuid, String username, TeamKey teamKey,
26+
boolean bedWasAlive,
27+
int armorLevel, int pickaxeLevel, int axeLevel) {
28+
this.playerUuid = playerUuid;
29+
this.username = username;
30+
this.teamKey = teamKey;
31+
this.disconnectTime = System.currentTimeMillis();
32+
this.bedWasAliveOnDisconnect = bedWasAlive;
33+
this.armorLevel = armorLevel;
34+
this.pickaxeLevel = pickaxeLevel;
35+
this.axeLevel = axeLevel;
36+
}
37+
38+
/**
39+
* Determines if player should rejoin as spectator.
40+
* True if bed was already broken when they disconnected.
41+
*/
42+
public boolean shouldRejoinAsSpectator() {
43+
return !bedWasAliveOnDisconnect;
44+
}
45+
}

0 commit comments

Comments
 (0)