에쓰디드림의 블로그

에쓰디드림이 운영하는 티스토리 블로그!!

마인크래프트/마인크래프트 업데이트 내역

마인크래프트 1.19.4 스냅샷, 23w06a 출시!!

에쓰디드림 2023. 2. 9. 22:54
반응형
마인크래프트 1.19.4 스냅샷, 23w06a 출시!!

목차
1. 인사말
2. 변경 사항
3. 기술 변경 사항
4. 23w06a의 버그 수정
5. 마무리

1. 인사말

안녕하세요 에쓰디드림입니다. 한국시간 기준 2023년 2월 9일 새벽에 23w06a 스냅샷 버전이 출시되었습니다.

 

야생 관련보다는 명령어 같은 기술적인 패치들만 이루어졌습니다.

반응형

2. 변경 사항
  • 주크박스는 이제 베드락과 일치하도록 음반을 재생하는 동안 그 위에 음표 입자를 방출합니다.

접근성

  • 피격시 카메라 흔들림의 양을 제어하기 위해 접근성 설정에 데미지 흔들림이라는 새로운 옵션을 추가했습니다.
  • 키 지정 시 중복되는 키에 대한 경고를 위해 키 지정 메뉴에 툴팁을 추가했습니다.
  • "알림 표시 시간" 접근성 옵션이 "알림 시간"으로 이름이 변경됨

업데이트된 새 세계 만들기 화면

  • Ctrl+Tab 및 Ctrl+Shift+Tab을 눌러 키보드로 탭을 전환할 수 있습니다.
  • Ctrl+Tab 숫자를 눌러 특정 탭을 탐색할 수도 있습니다.
    • 예를 들어 Ctrl+2는 두 번째 탭으로 이동합니다.
  • 실험적 기능을 쉽게 활성화/비활성화할 수 있는 화면 추가
    • 화면은 항상 더보기 탭에서 찾을 수 있습니다.
    • 스냅샷에서 게임 탭 아래에 바로가기 버튼이 있습니다.

크리에이티브 메뉴

  • 크리에이티브 메뉴에 그림 변형 추가
  • 사전 정의된 변형이 있는 그림은 이제 마우스를 가져가면 설명에 저자와 제목이 표시됩니다.

3. 기술 변경 사항
  • 항목, 블록 및 글자의 유연한 표시를 위한 디스플레이 엔티티 추가
  • 엔티티에 데미지를 적용하기 위한 damage 명령어 추가
  • 프로세스 ID를 파일에 인쇄하기 위해 전용 서버 명령줄에 --pidFile 인수를 추가 했습니다.
  • 다음 게임 이벤트를 추가했습니다.
    • 진동 주파수가 6인 entity_dismount
    • 진동 주파수가 7인 entity_mount
  • 항목, 블록 및 글자를 표시하는 엔티티 그룹을 추가했습니다.
  • 새로 생성된 개체를 사용자 정의할 수 있도록 execute summon을 추가 했습니다.

디스플레이 엔티티

항목, 블록 및 글자를 유연하게 표시할 수 있도록 세 개의 새 엔티티가 추가되었습니다.

  • 이러한 엔티티는 marker와 유사하게 틱하지 않으며 충돌이나 물리적 현상이 없습니다.
  • 모델은 X축과 Y축을 중심으로 정상적인 회전으로 엔티티 위치에서 렌더링되지만(텔레포트 명령어로 제어할 수 있음) 임의의 추가 모델 변환도 가능합니다.

일반적인 데이터 유형

이러한 엔티티에 대한 태그 내용에는 복잡한 구조의 새로운 데이터 유형이 포함되어 있습니다. 데이터 수정에는 모든 양식을 사용할 수 있지만 저장에는 하나의 양식만 사용됩니다.

ROTATION

  • 쿼터니언 형식(저장에 사용): 구성 요소를 설명하는 4개의 숫자 배열(x, y, z, w)
  • 축 각도 형식: 다음 필드가 있는 개체:
    • axis - 3d 벡터
    • angle - 라디안

TRANSFORMATION

임의 아핀 변환

  • 행렬 형식: 행 주요 행렬을 설명하는 16개 숫자의 배열
  • 분해된 형태(저장에 사용됨): 다음 필드가 있는 개체:
    • translation - 3d 벡터
    • left_rotation , right_rotation - rotation
    • scale - 3d 벡터
    • 트랜스폼은 translation , left_rotation , scale , right_rotation 순으로 구성됩니다.

보간법

표시 항목의 일부 속성을 보간할 수 있습니다. 즉, 클라이언트는 순간적인 점프 대신 시간이 지남에 따라 점진적인 변화를 보게 됩니다.

디스플레이 엔티티는 보간된 값의 현재 및 이전 값을 추적합니다.

  • "보간됨"으로 표시된 모든 속성은 단일 보간 세트의 일부입니다.
  • 보간 속성을 업데이트하면 보간 설정의 모든 값이 "현재"로 저장됩니다.
    • 속성 값을 변경하지 않는 데이터 명령 실행(NBT에 있는 경우에도)은 업데이트로 계산되지 않습니다.
    • 업데이트는 틱당 최대 한 번 클라이언트에 동기화되므로 명령어 내의 여러 업데이트는 여전히 단일 업데이트로 계산됩니다.
  • 이전 현재 값은 "이전"으로 저장됩니다.
  • 보간이 활성화되면 엔티티는 시간이 지남에 따라 "이전" 값과 "현재" 값 사이를 전환합니다.
  • 보간 시작(완전히 "이전" 상태인 엔티티)은 interpolation_start 필드(게임 시간, 틱)에 의해 정의됩니다.
    • 대신 현재 게임 시간을 로드 하려면 -1로 설정하십시오.
  • 보간 종료(완전히 "현재" 상태인 엔티티)는 interpolation_start + interpolation_duration(틱 단위)으로 정의됩니다.

공통 속성

가족의 모든 엔티티에는 다음 필드가 있습니다.

  • transformation - 모델에 적용되는 transformation(일반 엔티티 방향 후). 기본값은 ID입니다. 보간
  • billboard - 렌더링 시 엔티티가 플레이어를 향하도록 피벗해야 하는지 여부를 제어하는 ​​옵션:
    • fixed - 회전 없음(기본값)
    • vertical - 엔티티가 수직 축을 중심으로 회전할 수 있습니다.
    • horizontal - 엔티티는 수평 축을 중심으로 회전할 수 있습니다.
    • center - 엔티티는 중심점을 중심으로 회전할 수 있습니다.
  • brightness - 있는 경우 렌더링에 사용되는 조명 값을 무시합니다. 기본적으로 생략됩니다(렌더링이 엔티티 위치의 값을 사용함을 의미함). 개체에는 두 개의 필드가 있습니다.
    • sky - 스카이 라이트 값, 0..15
    • block - 블록 라이트 값, 0..15
  • view_range - 이 엔티티의 최대 보기 범위입니다. 실제 거리는 클라이언트 측 렌더링 거리 및 엔티티 거리 스케일링에 따라 다릅니다. 기본값 1.0(화구와 거의 동일)
  • shadow_radius - 그림자의 크기. 기본값은 0(그림자 없음)입니다. 보간
  • shadow_strength - 그림자의 강도. 아래를 차단할 거리의 함수로 그림자의 불투명도를 제어합니다. 기본값은 1입니다. 보간됨
  • width , height - 컬링 경계 상자의 크기를 설명합니다. 경계 상자는 엔터티 위치에서 모든 방향으로 세로 y에서 y+height까지, 가로 width/2에 걸쳐 있습니다. 필드가 0으로 설정되면 컬링이 비활성화됩니다. 둘 다 기본값은 0
  • glow_color_override - 글로우 테두리 색상을 재정의합니다. 기본값은 0(팀 색상 사용)

ITEM_DISPLAY

단일 아이템 스택을 표시합니다.

  • 슬롯 inventory.0를 설정하여 명령어로 스택을 변경할 수 있습니다.

필드:

  • item - 표시할 아이템 스택입니다. 인벤토리와 동일한 형식(예: {id: "minecraft:dirt", Count: 1} )
  • item_display - 항목에 적용된 항목 모델 변환을 설명합니다( 모델 JSON의 display 섹션에 정의됨).
    • 값: none (기본값), thirdperson_lefthandthirdperson_righthandfirstperson_lefthandfirstperson_righthandheadguigroundfixed

BLOCK_DISPLAY

블록 상태를 표시합니다.

  • 일반적으로 블록 배치 시(예: 상자) 생성되는 경우에도 블록 개체를 표시하지 않습니다.

필드:

  • block_state - 표시할 블록 상태. 엔더맨이 들고 있는 아이템과 같은 형식(예 {Name:"minecraft:dirt"} )

TEXT_DISPLAY

문자 구성요소를 표시합니다.

필드:

  • text - 표시할 문자입니다. 구성 요소는 표시 엔티티의 컨텍스트로 확인됩니다.
  • line_width - 줄을 분할하는데 사용되는 줄 너비(참고: \n 문자로 새 줄을 추가할 수도 있음). 기본값은 200
  • text_opacity - 렌더링된 문자의 불투명도(알파 구성 요소)입니다. 기본값은 255입니다. 보간
  • background - 배경색. 알파 채널을 포함합니다. 기본값은 0x40000000입니다. 보간
  • default_background - true인 경우 렌더링은 기본 문자 배경색을 사용합니다(채팅에서와 동일). 기본값은 false
  • shadow - 문자가 그림자와 함께 표시되어야 합니다. 기본값은 false
  • see_through - 블록을 통해 문자를 볼 수 있어야 합니다. 기본값은 false
  • alignment - 문자를 정렬하는 방법
    • 값: center (기본값), left, right

참고: 텍스트 디스플레이 배경은 새로운 셰이더 유형인 rendertype_text_background 및 rendertype_text_background_see_through를 사용합니다.

데미지 유형

데미지 유형은 데이터팩을 통해 확장할 수 있는 새로운 레지스트리입니다. 데미지 유형은 게임에서 데미지를 처리하는 방법을 결정합니다. 여기에는 데미지가 가진 속성과 해당 유형의 데미지로 인해 엔티티가 사망할 때 사용되는 사망 메시지가 포함됩니다.

예:

{
  "exhaustion": 0.1,
  "message_id": "arrow",
  "scaling": "when_caused_by_living_non_player"
}

필드:

  • message_id : 이 데미지 유형으로 인한 사망에 사용되는 메시지 ID
    • 다른 문자열 조각과 결합하여 번역키를 형성합니다.
  • exhaustion : 이 데미지 유형으로 인한 인한 허기 고갈의 양
  • scaling : 이 데미지 유형이 난이도에 따라 변화하는지 여부입니다. 가능한 값:
    • never : 데미지는 항상 동일합니다.
    • always : 데미지는 항상 난이도에 따라 증가합니다.
    • when_caused_by_living_non_player : 플레이어가 아닌 엔티티에 의해 발생한 데미지가 난이도에 따라 증가합니다.
  • effects : 플레이어에게 가해질 때 데미지가 어떻게 나타나는지를 제어하는 ​​선택적 필드입니다. 가능한 값:
    • hurt (기본값): 기본 피격 소리
    • thorns : 가시에 찔리는 소리
    • drowning : 익사하는 소리
    • burning : 한 틱 당 타는 소리
    • poking : 달콤한 열매 덤불에 찔리는 소리
    • freezing : 한 틱 당 얼어붙는 소리
  • death_message_type : 특수 사망 메시지 변형이 사용되는지 여부를 제어하는 ​​선택적 필드입니다. 가능한 값:
    • default (디폴트): 특별한 사망 메시지 로직이 적용되지 않습니다.
    • fall_variants : 일반 사망 메시지 대신 낙사의 변형을 표시합니다(예: death.fell.assist.item).
    • intental_game_design : 일반적인 사망 메시지 대신 의도적인 게임 디자인 메시지를 표시합니다.

데미지 유형 태그는 다양한 출처의 데미지를 해석하는 방법의 여러 측면을 제어합니다.

명령어

DAMAGE

엔티티에 데미지를 적용하는 새로운 명령어입니다.

통사론:

  • damage <target> <amount> [<damageType>] [at <location>]
  • damage <target> <amount> [<damageType>] [by <entity>] [from <cause>]

매개변수:

  • target : 피격개체
  • amount : 입힐 피해량
  • damageType : 가할 피해 유형
    • 피해가 엔티티에 미치는 영향과 표시되는 사망 메시지를 결정합니다.
  • entity : 가격개체
  • cause : 피해의 원인, 간접 피해인 경우
    • 예: 화살에 맞았을 때 entity는 화살이고 cause는 스켈레톤일 수 있습니다.
  • location : 손상이 발생한 위치(엔티티가 손상을 일으키지 않은 경우)
    • 예를 들어 location은 네더에서 침대가 폭발하는 위치를 나타낼 수 있습니다.

EXECUTE SUMMON

새 엔티티를 소환하고 여기에 컨텍스트( @s )를 바인딩하기 위한 새로운 execute 하위 명령어. 엔티티 설정을 단순화하고 원시 NBT 편집의 필요성을 줄이기 위한 것입니다.

  • execute summon <entity id>

술어

데미지 유형 술어

is_projectileis_explosionbypasses_armorbypasses_invulnerabilitybypasses_magicis_fireis_magicis_lightning 필드는 데미지 유형 조건자에서 제거되었습니다 .

tags 배열이 추가되었습니다. 각 항목에는 두 개의 필드가 있습니다.

  • id : 데미지 유형 태그의 ID
  • expected : 데미지가 술어와 일치하는 태그를 가질 것으로 예상되는지 여부

게임 규칙

  • doVinesSpread 게임 규칙을 추가 하여 덩굴이 근처 블록으로 퍼질지 여부를 결정합니다.
    • 기본값은 true


4. 23w06a의 버그 수정
  • MC-12729 - 엔티티가 착용한 레깅스와 부츠에서 Z-파이팅을 볼 수 있음.
  • MC-145765 - "문자 배경" 설정 문자열이 모두 버튼을 넘침.
  • MC-156443 - 일부 언어에서 문자가 너무 길어 문자가 버튼을 넘침
  • MC-198874 - 호퍼가 실린 광산 수레를 열면 피글린이 분노함
  • MC-209622 - 스컬크 감지체가 아이템 액자/발광 아이템 액자와의 상호작용을 감지하지 못함.
  • MC-209896 - 리스폰 정박기에 발광석을 채울 때 스컬크 감지체가 활성화되지 않음.
  • MC-209929 - 퇴비통을 채울 때 스컬크 감지체가 활성화되지 않음.
  • MC-210276 - 경작지를 짓밟을 때 스컬크 감지체가 활성화되지 않음.
  • MC-210294 - 생물학적이지 않은 개체를 타거나 내릴 때 스컬크 감지체가 활성화되지 않음.
  • MC-210334 - 양이 염색될 때 스컬크 감지체가 활성화되지 않음.
  • MC-210707 - 상자가 실린 보트, 상자가 실린 대나무 뗏목 또는 상자가 실린 광산 수레를 닫을 때 스컬크 감지체가 활성화되지 않음.
  • MC-210715 - 엔티티에 끈을 부착하거나 제거할 때 스컬크 감지체가 활성화되지 않음.
  • MC-212501 - 독서대에서 책을 수집할 때 스컬크 감지체가 활성화되지 않음.
  • MC-213803 - 동굴 덩굴에서 발광 열매를 수확할 때 스컬크 감지체가 활성화되지 않음.
  • MC-215767 - 스컬크 감지체가 알을 낳는 거북이를 감지하지 못함.
  • MC-233972 - 기능에 키를 할당하거나 동일한 키에 여러 기능을 할당할 때 키 지정 메뉴의 버튼 외부에 텍스트가 나타날 수 있음.
  • MC-236988 - 동굴/휘어진/늘어진 덩굴 또는 켈프에 가위를 사용할 때 스컬크 감지체가 활성화되지 않음.
  • MC-237450 - "시뮬레이션 거리" 텍스트가 슬라이더 외부에 나타날 수 있음.
  • MC-237879 - 주민이 퇴비통으로 일할 때 스컬크 감지체가 활성화되지 않음.
  • MC-249878 - 음악 및 소리 옵션 메뉴 내에서 "장치" 버튼 외부에 텍스트가 나타날 수 있음.
  • MC-251917 - 방패를 보조손 슬롯에 넣으면 장비 장착 소리나 자막이 없음.
  • MC-251934 - 개구리가 알을 낳을 때 스컬크 감지체가 활성화되지 않음.
  • MC-252434 - 끈을 잡고 있는 동안 울타리와 상호 작용할 때 스컬크 감지체가 활성화됨.
  • MC-257873 - 갑옷을 같은 재질의 갑옷으로 교체할 때 장착 소리가 재생되지 않음.
  • MC-258156 - 워든이 어려움 난이도에서 플레이어와 엔티티에 같은 양의 피해를 입히지 않음.
  • MC-258622 - 크리에이티브 인벤토리의 재료 탭에 화염구가 없음.
  • MC-259193 - "알림 표시 시간" 텍스트가 슬라이더 외부에 나타날 수 있음.
  • MC-259195 - 다른 차원의 엔티티에서 /ride를 사용하면 클라이언트/서버가 동기화 되지 않음.
  • MC-259197 - 데미지 흔들림 효과에 쉽게 접근할 수 없음.
  • MC-259221 - 유효하지 않은 엔티티에 "/ride" 명령을 사용하면 플레이어가 해당 위치로 텔레포트됨.
  • MC-259224 - 방패로 공격을 막으면 흔들림이 발생하고 빨간색 피해 색조가 표시됨.
  • MC-259227 - 단독으로 로드된 경우 /execute가 항상 실패함.
  • MC-259233 - 낮은 값에 대한 인수 오류 메시지의 철자가 일관되지 않음.
  • MC-259245 - 플레이어가 /ride로 탄 엔더맨의 눈을 보면 해당 엔더맨이 계속 순간이동함.
  • MC-259247 - 소유자에 대한 execute 하위 명령어가 말, 당나귀, 라마 또는 노새의 소유자를 선택하지 않음.
  • MC-259360 - "selectWorld.mapFeatures.info" 문자열에서 "Shipwrecks"라는 단어 뒤의 쉼표가 누락됨.
  • MC-259432 - 'chestplate_trim' 아이템 텍스처에서 누락된 단일 픽셀
  • MC-259442 - 클릭 항목을 두 번째 모루 슬롯으로 이동할 수 없음.
  • MC-259454 - 호글린 마구간 상자의 루트 테이블이 교각 상자의 루트 테이블을 대신 사용함.
  • MC-259468 - 대장장이 작업대 슬롯에 empty_slot_amethyst_shard가 표시되지 않음.
  • MC-259599 - 단축바에서 마우스 오른쪽 버튼을 클릭하여 갑옷을 교체하면 귀속 저주 갑옷을 제거할 수 있음.
  • MC-259635 - "iron" 및 "iron_darker" 장식의 색상 팔레트가 뒤집힘.
  • MC-259640 - "iron" 및 "iron_darker" 색상 팔레트의 가장 밝은 세 가지 색상이 동일함.

5. 마무리

오늘 이렇게 23w06a 스냅샷 버전 살펴보고 그것을 리뷰해보는 시간을 가져봤습니다.

 

일단 damege라는 아주 재미있는 명령어가 생겼습니다.

 

심심할때 이 명령어로 놀면 재미있을 것 같네요.

 

또, 디스플레이 엔티티는 야생만 파는 제 입장에서는 그렇게까지 엄청난 패치는 아닌데 맵 제작자 분들 입장에서는 정말 혁명적인 패치라고 생각합니다.

 

저는 명령어에 대해서는 완전 뉴비이기 때문에 저걸로 기행을 하기는 어렵겠지만, 명령어 고수분들이 어떤 기행을 펼칠지 기대가 되는 부분이 있습니다.

 

덩굴이 퍼져나가게 할 지의 여부를 정하는 게임규칙도 맵 제작자 분들 입장에서는 좋은 패치일 거라고 생각합니다.

 

일단 야생 유저들을 위한 패치가 없는 점은 아쉽습니다. 메이저 업데이트가 아니기에 그건 어쩔 수 없는 부분일 수도 있죠.

 

그럼 전 에쓰디드림이었고 다음 시간에 찾아뵙도록 하겠습니다.


 

반응형