NaNny (Fix NaN Health / Absorption)
엔티티의 체력·흡수 값을 NaN으로 만들어 버리는 다른 모드들의 뒤처리를 해 주는 작은 Forge/NeoForge 모드.
📖 소개
NaNny는 다른 모드가 엔티티의 체력(health)이나 흡수(absorption) 값을 NaN으로 만들어 놨을 때 그 뒤처리를 해 주는 작은 Forge/NeoForge 모드입니다. 모드 페이지의 부제가 "일부 모드가 float 값을 제대로 관리하지 못하기 때문에"인 데서 알 수 있듯, 목적이 아주 좁고 분명합니다.
NaN은 "Not a Number"의 약자로, 0으로 나누기 같은 잘못된 부동소수점 연산에서 나오는 값입니다. 이 값이 엔티티의 체력에 들어가면 이후의 모든 체력 연산이 정상적으로 성립하지 않게 됩니다.
작동 방식은 단순합니다. NaNny는 다음 네 가지 이벤트에 훅을 걸어 두고, NaN이 관련된 처리를 취소하며 필요하면 해당 엔티티를 회복시켜 줍니다.
- LivingAttackEvent
- LivingDamageEvent
- LivingHealEvent
- LivingHurtEvent
설정 파일은 world/serverconfig/nanny-server.toml에 생성되며, 현재 세 가지 옵션이 있습니다.
- doHeal — NaN 피해·회복이 들어왔을 때 엔티티의 체력을 다시 설정할지 여부 (기본값 true)
- health — 그때 설정할 체력을 최대 체력 대비 비율로 지정 (기본값 1.0)
- log — 엔티티 체력을 NaN으로 만든 이벤트를 로그에 남길지 여부 (기본값 true)
체력을 다루는 모드가 여럿 얹힌 대형 모드팩에서 이런 값 깨짐이 보고되기 때문에, 모드팩에 이미 포함돼 있다면 그대로 두는 편이 낫습니다. 자체 콘텐츠가 없어 JEI에서 검색해도 나오는 아이템이 없습니다.
🕒 이 모드는 언제 쓰는가
설치해 두면 자동으로 작동합니다. 평소에 조작할 것은 없습니다.
📦 어떤 모드팩에서 중요한가
체력·흡수 값을 건드리는 모드가 여럿 얹힌 대형 Forge/NeoForge 모드팩.
🎮 플레이 체감 변화
직접 체감되는 요소는 없습니다. 체력 값이 깨졌을 때만 뒤처리가 일어납니다.
🚀 시작 가이드 — 첫 30분 동안 해야 할 것
1단계 — 체력이 NaN으로 깨지는 증상을 실제로 겪고 있는지 확인합니다. 그런 일이 없다면 넣을 이유가 없는 모드입니다.
2단계 — 그대로 둡니다. 기본 설정으로 자동 작동합니다.
3단계 — 체력이 깨지는 현상이 반복된다면 nanny-server.toml의 log 로그를 확인해 원인 모드를 좁힙니다.
💡 플레이 팁
- 설정은
world/serverconfig/nanny-server.toml에 생성됩니다 — 월드별 서버 설정이라 월드를 한 번 만든 뒤에 나타납니다. log옵션은 켜 두는 편이 유용합니다 — 어떤 상황에서 체력이 NaN이 되는지 로그가 남아, 원인 모드를 좁히는 단서가 됩니다.- Forge/NeoForge 전용입니다 — Fabric 빌드는 없습니다.
⚠️ 자주 헷갈리는 부분
- • 평소에는 아무 효과도 보이지 않습니다 — 체력 값이 실제로 NaN이 됐을 때만 개입합니다.
- • 자체 콘텐츠가 없습니다 — 추가되는 아이템·블록이 없어 JEI에 나타나지 않습니다.
❓ 자주 묻는 질문
NaN이 뭔가요?
"Not a Number"의 약자로, 0으로 나누기 같은 잘못된 부동소수점 연산의 결과값입니다. 이 값이 엔티티의 체력이나 흡수 값에 들어가면 이후 체력 연산이 정상적으로 성립하지 않습니다.
무엇을 설정할 수 있나요?
world/serverconfig/nanny-server.toml에서 doHeal(NaN 발생 시 체력을 다시 설정할지, 기본 true), health(그때 설정할 체력의 최대 체력 대비 비율, 기본 1.0), log(로그 기록 여부, 기본 true) 세 가지를 조정할 수 있습니다.
제거해도 되나요?
기술적으로는 가능합니다. 다만 체력 값을 건드리는 모드가 여럿 들어간 모드팩이 이 모드를 포함했다면 그럴 만한 이유가 있는 것이므로, 굳이 뺄 이유는 없습니다.