리소스 팩으로 HUD 요소 숨기기 및 크기 조정하기
핫바, 십자선, XP 바는 모두 하나의 텍스처 아틀라스에 있습니다. 이 중 일부를 보이지 않게 만드는 방법, 움직일 수 없는 것, 그리고 커스텀 HUD 텍스트를 위한 폰트 트릭을 소개합니다.
핫바를 숨기는 설정은 없습니다. 있는 것은 텍스처뿐이고, 그 일부를 투명하게 만들면 모든 것이 정상 작동하는 상태로 시각적으로만 사라집니다.
모든 것이 하나의 폴더에 있습니다
assets/minecraft/textures/gui/sprites/hud/
최신 버전에서는 예전 widgets.png 아틀라스가 개별 스프라이트로 분리되었습니다: hotbar.png, crosshair.png, experience_bar_background.png, heart/full.png 등입니다. 이 중 하나를 같은 크기의 완전히 투명한 PNG로 교체하면 해당 요소가 숨겨집니다.
직접 그리는 요소라면 크기가 같아야 합니다. 스프라이트는 기본적으로 슬롯을 채우도록 늘어나기 때문에, 더 작은 캔버스에 그림을 그려 넣으면 뭉개져 보입니다. 완전히 투명한 스프라이트는 크기와 상관없이 숨겨집니다 — 뭉개질 것이 없으니까요.
할 수 있는 것과 없는 것
할 수 있는 것:
- 스프라이트를 투명하게 만들어 어떤 요소든 숨기기
- 모든 것을 새로 꾸미기 — 다른 하트, 미니멀한 십자선, 테마가 있는 핫바
- 같은 크기의 캔버스 안에 더 작게 그려서 겉보기 크기 바꾸기
할 수 없는 것:
- 요소 옮기기. 위치는 하드코딩되어 있고, 데이터가 될 수 있는 것은 아트워크뿐입니다.
- 핫바 슬롯을 프레임과 별개로 숨기기 — 둘은 하나의 스프라이트입니다.
- 슬롯의 기능 바꾸기. 이것은 외형만 바꾸는 것이며, 아이템은 여전히 선택할 수 있습니다.
마지막 항목은 분명히 짚을 가치가 있습니다: 숨겨진 핫바도 여전히 핫바입니다. 이것은 인벤토리 제한이 아니며, 플레이어는 여전히 슬롯을 사용할 수 있습니다.
나인 슬라이스 함정
일부 GUI 스프라이트는 나인 슬라이스입니다 — 모서리는 고정되고 변은 늘어납니다. HUD에서는 로케이터 바 배경만 그렇고, gui/sprites/의 다른 대부분의 버튼과 상자는 그렇습니다. PNG 옆의 .mcmeta가 경계를 선언합니다:
{ "gui": { "scaling": { "type": "nine_slice", "width": 200, "height": 20,
"border": { "left": 2, "top": 2, "right": 2, "bottom": 2 } } } }
mcmeta를 맞추지 않고 이런 스프라이트를 교체하면 잘못 늘어납니다. 확실하지 않다면 PNG와 함께 바닐라 .mcmeta를 복사하세요.
폰트를 통한 커스텀 HUD 텍스트
정말 강력한 트릭: 글리프가 이미지인 폰트 제공자를 정의한 다음, /title나 보스바로 그 문자를 출력하는 것입니다. 텍스트가 여러분의 아트워크로 렌더링됩니다.
assets/minecraft/font/default.json
minecraft 네임스페이스에 넣으면 여러분의 제공자가 바닐라 기본 폰트와 병합됩니다. 자체 네임스페이스를 유지하면 그것을 사용하는 모든 텍스트 컴포넌트가 "font":"my_pack:default"로 이를 명시해야 합니다.
{ "providers": [
{ "type": "bitmap", "file": "my_pack:font/icons.png", "ascent": 8, "height": 9,
"chars": [""] }
] }
사용자 정의 코드포인트( 이상)를 사용해서 실제 텍스트와 충돌하지 않게 하세요. 그러면 /title @a actionbar {"text":""}가 액션 바에 여러분의 이미지를 그립니다.
이것이 서버가 클라이언트 모드 없이, 리소스 팩만으로 커스텀 체력 바, 화폐 아이콘, 진행 미터를 표시하는 방법입니다.
네거티브 스페이스 폰트
음수 advances로 글리프를 정의하면 커서를 뒤로 움직여 이미지를 겹쳐 쌓을 수 있습니다. 제대로 된 인터페이스처럼 보이는 서버 HUD의 기법이 바로 이것입니다. 까다롭지만, 무언가를 배치할 수 있는 유일한 방법입니다.
HUD 요소를 숨기거나 새로 꾸미고, HUD Customizer & Font Pack Maker에서 여러분을 위해 할당된 코드포인트로 폰트 제공자를 만들어 보세요.