Archived
0

The Majority Sleep feature is now restricted to worlds whom opt-in

This commit is contained in:
Minenash
2019-01-08 18:32:42 -05:00
parent df2a26965b
commit 20a7b09eac

View File

@@ -23,7 +23,7 @@ import net.nemez.chatapi.ChatAPI;
@Commands(CommandHolderType.File) @Commands(CommandHolderType.File)
@AutoRegisterListener @AutoRegisterListener
@Version(major = 5, minor = 0, revision = 1, compatible = 4) @Version(major = 5, minor = 0, revision = 2, compatible = 4)
public class Survival implements Module, Listener { public class Survival implements Module, Listener {
@EventHandler @EventHandler
@@ -47,33 +47,45 @@ public class Survival implements Module, Listener {
if (suspendEvents || !canSleep(world.getTime(), world.isThundering()) || world.getPlayers().size() == 0) if (suspendEvents || !canSleep(world.getTime(), world.isThundering()) || world.getPlayers().size() == 0)
return; return;
System.out.println("A");
if (!((String)DataManager.getConfigOrDefault(world.getName() + ".enabled", "true")).equals("true"))
return;
System.out.println("B");
int sleepingPlayers = 0; int sleepingPlayers = 0;
int totalPlayers = 0; int totalPlayers = 0;
System.out.println("C");
for (Player p : world.getPlayers()) for (Player p : world.getPlayers())
if (p.isSleeping()) if (p.isSleeping())
sleepingPlayers++; sleepingPlayers++;
System.out.println("D");
for (Player p : world.getPlayers()) for (Player p : world.getPlayers())
if (p.getGameMode() == GameMode.SURVIVAL) if (p.getGameMode() == GameMode.SURVIVAL)
totalPlayers++; totalPlayers++;
System.out.println("E");
if (totalPlayers == 0) if (totalPlayers == 0)
return; return;
System.out.println("F");
int perSleeping = 100 * sleepingPlayers / totalPlayers; int perSleeping = 100 * sleepingPlayers / totalPlayers;
int perNeeded = (Integer) DataManager.getConfigOrDefault("perNeededToSleep", 51); int perNeeded = (Integer) DataManager.getConfigOrDefault(world.getName() + ".perNeededToSleep", 51);
System.out.println("1");
if (perSleeping >= perNeeded) { if (perSleeping >= perNeeded) {
System.out.println("2");
notifyPlayers(world.getPlayers(), "&e" + perSleeping + "%&0 were sleeping. The &6sun&0 is rising!"); notifyPlayers(world.getPlayers(), "&e" + perSleeping + "%&0 were sleeping. The &6sun&0 is rising!");
System.out.println("3");
world.setTime(23450); world.setTime(23450);
world.setStorm(false); world.setStorm(false);
world.setThundering(false); world.setThundering(false);
suspendEvents = true; suspendEvents = true;
Bukkit.getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> resumeEvents(), 20); Bukkit.getScheduler().scheduleSyncDelayedTask(Main.plugin, () -> resumeEvents(), 20);
System.out.println("4");
} }
else else {
System.out.println("5");
notifyPlayers(world.getPlayers(), "&e" + perSleeping + "%&0 are sleeping. &e" + perNeeded + "%&0 needed"); notifyPlayers(world.getPlayers(), "&e" + perSleeping + "%&0 are sleeping. &e" + perNeeded + "%&0 needed");
}
} }
@@ -87,6 +99,7 @@ public class Survival implements Module, Listener {
} }
public void notifyPlayers(List<Player> players, String msg) { public void notifyPlayers(List<Player> players, String msg) {
System.out.println("I made It!");
for (Player p : players) for (Player p : players)
ChatAPI.sendActionBar(p, "&0[&2Sleep&0] " + msg); ChatAPI.sendActionBar(p, "&0[&2Sleep&0] " + msg);
} }