Skip to content

Commit 31bf94f

Browse files
committed
Fix offline player teleportation bug
BUG FIX: Players who leave while jailed and rejoin after sentence expires - Previously: Players were stuck in jail location after rejoining - Root cause: Auto-release timer was removing offline players from jailed list - Fix: Only release online players immediately, keep offline players in list - Result: PlayerEventHandler now properly teleports offline players back to original location when they rejoin This ensures players are ALWAYS teleported back to their original location when their sentence expires, regardless of whether they were online or offline during expiration.
1 parent 5ff4312 commit 31bf94f

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/main/java/com/oldschooljail/data/JailedPlayersData.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,12 @@ public void startReleaseTimer(MinecraftServer server) {
7979
if (jp != null) {
8080
ServerPlayerEntity player = server.getPlayerManager().getPlayer(uuid);
8181
if (player != null) {
82+
// Player is online - release them immediately
8283
player.sendMessage(Text.literal(OldSchoolJailMod.getConfig().jailExpiredMessage));
8384
teleportToOriginalLocation(player, jp, server);
85+
releasePlayer(uuid);
8486
}
85-
releasePlayer(uuid);
87+
// If player is offline, don't release them yet - let PlayerEventHandler handle it when they rejoin
8688
}
8789
});
8890
}

0 commit comments

Comments
 (0)