mirror of
https://github.com/Pumpkin-MC/Pumpkin.git
synced 2026-08-31 08:22:33 +00:00
feat: implement playersSleepingPercentage gamerule support
- Calculate required sleeping players based on configured percentage - Use game_rules.players_sleeping_percentage from level info - Ceil the result to ensure minimum required players - Return false early if no players online
This commit is contained in:
@@ -2107,8 +2107,19 @@ impl World {
|
||||
.count();
|
||||
drop(players);
|
||||
|
||||
// TODO: sleep ratio
|
||||
sleeping_player_count == player_count && player_count != 0
|
||||
if player_count == 0 {
|
||||
return false;
|
||||
}
|
||||
|
||||
let sleep_percentage = self
|
||||
.level_info
|
||||
.load()
|
||||
.game_rules
|
||||
.players_sleeping_percentage;
|
||||
let required_sleeping =
|
||||
((player_count as f64 * sleep_percentage as f64) / 100.0).ceil() as usize;
|
||||
|
||||
sleeping_player_count >= required_sleeping
|
||||
}
|
||||
|
||||
// NOTE: This function doesn't actually await on anything, it just spawns two tokio tasks
|
||||
|
||||
Reference in New Issue
Block a user