类 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 aec
    intermediary net/minecraft/class_5838
    named net/minecraft/server/world/SleepManager
    • 字段详细资料

      • total

        private int total
        The total number of players in a server world.
        Mappings:
        Namespace Name Mixin selector
        official a Laec;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 Laec;b:I
        intermediary field_28867 Lnet/minecraft/class_5838;field_28867:I
        named sleeping Lnet/minecraft/server/world/SleepManager;sleeping:I
    • 构造器详细资料

      • SleepManager

        public SleepManager()
    • 方法详细资料

      • 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.

        参数:
        percentage - the percentage of players required, as obtained from the game rule
        Mappings:
        Namespace Name Mixin selector
        official a Laec;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.

        参数:
        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 Laec;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.
        参数:
        percentage - the percentage of players required, as obtained from the game rule
        Mappings:
        Namespace Name Mixin selector
        official b Laec;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 Laec;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 Laec;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.
        参数:
        players - the list of all players in a server world
        返回:
        true if the sleeping players or total players have changed
        Mappings:
        Namespace Name Mixin selector
        official a Laec;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