From adb99ea5bac31bd3acfeb5f6cfd8ff4c6f60a639 Mon Sep 17 00:00:00 2001 From: Minenash Date: Mon, 7 Jan 2019 18:03:09 -0500 Subject: [PATCH] The majority sleep now only counts players in survival mode --- .../com/redstoner/modules/survival/Survival.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/redstoner/modules/survival/Survival.java b/src/main/java/com/redstoner/modules/survival/Survival.java index ef3c37f..f3999a4 100644 --- a/src/main/java/com/redstoner/modules/survival/Survival.java +++ b/src/main/java/com/redstoner/modules/survival/Survival.java @@ -3,6 +3,7 @@ package com.redstoner.modules.survival; import java.util.List; import org.bukkit.Bukkit; +import org.bukkit.GameMode; import org.bukkit.World; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -22,7 +23,7 @@ import net.nemez.chatapi.ChatAPI; @Commands(CommandHolderType.File) @AutoRegisterListener -@Version(major = 5, minor = 0, revision = 0, compatible = 4) +@Version(major = 5, minor = 0, revision = 1, compatible = 4) public class Survival implements Module, Listener { @EventHandler @@ -47,11 +48,20 @@ public class Survival implements Module, Listener { return; int sleepingPlayers = 0; + int totalPlayers = 0; + for (Player p : world.getPlayers()) if (p.isSleeping()) sleepingPlayers++; - int perSleeping = 100 * sleepingPlayers / world.getPlayers().size(); + for (Player p : world.getPlayers()) + if (p.getGameMode() == GameMode.SURVIVAL) + totalPlayers++; + + if (totalPlayers == 0) + return; + + int perSleeping = 100 * sleepingPlayers / totalPlayers; int perNeeded = (Integer) DataManager.getConfigOrDefault("perNeededToSleep", 51); if (perSleeping >= perNeeded) {