-
Notifications
You must be signed in to change notification settings - Fork 38
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove stream and double iteration in enough deep sleeping player check
- Loading branch information
1 parent
1fb19fc
commit 959e632
Showing
1 changed file
with
39 additions
and
0 deletions.
There are no files selected for viewing
39 changes: 39 additions & 0 deletions
39
patches/server/0106-Remove-stream-and-double-iteration-in-enough-deep-sl.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> | ||
Date: Thu, 17 Oct 2024 01:51:38 -0400 | ||
Subject: [PATCH] Remove stream and double iteration in enough deep sleeping | ||
player check | ||
|
||
|
||
diff --git a/src/main/java/net/minecraft/server/players/SleepStatus.java b/src/main/java/net/minecraft/server/players/SleepStatus.java | ||
index caa8a69bde0c212c36dd990a67836ac2f95548c0..5ae435dcc078a5b9af90f01fa70f1a9d6f34e2be 100644 | ||
--- a/src/main/java/net/minecraft/server/players/SleepStatus.java | ||
+++ b/src/main/java/net/minecraft/server/players/SleepStatus.java | ||
@@ -19,10 +19,24 @@ public class SleepStatus { | ||
|
||
public boolean areEnoughDeepSleeping(int percentage, List<ServerPlayer> players) { | ||
// CraftBukkit start | ||
- int j = (int) players.stream().filter((eh) -> { return eh.isSleepingLongEnough() || eh.fauxSleeping || (eh.level().purpurConfig.idleTimeoutCountAsSleeping && eh.isAfk()); }).count(); // Purpur | ||
- boolean anyDeepSleep = players.stream().anyMatch(Player::isSleepingLongEnough); | ||
+ // Leaf start - Remove stream and double iteration in enough deep sleeping player check | ||
+ int count = 0; | ||
+ boolean anyPlayerSleeping = false; | ||
|
||
- return anyDeepSleep && j >= this.sleepersNeeded(percentage); | ||
+ for (ServerPlayer player : players) { | ||
+ final boolean isSleepingLongEnough = player.isSleepingLongEnough(); | ||
+ | ||
+ if (isSleepingLongEnough) { | ||
+ anyPlayerSleeping = true; | ||
+ } | ||
+ | ||
+ if (isSleepingLongEnough || player.fauxSleeping || (player.level().purpurConfig.idleTimeoutCountAsSleeping && player.isAfk())) { // Purpur | ||
+ count++; | ||
+ } | ||
+ } | ||
+ | ||
+ return anyPlayerSleeping && count >= this.sleepersNeeded(percentage); | ||
+ // Leaf end - Remove stream and double iteration in enough deep sleeping player check | ||
// CraftBukkit end | ||
} | ||
|