SmartBrainLib

마인크래프트의 brain(엔티티 AI) 시스템을 모드 개발자가 실제로 쓸 만하게 다듬는 Tslat의 서버 사이드 라이브러리.

📖 소개

SmartBrainLib는 Tslat이 만든 엔티티 AI 라이브러리입니다. 자체 콘텐츠는 없고, 다른 모드가 몹 AI를 짜는 데 쓰는 도구만 제공합니다.

배경은 이렇습니다. Mojang은 더 복잡한 몹을 다루기 위해 기존 goal 시스템과 별개로 brain 시스템이라는 엔티티 AI 구조를 도입했습니다. 그런데 이 구현이 모드 개발자 입장에서는 지나치게 복잡하고 효율도 좋지 않아서, 굳이 기존 goal 시스템을 버리고 쓸 이유가 없는 상태였습니다. SmartBrainLib는 그 brain 시스템을 쓸 수 있고 설정 가능한 형태로 갈아엎는 것을 목표로 합니다.

라이브러리가 제공하는 것은 대략 이렇습니다. 엔티티에 필요한 메모리 모듈을 자동으로 처리해 주고, 센서를 동적으로 구성할 수 있게 하고, 콜백·조건·쿨다운이 내장된 확장 가능한 behaviour 클래스를 제공합니다. 이미 존재하는 엔티티의 behaviour를 런타임에 추가·제거·수정하는 것도 지원합니다. 성능 면에서는 바닐라 brain 시스템의 함수 대부분을 더 효율적인 구현으로 교체합니다. 그 밖에 추가 센서·behaviour·메모리 타입과, 최적화된 엔티티 조회 함수 같은 유틸리티도 들어 있습니다.

제작자 Tslat은 Advent of Ascension(AoA3), PassiveMobs, TslatEntityStatus, TslatEffectsLib를 함께 만들고 GeckoLib 유지보수에도 참여하고 있습니다. Advent of Ascension이 SmartBrainLib를 의존성으로 요구하는 대표 사례입니다.

클라이언트 측에서는 하는 일이 없는 서버 사이드 라이브러리입니다. Forge·NeoForge·Fabric·Quilt를 모두 지원합니다.

🕒 이 모드는 언제 쓰는가

이 라이브러리를 요구하는 모드가 모드팩에 있으면 자동으로 함께 로드됩니다. 플레이어가 직접 쓸 일은 없습니다.

📦 어떤 모드팩에서 중요한가

Advent of Ascension처럼 SmartBrainLib를 의존성으로 요구하는 모드가 들어간 모드팩.

🚀 시작 가이드 — 첫 30분 동안 해야 할 것

플레이어가 할 일은 없습니다. 모드팩에 포함돼 있다면 그대로 두면 되고, 수동으로 모드를 조합 중이라면 이 라이브러리를 요구하는 모드와 같은 로더·같은 마인크래프트 버전 빌드를 받아 넣으면 됩니다. 멀티플레이라면 서버 쪽에 들어가 있는지만 확인하세요.

💡 플레이 팁

  • 임의로 빼지 마세요. 이 라이브러리를 요구하는 모드는 로딩 단계에서 바로 실패합니다.
  • 서버 사이드 라이브러리입니다. 멀티플레이라면 서버에 반드시 들어가 있어야 하고, 클라이언트 전용으로 넣어봐야 아무 일도 하지 않습니다.
  • 설정할 것이 없습니다. 플레이어가 만질 config가 없는 순수 개발자용 라이브러리입니다.

⚠️ 자주 헷갈리는 부분

  • 아무 일도 일어나지 않는 게 정상입니다. JEI에 검색해도 아이템이 나오지 않습니다.
  • GeckoLib과는 담당 영역이 다릅니다. GeckoLib은 모델·애니메이션 쪽이고 SmartBrainLib은 AI 쪽이라, 한 모드가 둘 다 요구하는 경우도 흔합니다.

❓ 자주 묻는 질문

정확히 무슨 일을 하나요?

마인크래프트의 brain 시스템(복잡한 몹을 위한 엔티티 AI 구조)을 모드 개발자가 쓸 수 있게 재구성합니다. 메모리 모듈 자동 처리, 동적 센서, 확장 가능한 behaviour, 런타임 behaviour 수정, 바닐라 brain 함수의 효율 개선 등이 주요 기능입니다.

어떤 모드가 이걸 요구하나요?

Tslat 본인의 Advent of Ascension이 SmartBrainLib를 의존성으로 요구합니다. 그 외에는 사용하는 모드팩의 의존성 목록에서 직접 확인하는 게 정확합니다.

지워도 되나요?

안 됩니다. 이 라이브러리를 요구하는 모드가 하나라도 있으면 게임이 로드되지 않습니다.

📦 이 모드가 포함된 모드팩

🔗 관련 모드