
Bad Wither No Cookie – Minecraft Java Edition 1.12.2–1.21.10+
의존성: · 로더: Forge / NeoForge / Fabric / Quilt · Minecraft 버전: 1.12.2 – 1.21.10+ · 모드 버전: v3.20.4 · 필수 라이브러리: Cloth Config API (Fabric용)…
의존성: · 로더: Forge / NeoForge / Fabric / Quilt · Minecraft 버전: 1.12.2 – 1.21.10+ · 모드 버전: v3.20.4 · 필수 라이브러리: Cloth Config API (Fabric용), Fabric API (Fabric용) Minecraft의 바닐라 클라이언트는 일부 사운드 이벤트를 소스와 플레이어 사이의 거리에 관계없이 게임 세계
의존성:
· 로더: Forge / NeoForge / Fabric / Quilt
· Minecraft 버전: 1.12.2 – 1.21.10+
· 모드 버전: v3.20.4
· 필수 라이브러리: Cloth Config API (Fabric용), Fabric API (Fabric용)
Minecraft의 바닐라 클라이언트는 일부 사운드 이벤트를 소스와 플레이어 사이의 거리에 관계없이 게임 세계 전체에 방송합니다. WITHER의 생성이나 죽음, ENDER DRAGON의 사망, 번개 방전은 서버의 모든 사용자가 듣는 큰 음향 효과를 동반합니다. 이는 특히 공개 서버나 자동 보스 농장이 있는 개인 기술 부지에서 상당한 청각적 불쾌감을 유발합니다. Bad Wither No Cookie - Reloaded(BWNCR) 모드는 전역 오디오 방송을 로컬화하거나 클라이언트 엔진 수준에서 완전히 음소거하여 이 문제를 해결합니다.
소리 억제의 기본 메커니즘
이 모드는 Mixin 도구 세트를 사용하여 게임의 오디오 시스템에 통합됩니다. BWNCR는 소리가 일반 재생 대기열에 들어온 뒤에 걸러내려고 시도하는 대신, 사운드 효과의 재생 패킷을 SoundManager에 전달되기 직전에 가로챕니다. 이는 불필요한 사운드 리소스가 컴퓨터 메모리에 로드되는 것을 방지하고 오디오 하위 시스템의 부하를 줄입니다.
기본적으로 이 모드는 중요한 전역 사운드의 방송을 로컬화하거나 완전히 비활성화합니다. 아래 표에는 모드를 설치한 후 자동 필터링 대상이 되는 바닐라 사운드 이벤트 목록이 나와 있습니다:
사운드 이벤트 (Sound Event ID) | 설명된 게임 이벤트 | 기본 처리 |
| 월드에 WITHER 출현 | 로컬화됨 / 음소거됨 |
| 플레이어 또는 환경에 의한 WITHER 처치 | 로컬화됨 / 음소거됨 |
| ENDER DRAGON의 사망 | 로컬화됨 / 음소거됨 |
| 번개 방전 (천둥) | 로컬화됨 / 음소거됨 |
| 떠돌이 상인의 배경 소음 | 음소거됨 |
| 라마의 배경 소음 | 음소거됨 |
로컬화란 소리가 더 이상 전역적이지 않게 됨을 의미합니다. 플레이어는 사운드 이벤트의 소스가 바닐라 사운드의 표준 가청 반경(일반적으로 16–32블록) 안에 있을 때에만 WITHER의 폭발이나 천둥소리를 듣게 됩니다. 이벤트가 다른 기지나 여러 청크 떨어진 곳에서 발생하면 오디오 스트림이 완전히 차단됩니다.
제약: 소리 차단은 오직 클라이언트 측에서만 이루어집니다. 이 모드가 없는 서버의 다른 플레이어들은, 게임의 서버 측이 타사 도구를 통해 이러한 이벤트를 음소거하도록 구성되어 있지 않는 한, 전역 방송을 전부 계속 듣게 됩니다.
진단 시스템과 /bwncr listen 명령
고급 사운드 관리를 위해 개발자는 진단 명령 /bwncr listen을 모드에 통합했습니다. 이 명령은 게임 진행 중에 직접 사운드의 내부 이름을 찾아내는 데 도움을 주어, 타사 사운드 효과를 블랙리스트에 추가하는 작업을 간소화합니다.
진단 모드의 작동 원리:
1. 플레이어가 게임 채팅에 /bwncr listen 명령을 입력합니다.
2. 엔진이 사운드 이벤트 인터셉터를 활성화하며, 이는 클라이언트의 스피커로 들어오는 모든 오디오 신호를 추적하기 시작합니다.
3. 플레이어 근처에서 어떤 소리든 재생되면(예: 몹의 발소리, 문 열림, 발사기 발사, 또는 다른 모드의 효과), 이벤트의 정확한 식별자가 채팅에 출력됩니다(예: minecraft:block.wooden_door.use 또는 minecraft:entity.zombie.step).
4. /listen 명령을 다시 입력하면 진단 모드가 비활성화됩니다.
이 도구는 대규모 모드 조합을 구성하는 데 매우 중요합니다. 타사 모드가 시끄러운 기계나 몬스터를 추가하는 경우, 플레이어는 /bwncr listen을 사용하여 사운드의 시그니처를 손쉽게 얻어 구성 파일에 추가할 수 있습니다.
모드 구성
Minecraft 버전과 선택한 로더에 따라 구성 파일의 구조가 다릅니다. 이 모드는 두 가지 기본 설정 파일 형식을 지원합니다. (스크린샷 참조)
최신 TOML 구성 (1.18.2 – 1.21.10+ 버전)
최신 게임 버전에서는 설정이 .minecraft/config/ 디렉터리에 위치한 bwncr-client.toml(또는 bwncr-common.toml) 파일에 저장됩니다. 이 파일에는 다음과 같은 기본 매개변수가 포함되어 있습니다: (스크린샷 참조!!!)
레거시 CFG 구성 (1.12.2 – 1.16.5 버전)
구형 Forge 버전의 경우 설정은 badwithernocookiereloaded.cfg 파일에 기록됩니다. 파일 구조는 Forge 구성 파일의 전형적인 형태를 띱니다:
general { |
구성 파일을 편집하려면 UTF-8 인코딩을 지원하는 텍스트 편집기(예: Notepad++ 또는 VS Code)를 사용해야 합니다. 변경 사항은 게임 클라이언트를 재시작한 후에 적용됩니다. Cloth Config API가 있는 경우, 파일을 수동으로 편집하지 않고도 게임 메뉴에서 직접 설정을 변경할 수 있습니다.
아키텍처 및 성능 최적화
버전 1.18.2부터 Bad Wither No Cookie - Reloaded는 순수 클라이언트 측 모드입니다. 서버에서 어떠한 계산도 수행하지 않으며 접속한 플레이어 측의 동기화도 요구하지 않습니다.
버전 v3.20.3에서 개발자는 심각한 환경 호환성(sidedness) 문제를 수정했습니다. 이전에는 사운드 엔진의 클라이언트 클래스가 전용 서버에서 모드를 초기화할 때 호출될 수 있어, 그로 인해 게임의 서버 측이 NoClassDefFoundError 오류와 함께 갑자기 종료되곤 했습니다. 이 업데이트는 클라이언트 Mixin 클래스를 서버 로더로부터 완전히 격리했습니다.
v3.20.4 릴리스에서는 중요한 최적화가 구현되었습니다. 엔진이 볼륨을 변경하기 전에 사운드의 상태를 확인합니다. 오디오 스트림이 이미 다른 프로세스나 모드의 이전 명령에 의해 음소거된 경우, BWNCR는 오디오 채널 메모리에 중복 기록을 수행하지 않습니다. 이를 통해 수십 개의 사운드 신호를 동시에 억제할 때 저성능 프로세서에서 발생하는 마이크로 프리징(microfreeze)을 피할 수 있습니다.
결론
Bad Wither No Cookie - Reloaded 모드는 고도화된 자동화가 갖춰진 서버에서 많은 시간을 보내는 플레이어를 위한 효과적인 시스템 도구입니다. 서버 설정에 개입할 필요 없이 거슬리는 전역 소음을 제거하여 게임의 쾌적함을 높여 줍니다.
이 모드의 주요 제약은 청각적 단서를 완전히 잃는다는 점입니다. 플레이어는 다른 플레이어의 기지에 대한 공격이나 폭풍의 시작(silenceLightning 매개변수가 켜져 있는 경우)을 알 수 없으며, 이는 PvP 서버나 Anarchy 유형 서버에서 치명적일 수 있습니다. 가장 가까운 대안은 «우호적 생물»과 «날씨» 범주에 있는 바닐라 볼륨 조절 시스템이지만, 이는 특정 소리를 정밀하게 끄는 것(예: 라마는 끄되 소는 남겨 두는 것)을 허용하지 않으며 다른 모드의 타사 소리 차단을 지원하지 않으므로, 대규모 기술 조합에서는 BWNCR의 사용을 대체 불가능하게 만듭니다.
설치
일반적인 설치는 약 5 분 정도 걸려요. 과정은 동일하고, Loader 와 그에 맞는 빌드만 달라요.
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











