마인크래프트 자바에디션 1.21.6 – 기술적 업데이트 정리
해당 글은 마인크래프트 공식 스냅샷 & 프리릴리스 기사 및 마인크래프트 위키 정보를 바탕으로 1.21.6 주요 기술적 변경 사항을 정리한 것입니다. (1.21.6 정식 출시: 2025년 6월)
해당 글에는 AI가 사용되었습니다.
명령어(Commands)
대화상자 (/dialog - 신규 명령어)
플레이어에게 대화 상자를 띄우는 명령어입니다. 대화 상자는 minecraft:dialog 레지스트리에 저장되거나 인라인으로 정의할 수 있습니다. (실험적 기능)
/dialog show <대상> <dialog>
- 대상 플레이어에게 대화 상자를 띄웁니다.
<대상>: 플레이어 이름, UUID 또는 플레이어 선택기입니다.<dialog>:minecraft:dialog레지스트리의 네임스페이스 ID 또는 인라인 대화 값입니다.- 대상 플레이어 수를 반환합니다.
/dialog clear <대상>
- 대상 플레이어의 대화 상자를 닫습니다 (표시된 경우).
<대상>: 플레이어 이름, UUID 또는 플레이어 선택기입니다.- 대상 플레이어 수를 반환합니다.

/dialog show @s minecraft:custom_options 로 호출한 대화 상자입니다.

모든 대화 상자에는 위 경고 버튼이 뜨게 됩니다.
위치 표시기 (/waypoint - 신규 명령어)
위치 표시기에 사용되는 경유지를 탐색하고 수정하는 명령어입니다.

위치 표시기에 보이는 아이콘이 경유지입니다.
/waypoint list
- 해당 차원의 경유지 엔티티 리스트를 출력합니다.
- 출력에는 차원, 경유지 수와 각 경유지 엔티티의 플레이어 닉네임 또는 엔티티 유형을 웨이포인트 색상으로 출력합니다.
- 만약 경유지 색상을 지정하지 않으면 흰색으로 표시됩니다.

/waypoint modify <엔티티> color <색>
- 해당 엔티티의 경유지 색상을 설정합니다.
- <색>은 마인크래프트 대화 구성요소의 기본 색상입니다.
/waypoint modify <엔티티> color hex <hex_색상>
- 해당 엔티티의 경유지 색상을 16진수 색상으로 설정합니다. (예: 빨강
FF0000).
/waypoint modify <엔티티> color reset
- 해당 엔티티의 색을 기본값으로 설정합니다 (랜덤 색상 또는 팀 색상).
/waypoint modify <엔티티> style set <스타일>
- 리소스팩의
<스타일>리소스 경로에서 경유지 스타일을 가져와 설정합니다. - 기본값은
minecraft:default입니다. - 게임은 경로를 확인하지 않으며, 파일을 찾지 못하면 경유지에 미싱 텍스처가 설정됩니다.

/waypoint modify <엔티티> style reset
- 경유지 스타일을 기본값으로 설정합니다. 위치 표시기의 기본 아이콘 동작을 복원합니다.
경유지 정보를 설정하면 list에 출력은 되나 속성의 transmit_transimit_range, transmit_receive_range에 따라 보이지 않을 수 있습니다.
버전 정보 출력 (/version - 신규 명령어)
- 서버의 게임 버전 정보를 출력합니다. (인수 없음)
- 클라이언트의 F3 + V (클라이언트 버전 정보 출력)에 해당하는 서버 버전입니다.
- OP 권한이 있거나 싱글플레이일 경우 사용 가능합니다.
- 출력 예시는 다음과 같습니다:
Server version info:
id = 25w17a
name = 25w17a
data = 4425
series = main
protocol = 1073742071 (0x400000f7)
build_time = Wed Apr 23 00:48:34 NZST 2025
pack_resource = 58
pack_data = 74
stable = no
- 각 필드의 의미는 다음과 같습니다:
- ID: 버전 ID 문자열입니다.
- Name: 사용자 친화적인 버전 이름입니다 (일반적으로 ID와 동일).
- Data: 데이터 버전입니다.
- Series: 게임이 파생된 브랜치를 식별합니다 (기본값: "main").
- Protocol: 프로토콜 버전입니다.
- Build time: 버전 빌드 타임스탬프입니다 (로컬 시간대).
- Pack resource: 리소스 팩 형식 버전입니다.
- Pack data: 데이터 팩 형식 버전입니다.
- Stable: 정식 버전은 "yes", 개발 버전은 "no"입니다.
데이터팩 생성 - /datapack create (신규 형식)
/datapack create <id> <이름>
- 현재 월드에 빈 데이터팩을 생성합니다.
- 지원되는 팩 버전은 항상 게임에서 지원하는 버전과 동일하게 설정됩니다.
- 서버 소유자만 사용 가능합니다.
<id>: 새 팩 이름입니다 (유효한 디렉토리 이름이어야 합니다).<이름>:pack.mcmeta의 설명에 배치될 텍스트 구성 요소입니다.
확인 결과 data 폴더와 pack.mcmeta 파일만 생성합니다.
새로운 카테고리 - /playsound (신규 형식)
- 소리가 재생될 카테고리에
ui가 추가되었습니다. (/playsound <소리> ui)- 이 카테고리에서 재생되는 소리는 게임이 정지되어도 계속 재생됩니다. (
music처럼)
- 이 카테고리에서 재생되는 소리는 게임이 정지되어도 계속 재생됩니다. (
게임 규칙(/gamerule)
locatorBar(신규 규칙)- 기본값은
true입니다 (서버의 경우). - 로케이터 바의 활성화 여부를 결정합니다.
- 비활성화 시 모든 플레이어의 기존 웨이포인트가 모두 제거됩니다.
- 기본값은
속성 (/attribute)
flying_speed(기존 속성, 적용 대상 변경)- 가스트는 이제 이 속성을 가지고 있으며 비행 속도를 설정합니다.
camera_distance(신규 속성)- 기본값은 4.0입니다.
- 3인칭 시점에서 플레이어 또는 관전 중인 엔티티로부터 카메라가 떨어져 있는 거리를 수정합니다.
- 탑승 중인 엔티티가 더 큰
camera_distance속성을 가지고 있다면 해당 거리가 사용됩니다. - 이 거리는
scale속성과 곱해져 최종 목표 카메라 거리를 얻습니다.

waypoint_transmit_range(신규 속성)- 기본값은 0.0, 최소값은 0.0, 최대값은 60,000,000.0입니다. (플레이어 기본값: 60,000,000)
- 웨이포인트 전송 범위를 설정합니다. 범위가 0보다 큰 몹은 근처 수신자에게 웨이포인트 정보를 보냅니다.
- 예시는
/attribute @s minecraft:waypoint_transmit_range base set 0(전송 중지, 숨김)입니다.
waypoint_receive_range(신규 속성)- 기본값은 0.0, 최소값은 0.0, 최대값은 60,000,000.0입니다. (플레이어 기본값: 60,000,000)
- 웨이포인트 수신 범위를 설정합니다. 수신자는 범위가 0보다 클 때만 수신하며 이 범위를 벗어난 웨이포인트는 수신할 수 없습니다.
- 예시는
/attribute @s minecraft:waypoint_receive_range base set 0(수신 중지)입니다.
아이템 구성요소 변경
attribute_modifiers
attributes_modifiers항목에 선택적display필드가 추가되었습니다.- 세 가지 표시 유형이 있습니다:
default: 계산된 속성 수정자 값을 툴팁에 표시하는 현재 동작입니다.hidden: 속성 수정자 항목을 표시하지 않습니다.override: 표시되는 속성 수정자 텍스트를 대체합니다.value: 기존 속성의 텍스트를 대체하는 대화 구성요소입니다.
- 예시
- /give @p tnt[attribute_modifiers=[{id:"waypoint_receive_range",type:"waypoint_receive_range",amount:-10,operation:"add_multiplied_base",slot:"any",display:{type:"override",value:"TNT를 든 사람은 로케이트바를 볼 수 없습니다."}}]] 1

equippable
- 새로운 선택적 필드
can_be_sheared(boolean)가 추가되었습니다.true인 경우, 다른 모든 깎기 조건이 충족되면 플레이어는 가위를 사용하여 대상 몹을 마우스 오른쪽 버튼으로 클릭하여 이 장착 가능한 아이템을 제거할 수 있습니다.- 지정하지 않으면 기본값은
false입니다.
- 새로운 선택적 필드
shearing_sound(sound event)가 추가되었습니다.- 장착 가능한 아이템을 깎을 때 재생되는 사운드 이벤트입니다.
- 지정하지 않으면 기본값은
item.shears.snip사운드 이벤트입니다.
painting/variant
- 더 이상 인라인 JSON을 허용하지 않습니다. ID 참조만 가능합니다.
minecraft:profile
minecraft:head모델에서 플레이어 텍스처 로딩 지원이 중단됩니다.- 대신
minecraft:player_head모델에서 사용됩니다.
조작(Controls)
빠른 동작(Quick Action) 키 (기본값: G)
minecraft:quick_actions대화 상자 태그로 구성된 대화 상자들을 띄웁니다.- 태그가 비어있으면 아무 작업도 수행하지 않습니다.
- 단일 요소가 있으면 해당 대화 상자를 엽니다.
- 여러 요소가 있으면 선택할 수 있는
minecraft:quick_actions대화 상자로 연결됩니다. (기본적으로 이 태그는 비어 있습니다)
F3 + V: 클라이언트 측 버전 정보를 출력합니다.
엔티티
- 투사체: 시간에 따라 변하는 목표 허용 오차 범위가 추가되었습니다 (초기 2틱은 오차 없음, 이후 틱당 0.05 블록씩 증가하여 최대 0.3 블록).
NBT 변경
- 모든 몹:
home_pos(IntArrayTag, 집 위치),home_radius(IntTag, 집 반경) NBT 필드가 추가되었습니다. 설정 시 해당 영역 내에서 경로 탐색이 제한됩니다. area_effect_cloud:Particle필드가custom_particle필드로 변경되었습니다.- 항상
entity_effect입자의 색을 정확히 재정의합니다.- 지정하지 않으면 필드를 사용하지 않습니다.
entity_effect또는tinted_leaves입자 유형은 더 이상 물약 내용물에서 색상을 상속하지 않습니다.
tnt: TNT를 점화한 엔티티를 저장하는 선택적owner필드 (생명체 UUID)가 추가되었습니다.- 벡스: 벡스의 소유자를 저장하는 선택적
owner필드 (몹 UUID)가 추가되었습니다. - 투척용 포션: 효과를 받는 엔티티까지의 거리가 엔티티 히트박스와 물약 히트박스 간 가장 가까운 거리에 따라 결정됩니다. 직접 맞으면 전체 효과를 받습니다.
게임플레이 변경점
로케이터 바
- 월드의 다른 플레이어 방향을 표시하는 HUD UI 요소입니다. 경험치 바 위치에 표시됩니다.
- 다른 숨겨지지 않은 플레이어가 한 명 이상 있는 서버에서 경험치를 얻고 있지 않을 때 표시됩니다.
- 기본적으로 모든 플레이어는 자신으로부터 웨이포인트를 전송하고 모든 웨이포인트를 수신합니다.
- 카메라가 웨이포인트 방향 120도 이내를 향할 때 색상 표시기가 표시됩니다. 위/아래 화살표로 높낮이를 표시합니다.
- 팀 소속 플레이어/몹은 팀 색상으로 표시됩니다.
locatorBar게임 규칙으로 토글 가능합니다.- 웅크리거나 머리 아이템 착용, 투명화 물약 효과 시 다른 플레이어의 로케이터 바에서 숨겨집니다.
- 관전자는 다른 관전자에게만 표시됩니다.
- 웨이포인트 아이콘은 거리에 따라 다른 스프라이트를 사용합니다.
/waypoint modify ... style로 변경 가능합니다.- 기본 스타일 정의 예시는
{"near_distance": 128, "far_distance": 332, "sprites": ["minecraft:default_0", ...]}입니다.
- 기본 스타일 정의 예시는
기타 게임플레이 변경
- 안개: 1인칭 손/아이템 등 3D HUD 요소에도 안개가 적용됩니다. 비가 올 때 안개가 더 짙어집니다.
- 관전자 모드: 다른 차원으로 이동하는 엔티티를 따라 함께 순간이동하지만 관전은 중지됩니다.
- 3인칭 시점: 특정 대형 몹(가스트, 엔더 드래곤, 자이언트) 관전 또는 탑승 시 3인칭 카메라 거리가 증가합니다.
데이터팩(Data Packs) – 버전 79
- 팩 형식 버전은 79입니다.
- 차원 유형 정의(Dimension Type definitions): 선택적
cloud_height필드가 추가되었습니다 (해당 차원의 구름 시작 Y 레벨, 음수 가능, 기본값은effects필드에 따라 다릅니다). - 명령줄 인수:
--quickPlaySingleplayer인수를 식별자 없이 사용하여 마지막으로 플레이한 월드로 실행 가능합니다. - 명령 구문 보고서: 필요한 권한 수준에 대한 정보를 포함합니다.
발전과제
새로운 발전과제 트리거 (minecraft:player_sheared_equipment)
- 플레이어가 엔티티의 장비를 가위로 제거하였을 경우 발동합니다.
- 조건
item: 가위로 제거된 아이템입니다.entity: 가위질된 엔티티입니다.
대화상자(Dialog) 파일 형식
대화 상자는 data/<namespace>/dialog/<id>.json 경로에 저장되며, minecraft:dialog 레지스트리를 통해 관리됩니다. 사용자 혼란을 피하기 위해 제목 옆에 경고 표시가 나타나며, 클릭 시 사용자 지정 콘텐츠임을 알리고 월드를 나갈 수 있는 옵션을 제공합니다.
더 자세한 내용은 새로운 글로 정리해오겠습니다.
- 최상위 공통 필드:
type:minecraft:dialog_type레지스트리의 대화 상자 유형 중 하나입니다.title: 화면 제목입니다 (텍스트 구성 요소).external_title(선택 사항): 이 대화 상자로 연결되는 버튼에 사용될 이름입니다 (예: 일시 중지 화면). 없으면title을 사용합니다.body(선택 사항): 본문 요소 목록 또는 단일 요소입니다.can_close_with_escape(선택 사항, boolean): Escape 키로 닫을 수 있는지 여부입니다 (기본값:true).pause(선택 사항, boolean): 싱글 플레이어 모드에서 게임을 일시 중지할지 여부입니다 (기본값:true).after_action(선택 사항): 클릭 또는 제출 작업 후 수행되는 추가 작업입니다 (기본값:close).close: 대화 상자를 닫고 이전 비-대화 상자 화면으로 돌아갑니다.none: 아무것도 하지 않습니다 (현재 대화 상자 화면을 유지하며,pause가false일 때만 가능합니다).wait_for_response: "응답 대기 중" 화면으로 대체됩니다 (5초 후 "뒤로" 버튼이 활성화됩니다).
- 일반적인 버튼 데이터:
label: 버튼 레이블입니다 (텍스트 구성 요소).tooltip(선택 사항): 버튼 강조 또는 마우스오버 시 표시될 텍스트입니다.width: 버튼 너비입니다 (양의 정수, 기본값: 150).
- 작업 유형 (Action Types):
- 정적 대화 상자: 기존
click_event작업 대부분을 포함합니다 (예:show_dialog). 텍스트 구성 요소의click_event와 동일한 형식을 사용하되action대신type을 사용합니다. minecraft:dynamic/run_command: 제공된 매크로 템플릿을 사용하여run_command이벤트를 빌드합니다. (template필드)minecraft:dynamic/custom: 모든 입력 값을 사용하여minecraft:custom이벤트를 빌드합니다. (id,additions필드)
- 정적 대화 상자: 기존
- 대화 상자 유형 (Dialog Types):
minecraft:confirmation: '예/아니오' 두 가지 작업이 있는 간단한 화면입니다. (yes,no필드)minecraft:dialog_list: 다른 대화 상자로 직접 연결되는 버튼 목록입니다. (dialogs,exit_action,columns,button_width필드)minecraft:multi_action: 작업 목록입니다. (actions,exit_action,columns필드)minecraft:notice: 단일 작업이 있는 간단한 화면입니다. (action필드)minecraft:server_links: 서버에서 받은 링크 목록입니다. (이전 "서버 링크" 화면을 대체합니다)
- 본문 유형 (Dialog Body Types):
minecraft:item: 아이템과 선택적 설명입니다. (item,description,show_decorations,show_tooltip,width,height필드)minecraft:plain_message: 여러 줄 레이블입니다. (contents,width필드)
- 입력 컨트롤 유형 (Input Control Types): (
key필드 공통)minecraft:boolean: 체크박스입니다. (label,initial,on_true,on_false필드)minecraft:number_range: 슬라이더입니다. (label,label_format,width,start,end,step,initial필드)minecraft:single_option: 옵션 순환 버튼입니다. (label,label_visible,width,options필드)minecraft:text: 텍스트 입력 필드입니다. (width,label,label_visible,initial,max_length,multiline필드)
- 제출 작업 유형 (Submit Action Types): (
id필드 공통)minecraft:command_template: 매크로 템플릿을 사용하여 명령 빌드 및 실행을 요청합니다. (template필드)minecraft:custom_form: 모든 값에서 사용자 지정 서버 클릭 작업을 빌드합니다. (id필드)minecraft:custom_template: 매크로 템플릿을 사용하여 사용자 지정 서버 클릭 작업을 빌드합니다. (template,id필드)
- 텍스트 구성 요소 클릭 이벤트:
minecraft:custom(신규): 클릭 시minecraft:custom_click_action패킷을 서버로 전송합니다 (id,payload(선택적 문자열 또는 NBT 태그) 필드). 모드 서버에서 사용자 지정 명령 없이 상호작용 가능하며, 바닐라 서버에서는 기능이 없습니다.show_dialog(신규): 클릭 시 대화 상자를 엽니다 (dialog필드 - ID 또는 인라인 값).run_command: 실행 전 구문 분석이 불가하거나 높은 권한이 필요할 시 확인 메시지를 표시합니다.
대화 구성요소
클릭 이벤트
- 책이나 채팅의
run_command클릭 액션 실행 전, 명령을 구문 분석할 수 없거나 높은 권한(기본값 0 이상)이 필요한 경우 사용자에게 확인 메시지를 표시합니다.

- 새로운 클릭 액션
minecraft:custom이 추가되었습니다.- 사용자가 이 클릭 액션이 있는 구성 요소를 클릭하면, 클라이언트는 서버로 전용 패킷
minecraft:custom_click_action을 전송합니다. - 이것은 모드 서버에서 사용자 지정 명령을 추가하는 것에 대한 걱정 없이
run_command의 대안으로 사용하도록 의도되었습니다. - 이 패킷은 바닐라 서버에서는 아무런 기능도 하지 않습니다.
- 필드:
id: 네임스페이스 ID입니다.payload: 선택적 문자열 필드입니다
- 사용자가 이 클릭 액션이 있는 구성 요소를 클릭하면, 클라이언트는 서버로 전용 패킷
대화 상자 클릭 이벤트
- 새로운 대화 상자 클릭 이벤트 액션
show_dialog가 추가되었습니다. - 사용자가 이 구성 요소를 클릭하면, 사용자에게 새로운 대화 상자가 열립니다.
- 필드:
dialog: minecraft:dialog 레지스트리의 네임스페이스 ID 또는 대화상자 JSON입니다.
태그 추가/변경
- 블록:
#happy_ghast_avoids: 행복한 가스트가 피하는 블록입니다.#triggers_ambient_desert_sand_block_sounds: 해당 블록들은 주변 사막 모래 소리를 유발합니다.#triggers_ambient_dried_ghast_block_sounds: 말린 가스트 블록을 놓았을 때 주변에 있을 경우 말린 가스트 소리를 유발합니다.#plays_ambient_desert_block_sounds→#triggers_ambient_desert_dry_vegetation_block_sounds(이름이 변경되었습니다).
- 아이템:
#happy_ghast_food: 행복한 가스트에게 먹일 수 있는 아이템입니다.#happy_ghast_tempt_items: 행복한 가스트를 유인하는 아이템입니다.#harnesses: 모든 종류의 하네스입니다.#horse_food에 당근이 추가되었습니다.
- 엔티티:
#can_equip_harness: 하네스를 장착 가능한 엔티티입니다.#followable_friendly_mobs: 가스트링이 따라갈 성체 엔티티입니다.#dismounts_underwater,#fall_damage_immune에happy_ghast가 추가되었습니다.대화 상자 태그
- 대화 상자 (dialog)
#pause_screen_additions: 이 태그에 있는 대화 상자는 ESC 화면의 버그 제보하기, 서버 주소 버튼을 대체합니다.#quick_actions: 빠른 동작(G키) 시 열리는 대화 상자입니다.
리소스팩(Resource Packs) – 버전 63
- 팩 형식 버전은 63입니다.
- UI, 모델 및 텍스처:
- 블록 모델 회전(
elements[].rotation.angle)이 더 이상 22.5도 배수로 제한되지 않고 -45도에서 +45도 사이의 모든 각도를 가질 수 있습니다. - 새로운 장비 에셋 레이어 유형
happy_ghast_body(행복한 가스트 몸체 슬롯 렌더링)가 추가되었습니다. - 아이템 모델 정의에
oversized_in_gui(boolean, 기본값false) 필드가 추가되었습니다.true이면 GUI에서 아이템 슬롯보다 크게 렌더링을 허용합니다 - 새로운 아이템 모델
minecraft:player_head가 도입되었습니다 (minecraft:profile구성요소 사용, 플레이어 프로필 텍스처 로딩/렌더링).minecraft:head모델은 더 이상minecraft:profile을 지원하지 않습니다. hud/locator_bar_arrow_up및hud/locator_bar_arrow_down스프라이트가 이제 해당.mcmeta파일의 표준 애니메이션 정의로 애니메이션됩니다.- 파노라마 텍스처는 이제 모두 동일한 크기여야 하며 정사각형이어야 합니다.
mob_effects.png-atlas가gui.png-atlas에 병합되어 더 이상 존재하지 않습니다 (상태 효과 스프라이트가 GUI 스프라이트 크기 조절 속성을 지원합니다).icon/music_notes및toast/now_playing스프라이트가 추가되었습니다.- 구름 텍스처(
clouds.png)는 더 이상 색칠할 수 없습니다. 구름 패턴이 업데이트되었으며, 수평선까지 존재합니다. .png.mcmeta파일의blur텍스처 매개변수를 일관되게 반영합니다.
- 블록 모델 회전(
- 글꼴(Fonts):
uniform글꼴이 Unifont 16.0.03으로 업데이트되었습니다.- PUA(Private Use Areas)용 Unifont 글리프가 추가되었습니다 (
minecraft:include/unifont_pua하위 글꼴). - Unihex 글꼴 공급자:
size_overrides필드가 선택 사항으로 변경되었습니다 (기본값: 빈 목록).
- 기타:
- 모든 JSON 파일(월드, 팩, 구성 등)은 이제 엄격 모드로 구문 분석됩니다.
소리 관련 변경
- 새로운 소리 이벤트가 추가되었습니다:
entity.leashknot.break(끈 끊어질 때), 가위질 소리 (mob.horse.armor_unequip등). - 일부 몹(발광 오징어, 오징어, 가디언, 말, 토끼, 복어)의 소리 파일 위치가 변경되었습니다 (entity 폴더 → mob 폴더).
- 소리 이벤트 이름이 변경되었습니다:
block.sand.wind→block.dry_grass.ambient등. - 주변 사막 블록 소리 규칙이 조정되었습니다.
쉐이더(Shaders)
- 모든 내장 유니폼은 이제 불투명한 개별 유니폼 대신 유니폼 블록(uniform blocks)입니다.
- 후처리 셰이더에 제공되는 사용자 지정 유니폼은 이제 유니폼 블록입니다.
- JSON 파일 내 유니폼 정의는 이제 블록당 정의됩니다.
- 별과 하늘 상단 부분을 각각 렌더링하는 데 사용되는 두 개의 새로운 핵심 셰이더
stars와sky가 추가되었습니다.
셰이더 안개(Fog)
- 안개는 이제 환경 기반 안개와 렌더링 거리 기반 안개로 분리됩니다.
- 이전에는 두 개념이 동일한 유니폼에 혼합되어 있었습니다.
- 환경 안개는 플레이어가 있는 환경(용암, 물, 그리고 이제 대기)의 "안개 자욱함"을 나타냅니다.
- 렌더링 거리 안개는 보이는 지형의 경계를 가리는 역할을 합니다.
- 환경 안개는 구형 거리를 사용하여 강도를 결정하고, 렌더링 거리 안개는 원통형 거리를 사용합니다.
- 주어진 정점에 대한 최종 안개 값은 두 가지 중 최대값입니다.
후처리 효과 정의 변경
targets맵 항목이 새로운 속성을 지원하도록 확장되었습니다.- 새로운 선택적 boolean 필드:
persistent- 기본값:
false true이면 이 렌더 대상은 프레임 간에 유지됩니다.- 화면 크기가 조정되면 대상의 내용이 지워집니다.
- 기본값:
- 새로운 선택적 필드:
clear_color- 기본값:
[0, 0, 0, 0] - 형식: 정수 ARGB 값 또는
[R, G, B, A]순서의 float 배열 - 이 대상이 생성되거나 지워질 때 이 색상으로 채워집니다.
- 기본값:
- 새로운 선택적 boolean 필드:
uniforms값은 이제 전역 목록 대신 블록당 목록입니다.- 예시:
uniforms: { "UniformBlockName": [ { "type": "vec2", "value": [...] } ] } - 블록 내 유니폼 순서는 셰이더의 순서와 일치해야 합니다.
- 예시:
- 유니폼 정의의 일부인
name은 더 이상 사용되지 않습니다. - 유니폼 정의의 일부인
value는 이전values를 대체하며, 타입은type필드에 따라 결정됩니다.- 이 필드는 필수입니다.
"type": "int"는"value": 123(단일 int)이 필요합니다."type": "float"는"value": 123.4(단일 float)가 필요합니다."type": "vec2"는"value": [1.2, 3.4](두 개의 float)가 필요합니다."type": "vec3"는"value": [1.2, 3.4, 5.6](세 개의 float)가 필요합니다."type": "ivec3"는"value": [1, 2, 3](세 개의 int)가 필요합니다."type": "vec4"는"value": [1.2, 3.4, 5.6, 7.8](네 개의 float)가 필요합니다."type": "matrix4x4"는"value": [1.0, 2.0, ..., 16.0](4x4 float 행렬)이 필요합니다.
후처리 효과 셰이더 변경
- 모든 유니폼이 개별적인 불투명 타입인 대신, 이제 유니폼 블록으로 그룹화됩니다.
- JSON 파일의 패스 정의에 따라 설정되며, 정점 및 프래그먼트 셰이더 모두에서 공유될 수 있습니다.
- 크기 목록(모든
vec2 *Size유니폼)은 이제 단일SamplerInfo유니폼 블록으로 대체됩니다.- 여기에는 출력 텍스처의 크기와 모든 입력 텍스처의 크기가 순서대로 포함됩니다.
- 정의 파일의 텍스처 순서가 이 유니폼의 샘플러 순서를 결정합니다.
- 대부분의 후처리 체인에서는 이전과 같이
OutSize과InSize입니다. - 모든 크기는
vec2입니다.
post/bits.fsh: floatResolution과 floatMosaicSize의BitsConfig를 예상합니다.post/blit.fsh:vec4 ColorModulate의BlitConfig를 예상합니다.post/blur.vsh및post/box_blur.fsh:vec2 BlurDir과 floatRadius의BlurConfig를 예상합니다.post/color_convolve.fsh:vec3 RedMatrix,vec3 GreenMatrix,vec3 BlueMatrix의ColorConfig를 예상합니다.post/invert.fsh: floatInverseAmount의InvertConfig를 예상합니다.post/rotscale.vsh:vec2 InScale,vec2 InOffset, floatInRotation의RotScaleConfig를 예상합니다.post/spiderclip.fsh:vec4 Scissor와vec4 Vignette의SpiderConfig를 예상합니다.
주요 유니폼 블록
Globals유니폼 블록:#moj_import <minecraft:globals.glsl>을 통해 사용 가능합니다.- 대부분의 셰이더는 일반적으로 사용하지 않더라도 이 유니폼 블록을 받을 수 있습니다.
ScreenSize,GlintAlpha,GameTime,MenuBlurRadius를 포함합니다.MenuBlurRadius는 메뉴가 열렸을 때 배경의 흐림 반경입니다.
Fog유니폼 블록:#moj_import <minecraft:fog.glsl>을 통해 사용 가능합니다.- 대부분의 셰이더는 일반적으로 사용하지 않더라도 이 유니폼 블록을 받을 수 있습니다.
FogColor,FogRenderDistanceStart,FogRenderDistanceEnd,FogEnvironmentalStart,FogEnvironmentalEnd,FogSkyEnd,FogCloudsEnd를 포함합니다.FogRenderDistanceStart는 렌더링 거리 안개 시작을 나타냅니다.FogRenderDistanceEnd는 렌더링 거리 안개 끝을 나타냅니다.FogEnvironmentalStart는 환경 기반 안개의 시작을 나타내는 새로운 필드입니다.FogEnvironmentalEnd는 환경 기반 안개의 끝을 나타내는 새로운 필드입니다.FogSkyEnd는 하늘을 그릴 때 안개가 끝나야 하는 지점을 나타내는 새로운 필드입니다.FogCloudsEnd는 구름을 그릴 때 안개가 끝나야 하는 지점을 나타내는 새로운 필드입니다.
FOG_IS_SKY는 하늘 셰이더 분할을 위해 제거되었습니다.FogShape가 제거되었습니다. 렌더링 거리 안개는 이제 원통형이고 환경 안개는 구형입니다.
Projection유니폼 블록:#moj_import <minecraft:projection.glsl>을 통해 사용 가능합니다.- 대부분의 셰이더는 일반적으로 사용하지 않더라도 이 유니폼 블록을 받을 수 있습니다.
- 변경 사항 없이
ProjMat를 포함합니다.
DynamicTransforms유니폼 블록:#moj_import <minecraft:dynamictransforms.glsl>을 통해 사용 가능합니다.- 일반적으로 사용하지 않는 셰이더에는 더 이상 사용할 수 없습니다.
ModelViewMat,ColorModulator,ModelOffset,TextureMat,LineWidth를 포함합니다.
Lighting유니폼 블록:#moj_import <minecraft:light.glsl>을 통해 사용 가능합니다.- 대부분의 셰이더는 일반적으로 사용하지 않더라도 이 유니폼 블록을 받을 수 있습니다.
- 그러나 셰이더가 일반적으로 예상하지 않는 경우 값은 의미가 없을 수 있습니다.
Light0_Direction과Light1_Direction을 포함합니다.
CloudInfo유니폼 블록:- 구름 셰이더(
rendertype_clouds.vsh/rendertype_clouds.fsh)에서만 사용 가능합니다. CloudColor,CloudOffset,CellSize(신규)를 포함합니다.CellSize는 개별 구름 셀의 크기를 포함합니다.
- 구름 셰이더(
LightmapInfo유니폼 블록:- 라이트맵 셰이더(
lightmap.fsh)에서만 사용 가능합니다. - 동작 변경 없이
AmbientLightFactor,SkyFactor,BlockFactor,UseBrightLightmap,NightVisionFactor,DarknessScale,DarkenWorldFactor,BrightnessFactor,SkyLightColor를 포함합니다.
- 라이트맵 셰이더(
쉐이더는 저의 지식 부족으로 틀린 정보가 포함될 수 있습니다.
(본 글은 프리릴리스 및 정식 출시 정보를 종합한 것이며, 일부 내용은 요약되거나 생략되었을 수 있습니다. 최신 정보는 공식 자료를 참고하시기 바랍니다.)
'마인크래프트 강좌 > 업데이트 정리' 카테고리의 다른 글
| 마인크래프트 JE 1.21.11 기술적 업데이트 정리 (0) | 2025.12.18 |
|---|---|
| 마인크래프트 JE 1.21.9 기술적 업데이트 정리 (0) | 2025.10.04 |
| 마인크래프트 1.21.5 기술적 업데이트 정리 (0) | 2025.03.25 |
| 마인크래프트 자바에디션 1.21.5 - Text 구성요소 업데이트 정리 (0) | 2025.03.25 |
| 마인크래프트 1.21.4 기술적 업데이트 정리 (2) | 2024.12.06 |