Skip to content

🥖 수면 배고픔 소모 및 수중 익사 면역

📌 저장소 소스 코드 고지 사항: 이 위키의 문서는 CurseForge 및 Modrinth의 공개 릴리스 빌드에 앞서 최근 릴리스되지 않은 커밋 또는 개발 기능을 포함할 수 있는 저장소의 현재 소스 코드 상태를 반영합니다.


🥐 수면 배고픔 소모 메커니즘

실제 생활에서도 밤새 잠을 자면 칼로리가 소모됩니다. 마인크래프트에서 아침에 일어났을 때 아침 식사를 찾게 되는 것은 몰입감을 극대화합니다.

truesleep:sleep_hunger 규칙이 활성화되면(기본값: ON), 수면 중인 플레이어는 타임 워프 동안 미세하고 균형 잡힌 탈진(Exhaustion) 소모를 겪습니다.

📐 탈진 및 배고픔 소모 공식

$$\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;

🫧 폐 정지 호흡 보호 (수중 익사 면역)

바닐라 마인크래프트에서는 물속에 침대를 놓거나 자는 동안 물에 잠기면 산소가 급속 고갈되어 질식 피해를 입고 침대에서 강제로 튕겨 나옵니다.

truesleep:drown_immunity가 활성화되면(기본값: ON), 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.