Skip to content

🥖 Расход сытости во сне и Иммунитет к утоплению

📌 Отказ от ответственности за исходный код: Документация в этой Вики отражает текущее состояние исходного кода в репозитории, которое может включать недавние невыпущенные коммиты или разрабатываемые функции до публичных релизов на CurseForge и Modrinth.


🥐 Механика расхода сытости во сне

В реальной жизни сон тоже сжигает калории, и пробуждение в Minecraft с легким голодом выглядит очень органично.

Когда включено правило truesleep:sleep_hunger (по умолчанию: ВКЛ), спящие игроки испытывают легкое, сбалансированное истощение во время ускорения времени.

📐 Формула истощения голода

$$\text{exhaustion} = \text{strideTicks} \times 0.0008\text{ единиц истощения}$$

  • За стандартную ночь в $10{,}000\text{ тиков}$ ($12542 \to 24000$) суммарное истощение составит: $$\text{Итоговое истощение} = 10000 \times 0.0008 = 8.0\text{ очков} = 2.0\text{ единицы голода (1 окорочок)}$$
  • За полный цикл в $12{,}000\text{ тиков}$ игрок потратит всего $3.0\text{ – }4.0\text{ единицы голода}$.

🛡️ Безопасный порог против голодной смерти

True Sleep НИКОГДА не доведет спящего игрока до голодной смерти. Расход сытости автоматически останавливается, когда уровень голода падает до 6 единиц (3 окорочка):

java
if (player.getFoodData().getFoodLevel() <= 6) return;

🫧 Легочный стазис (Иммунитет к утоплению)

В ванильном Minecraft сон под водой приводит к быстрой потере воздуха, получению урона и принудительному выбросу из кровати.

Когда включено правило truesleep:drown_immunity (по умолчанию: ВКЛ), True Sleep активирует Легочный стазис (Pulmonary Stasis):

  • Перехватывает Entity.baseTick() для спящих игроков.
  • Непрерывно восполняет запас воздуха до максимума getMaxAirSupply() ($300\text{ тиков}$).
  • Позволяет игрокам спокойно отдыхать на подводных базах, любуясь морскими глубинами без риска утонуть!
java
if (serverLevel.getGameRules().get(TrueSleepRules.DROWN_IMMUNITY)) {
    this.setAirSupply(this.getMaxAirSupply());
}

🎛️ Управляющие игровые правила (GameRules)

Игровое правилоТипПо умолчаниюОписание
truesleep:sleep_hungerBooleantrueСимулирует расход сытости во сне до порога в 6 единиц.
truesleep:drown_immunityBooleantrueПредотвращает утопление при отдыхе под водой.

Official documentation & web portal for Dasik Igaijinn mods.