Status enum
Пакет: com.hypixel.hytale.builtin.beds.sleep.systems.world
Файл: com/hypixel/hytale/builtin/beds/sleep/systems/world/CanSleepInWorld.java
implements: CanSleepInWorld.Result
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
|
CAN_SLEEP, |
GAME_TIME_PAUSED |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public boolean |
isNegativepublic boolean isNegative() |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.beds.sleep.systems.world;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.server.core.asset.type.gameplay.sleep.SleepConfig;
class="kw">import com.hypixel.hytale.server.core.modules.time.WorldTimeResource;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.time.LocalDateTime;
class="kw">import javax.annotation.Nonnull;
class="kw">public class="kw">final class CanSleepInWorld {
class="kw">public CanSleepInWorld() {
}
@Nonnull
class="kw">public class="kw">static CanSleepInWorld.Result check(@Nonnull World var0) {
if (var0.getWorldConfig().isGameTimePaused()) {
class="kw">return CanSleepInWorld.Status.GAME_TIME_PAUSED;
}
Store var1 = var0.getEntityStore().getStore();
LocalDateTime var2 = var1.getResource(WorldTimeResource.getResourceType()).getGameDateTime();
SleepConfig var3 = var0.getGameplayConfig().getWorldConfig().getSleepConfig();
class="kw">return !var3.isWithinSleepHoursRange(var2) ? new CanSleepInWorld.NotDuringSleepHoursRange(var2, var3) : CanSleepInWorld.Status.CAN_SLEEP;
}
class="kw">public record NotDuringSleepHoursRange(LocalDateTime worldTime, SleepConfig sleepConfig) class="kw">implements CanSleepInWorld.Result {
class="kw">public NotDuringSleepHoursRange {
}
@Override
class="kw">public boolean isNegative() {
class="kw">return true;
}
}
class="kw">public sealed class="kw">interface Result permits CanSleepInWorld.NotDuringSleepHoursRange, CanSleepInWorld.Status {
boolean isNegative();
}
class="kw">public enum Status class="kw">implements CanSleepInWorld.Result {
CAN_SLEEP,
GAME_TIME_PAUSED;
Status() {
}
@Override
class="kw">public boolean isNegative() {
class="kw">return this != CAN_SLEEP;
}
}
}