마인크래프트 강좌/업데이트 정리

마인크래프트 자바에디션 1.18 [기술적인 부분]

Potan 2021. 12. 5. 14:31
반응형

마인크래프트 자바에디션 1.18 [기술적인 부분] 업데이트 정리

해당 게시글은 마인크래프트 위키 1.18를 바탕으로 작성되었으며
Craftdaily의 1.18 업데이트 내역을 참고하였습니다.

 

/jfr <start / stop>

  • 활성화되면 Java FlightRecorder로 밑의 이벤트를 측정하기 시작합니다.
    • minecraft.ServerTickTime : 초당 평균 서버 틱 시간을 노출하는 샘플링 이벤트
    • minecraft.ChunkGeneration : 개별 청크 스테이지를 생성하는 데 걸린 시간
    • minecraft.PacketRead / minecraft.PacketSent:Network traffic : 네트워크 트래픽
    • minecraft.WorldLoadFinishedEvent : 최초 세계 로딩 시간
  • jfr start로 활성화하고 jfr stop으로 비활성화합니다.
  • 외부에서 시작된 경우 네트워크 패킷에 대한 JFR 이벤트는 패킷당 하나의 이벤트로 집계됩니다.

시작 후 종료시 뜨는 메세지
종료 후 생기는 파일
json 파일을 열었을때 처음 부분
저도 잘 모르겠습니다

Java FlightRecorder는 실시간으로 정보를 지속적으로 수집, 저장하는 도구로 문제가 발생시 원인 분석 및 문제가 발생한 시기의 상태를 분석하는데 필요한 정보를 제공합니다. .jfr 파일의 경우 JMC 등의 별도의 프로그램이 필요합니다.

다만 제가 자바를 잘 모르는 관계로 파일을 뜯어봐도 잘 모르겠네요.

 

데이터팩

  • 데이터팩의 버전이 8로 올랐습니다.

 

리소스팩

  • 리소스팩의 버전이 8로 올랐습니다.
  • gui의 inventory.png 파일에 간소화버전 효과 아이콘이 포함되었습니다.
  • 서버 리소스팩의 최대 크기가 100MB에서 250MB로 증가하였습니다.

 

스코어보드

  • 스코어보드, 점수 보유자, 팀 이름의 길이 제한이 삭제되었습니다.

 

발전과제

두개의 새로운 트리거가 추가되었습니다.

  • fall_from_height
    • 플레이어가 땅에 떨어졌을 때 발동합니다.
  • ride_entity_in_lava
    • 플레이어가 용암에서 탑승 상태일 경우 매 틱마다 발동됩니다.

 

디버그 화면 (F3)

  • Multinoise, Biome builder, Terrain이 추가되었습니다.
    • 플레이어가 있는 차원이 멀티 노이즈 바이옴 소스 유형을 사용할 경우 나타납니다.
    • Multinoise는 바이옴을 배치하기 위해 플레이어의 위치에서 사용되는 매개변수를 표시합니다.
      • C : 대륙성 - 내륙으로 갈 수록 높아지며 낮은 지역에서는 바다가 생성될 수 있습니다.
      • E : 침식 - 지형이 얼마나 평평하거나 산악지형인지 결정합니다. (높을 수록 평평하고, 낮을 수록 산악 지역)
      • T : 온도, W : 습도 - 지형 생성에는 영향을 주지 않고 바이옴 배치만 결정합니다.
      • W : 이상함(Weirdness) - PV(피크, 계곡) 노이즈를 간접적으로 유도하고 어떤 바이옴 변형이 배치될지 결정합니다.

 

폰트

  • 마인크래프트 던전스에 쓰이는 폰트인 illageralt 폰트가 추가되었습니다.
    • 현재는 명령어로만 사용 가능합니다.

 

Loot tables

  • set_contents, set_loot_table
    • 필수 필드인 type 필드가 추가되었습니다.
      • BlockEntityTag.id를 사용하며 다른 버전간의 정확한 변환을 위해 사용합니다.
  • 아이템에 물병 태그를 설정하기 위한 새로운 함수 set_potion
    • id : Potion ID

 

NBT tags

  • 스포너의 SpawnData 필드와 SpawnPotentials 목록 중 data 필드에 custom_spawn_rules 태그가 추가되었습니다.
    • 이 태그는 몹의 스폰 조건을 무시합니다.
    • block_light_limit, sky_light_limit : 몹이 스폰될 수 있는 밝기를 설정합니다.
      • 예시
        • /data merge block -181 87 -217 {SpawnData:{custom_spawn_rules:{sky_light_limit:1}}}
        • /data merge block -181 87 -217 {SpawnData:{custom_spawn_rules:{block_light_limit:[1, 15]}}}
        • /data merge block -181 87 -217 {SpawnData:{custom_spawn_rules:{block_light_limit:{min_inclusive:1, max_inclusive:12}}}}
  • 기존 스포너의 SpawnData:{} 안 내용물이 SpawnData:{entity:{}} 의 내용물로 변경되었습니다.
    • 이제 SpawnPotentials의 data 필드와 같은 구성을 가집니다.
  • 기존 스포너의 SpawnPotentials 목록 포맷이 변경되었습니다.
    • 기존 : SpawnPotentials:[{Entity:{<엔티티 정보>}, Weight:1},{Entity:{id:"minecraft:pig"}, Weight:2}]
    • 변경 : SpawnPotentials:[{data:{entity:{<엔티티 정보>}}, weight:1},{data:{entity:{id:"minecraft:pig}, custom_spawn_rules:{block_light_limit:[1, 13]}}, weight:2}]

    • data : 기존의 내용물에서 weight 제외 나머지 내용물
    • Entity -> entity
    • Weight -> weight

 

입자 (/particle)

  • 기존의 light와 barrier를 대체하는 block_marker 입자가 추가되었습니다.
    • 기존의 light와 barrier 입자처럼 나타납니다.
    • block 입자와 마찬가지로 다음 칸에 띄울 블록을 요구합니다. (block_marker <블록>)
    • wheat[age=2] 처럼 블록 상태를 추가하는 것도 가능합니다.
    • 예시
      • /particle minecraft:block_marker crafting_table ~ ~5 ~ 1 1 1 0 10

 

청크 형식

  • 청크의 Level의 내부 항목 일부가 변경되었습니다.
    • Level.Sections[].BlockState & Level.Sections[].Palette -> Level.Sections[].block_states
    • Level.Biome -> Level.Sections[].biomes
    • 청크의 Level.CarvingMasks[]는 이제 byte[] 대신 long[] 을 사용합니다.
  • 청크의 Level이 제거되고 모든 하위 항목이 옮겨졌습니다.
    • Level.Entites -> entites
    • Level.TileEntites -> block_entites
    • Level.TileTicks & Level.TobeTicked -> block_ticks
    • Level.LiquidTicks & Level.LiquidsToBeTicked -> fluid_ticks
    • Level.Sections -> sections
    • Level.Structures -> structures
    • Level.Structures.Starts -> structures.starts
    • Level.Sections[].block_states -> sections[].block_states
    • Level.Sections[].biomes -> sections[].biomes
  • 청크의 y 최솟값을 나타내는 yPos가 추가되었습니다.
  • 0 이하일때 세계 생성을 지원하는 below_zero_retrogen이 추가되었습니다.
  • 기존의 청크와 새로운 세계 생성의 혼합을 지원하는 blending_data가 추가되었습니다.

 

데이터 생성기

--report 옵션이 이제 바이옴만 가져오는 것이 아닌 worldgen의 모든 참조를 생성합니다.

 

태그

  • lava_pool_replaceables 블록 태그가 lava_pool_stone_cannot_replace로 변경되었습니다.
  • animals_spawnable_on 블록 태그가 추가되었습니다.
    • 잔디 블록을 포함합니다.
    • 동물은 이 태그의 블록 위에서 스폰될 수 있습니다.
  • axolotls_spawnable_on 블록 태그가 추가되었습니다.
    • 점토 블록을 포함합니다.
    • 아홀로틀은 이 태그의 블록 위에서 스폰될 수 있습니다.
  • azalea_grows_on 블록 태그가 추가되었습니다.
    • #dirt, #sand, #terracotta 태그와 눈 블록, 가루 눈을 포함합니다.
  • azalea_root_replaceable 블록 태그가 추가되었습니다.
    • #lush_ground_replaceable, #terracotta 태그와 붉은 모래를 포함합니다. 
  • big_dripleaf_placeable 블록 태그가 추가되었습니다.
    • #dirt, #small_dripleaf_placeable 태그와 경작지를 포함합니다.
    • 큰 흘림잎은 이 태그의 블록 위에 설치할 수 있습니다.
  • dirt 아이템 태그가 추가되었습니다.
    • 흙, 잔디 블록, 회백토, 거친 흙, 균사체, 뿌리내린 흙, 이끼 블록을 포함합니다.
  • foxes_spawnable_on 블록 태그가 추가되었습니다.
    • 잔디 블록, 눈, 눈 블록, 회백토, 거친 흙을 포함합니다.
    • 여우는 이 태그의 블록 위에서 스폰할 수 있습니다.
  • goats_spawnable_on 블록 태그가 추가되었습니다.
    • 돌, 눈, 눈 블록, 가루 눈, 꽁꽁 언 얼음, 자갈을 포함합니다.
    • 염소는 이 태그의 블록 위에서 스폰할 수 있습니다.
  • mooshrooms_spawnable_on 블록 태그가 추가되었습니다.
    • 균사체를 포함합니다.
    • 버섯소는 이 태그의 블록 위에서 스폰할 수 있습니다.
  • parrots_spawnable_on 블록 태그가 추가되었습니다.
    • #leaves, #logs 태그와 잔디 블록, 공기를 포함합니다.
    • 앵무새는 이 태그의 블록 위에서 스폰할 수 있습니다.
  • polar_bears_spawnable_on_in_frozen_ocean 블록 태그가 추가되었습니다.
    • 얼음을 포함합니다.
    • 북극곰은 차가운 바다 바이옴에서 이 블록 위에 스폰할 수 있습니다.
  • rabbits_spawnable_on 블록 태그가 추가되었습니다.
    • 잔디 블록, 눈, 눈 블록, 모래를 포함합니다.
    • 토끼는 이 태그의 블록 위에서 스폰할 수 있습니다.
  • replaceable_plants 블록 태그가 추가되었습니다.
    • 잔디, 고사리, 마른 덤불, 덩굴, 발광 이끼, 해바라기, 라일락, 장미 덤불, 모란, 키 큰 잔디, 큰 고사리, 매달린 뿌리를 포함합니다.
  • terracotta 블록, 아이템 태그가 추가되었습니다.
    • 테라코타 계열 블록과 아이템을 포함합니다.
  • wolves_spawnable_on 블록 태그가 추가되었습니다.
    • 잔디 블록과 눈, 눈 블록을 포함합니다.
    • 늑대는 이 태그의 블록 위에서 스폰할 수 있습니다.

 

반응형