Class SleepManager

java.lang.Object
net.minecraft.server.world.SleepManager

public class SleepManager extends Object
A sleep manager allows easy tracking of whether nights should be skipped on a server world.
Mappings:
Namespace Name
official ajc
intermediary net/minecraft/class_5838
named net/minecraft/server/world/SleepManager
  • Field Details

    • total

      private int total
      The total number of players in a server world.
      Mappings:
      Namespace Name Mixin selector
      official a Lajc;a:I
      intermediary field_28866 Lnet/minecraft/class_5838;field_28866:I
      named total Lnet/minecraft/server/world/SleepManager;total:I
    • sleeping

      private int sleeping
      The number of players sleeping in a server world.
      Mappings:
      Namespace Name Mixin selector
      official b Lajc;b:I
      intermediary field_28867 Lnet/minecraft/class_5838;field_28867:I
      named sleeping Lnet/minecraft/server/world/SleepManager;sleeping:I
  • Constructor Details

    • SleepManager

      public SleepManager()
  • Method Details

    • canSkipNight

      public boolean canSkipNight(int percentage)
      Returns if the number of sleeping players has reached a percentage out of all players.

      This allows initiating the night sleeping process, but still needs players to have slept long enough (checked in canResetTime) to actually skip the night.

      Parameters:
      percentage - the percentage of players required, as obtained from the game rule
      Mappings:
      Namespace Name Mixin selector
      official a Lajc;a(I)Z
      intermediary method_33812 Lnet/minecraft/class_5838;method_33812(I)Z
      named canSkipNight Lnet/minecraft/server/world/SleepManager;canSkipNight(I)Z
    • canResetTime

      public boolean canResetTime(int percentage, List<ServerPlayerEntity> players)
      Returns if the night can actually be skipped at the tick this is called.

      This is usually tested after canSkipNight, which is less performance intensive to check.

      Parameters:
      percentage - the percentage of players required, as obtained from the game rule
      players - the list of all players in a world where the night would be skipped
      Mappings:
      Namespace Name Mixin selector
      official a Lajc;a(ILjava/util/List;)Z
      intermediary method_33813 Lnet/minecraft/class_5838;method_33813(ILjava/util/List;)Z
      named canResetTime Lnet/minecraft/server/world/SleepManager;canResetTime(ILjava/util/List;)Z
    • getNightSkippingRequirement

      public int getNightSkippingRequirement(int percentage)
      Returns the number of sleepers needed to skip a night with the given percentage.
      Parameters:
      percentage - the percentage of players required, as obtained from the game rule
      Mappings:
      Namespace Name Mixin selector
      official b Lajc;b(I)I
      intermediary method_33816 Lnet/minecraft/class_5838;method_33816(I)I
      named getNightSkippingRequirement Lnet/minecraft/server/world/SleepManager;getNightSkippingRequirement(I)I
    • clearSleeping

      public void clearSleeping()
      Resets the number of sleeping players to 0.
      Mappings:
      Namespace Name Mixin selector
      official a Lajc;a()V
      intermediary method_33811 Lnet/minecraft/class_5838;method_33811()V
      named clearSleeping Lnet/minecraft/server/world/SleepManager;clearSleeping()V
    • getSleeping

      public int getSleeping()
      Returns the number of sleeping players.
      Mappings:
      Namespace Name Mixin selector
      official b Lajc;b()I
      intermediary method_33815 Lnet/minecraft/class_5838;method_33815()I
      named getSleeping Lnet/minecraft/server/world/SleepManager;getSleeping()I
    • update

      public boolean update(List<ServerPlayerEntity> players)
      Updates the sleeping player and total player counts.
      Parameters:
      players - the list of all players in a server world
      Returns:
      true if the sleeping players or total players have changed
      Mappings:
      Namespace Name Mixin selector
      official a Lajc;a(Ljava/util/List;)Z
      intermediary method_33814 Lnet/minecraft/class_5838;method_33814(Ljava/util/List;)Z
      named update Lnet/minecraft/server/world/SleepManager;update(Ljava/util/List;)Z