From 8cea0ed0b045fc238aa4df1f6592fe6dd210abd7 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Sun, 13 Jun 2021 10:11:00 +0100 Subject: [PATCH] Change fauxsleeping counter diff --git a/src/main/java/net/minecraft/server/players/SleepStatus.java b/src/main/java/net/minecraft/server/players/SleepStatus.java index a25e040c..de286e14 100644 --- a/src/main/java/net/minecraft/server/players/SleepStatus.java +++ b/src/main/java/net/minecraft/server/players/SleepStatus.java @@ -19,8 +19,9 @@ public class SleepStatus { public boolean a(int i, List list) { int j = (int) list.stream().filter((eh) -> { return eh.isDeeplySleeping() || eh.fauxSleeping; }).count(); // CraftBukkit + boolean anyDeepSleep = list.stream().anyMatch(EntityHuman::isDeeplySleeping); - return j >= this.b(i); + return anyDeepSleep && j >= this.b(i); } public int b(int i) { @@ -42,18 +43,22 @@ public class SleepStatus { this.activePlayers = 0; this.sleepingPlayers = 0; Iterator iterator = list.iterator(); + boolean anySleep = False; while (iterator.hasNext()) { EntityPlayer entityplayer = (EntityPlayer) iterator.next(); - if (!entityplayer.isSpectator() && !entityplayer.fauxSleeping) { // CraftBukkit + if (!entityplayer.isSpectator()) { // CraftBukkit ++this.activePlayers; - if (entityplayer.isSleeping()) { + if (entityplayer.isSleeping() || entityPlayer.fauxSleeping) { ++this.sleepingPlayers; } + if (entityplayer.isSleeping()) { + anySleep = True; + } } } - return (j > 0 || this.sleepingPlayers > 0) && (i != this.activePlayers || j != this.sleepingPlayers); + return anySleep && (j > 0 || this.sleepingPlayers > 0) && (i != this.activePlayers || j != this.sleepingPlayers); } } -- 2.25.1