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

마인크래프트 1.14 [명령어] - 변경된점

Potan 2019. 5. 6. 16:41
반응형

마인크래프트 1.14 변경된 명령어

총정리


이 글은 마인크래프트 위키 1.14 항목과 작성자의 실험을 바탕으로 작성되었습니다.

정식 1.14를 기준으로 작성되었습니다.


빠진점 댓글로 작성해주세요!


발전과제

  • 엔티티 타입 속성[각주:1]은 이제 #baz 태그도 가능합니다.

  • 데미지 소스 속성에 is_lightning 옵션이 생깁니다.

  • 엔티티 속성은 이제 flag 필드도 가능합니다.

    • 가능 기준 : is_on_fire, is_sneaking, if_sprinting, is_swimming, is_baby.

  • 엔티티 속성은 이제 equipment 필드도 가능합니다.
    • 속성에는 6개의 필드가 포함됩니다. (head, chest, legs, feet, mainhand, offhand)
    • 만약 장비를 착용하지 못하는 엔티티에게 할경우 실패하게 됩니다. (즉, 몹이나 플레이어, 아머스탠드가 아닐경우)
발전과제의 경우 제가 잘 알지못해 설명을 못하겠습니다. 죄송합니다.



NBT 데이터

  • NBT 경로 구문이 확장되었습니다.

  • NBT의 값을 출력하기 위한 새로운 채팅 구성요소가 추가되었습니다.

    • 블럭일 경우 : {"nbt":<경로>,"block":<x> <y> <z>}

      • 예시 : /tellraw @a {"nbt":"Items[0]","block":"-89 4 162"}

        • 출력 : [Slot:13b,id:"minecraft:stone",Count:1b} (채팅창에)

        • 좌표 -89 4 162에 있는 블록의 첫번째 아이템을 채팅창에 출력합니다.

        • /data get block -89 4 162 Items[0] 와 유사합니다.

    • 엔티티일 경우 : {"nbt":<경로>,"entity":<선택자>}
      • 예시 : /tellraw @a {"nbt":"Health","entity":"@p"}
        • 출력 : 20.0f (채팅창에)
        • 가장 가까운 플레이어의 체력을 채팅창에 출력합니다.
        • /data get entity @p Health 와 유사합니다.
    • 선택한 태그의 내용이 존재하고 참이면 내용이 채팅 구성 요소로 해석됩니다.
    • 아이템의 설명(Lore) 태그는 이제 채팅 구성 요소 구문을 사용합니다.
      • 예시 : /give Potan7 minecraft:stick{display:{Lore:["{\"text\":\"평범한 막대기이다.\",\"color\":\"white\"}","{\"text\":\"별다른건 없다.\"}"]}}
    • /time set, /time add, /schedule function 등의 시간을 입력하는 명령어의 시간에 단위를 사용할수 있게되었습니다.
      • t : tick(0.05초), s : 초, d : 날
      • 소수는 결과가 정수일경우 허용됩니다. (예 : 0.5d)



상태
  • entity_properties
    • 이제 발전과제와 똑같은 속성 구문을 사용합니다. (예 : player_killed_entity).
    • 파라미터[각주:2]에는 이제 predicate 필드가 표시됩니다. 
      • 만약 이 필드가 빈 객체여도 모든 엔티티가 허용됩니다. (하지만 존재해야합니다.)
이부분의 경우 제가 잘 알지못해 설명을 못하겠습니다. 죄송합니다




크리에이티브 메뉴
  • 크리에이티브 아이템 검색에서 이제 태그 검색이 가능합니다. (#으로 시작하면됩니다.)
  • 크리에이티브 아이템 검색창속 툴팁에 아이템 태그가 나열됩니다.



전리품 목록(Loot tables)[각주:3]
  • 블럭을 부수면 나오는 아이템도 이제 Loot tables로 제어합니다.
  • table과 pool[각주:4]은 이제 함수를 사용할수있습니다.
  • 새로운 Loot table 입력(항목) 타입 : dynamic, tag, alternatives, sequence, group
  • 새로운 Loot table 함수 : apply_bonus, explosion_decay, copy_name, limit_count, set_contents, set_loot_table.
  • 새로운 Loot table 상태 : entity_present, survives_explosion, block_state_property, table_bonus, match_tool, tool_enchantment
    • 특수한 수식어 : inverted, alternative
  • 정수값은 이제 무작위 숫자 생성기를 명시할 수 있습니다.
    • 상수, 균일(기본값), 이항
  • 함수 사용을 검증하는데 사용되는 선택적 타입
    • empty, chest, fishing, entity, advancement_reward, block
    • 해당되는것에서 사용할수 없는 데이터를 참조하는 함수를 사용하면 경고가 발생합니다.
  • 속성속 엔티티 파라미터 direct_killer : 발사체 등에 접근할수 있게 되었습니다.
    • 속성속 엔티티 파라미터 direct_killer_entitydirect_killer로 이름이 변경되었습니다.
  • 새로운 상태
    • alternative : 파라미터 용어의 조건을 "또는"으로의 형식으로 결합합니다.
    • block_state_property : 블럭 상태와 파라미터의 속성을 확인합니다.
      • block : 블럭의 id, 깨진 블록이 맞지 않으면 테스트는 실패합니다[각주:5].(?)
      • properties : 속성의 맵[각주:6](?) : 한쌍의 값
    • damage_source_properties : 데미지 소스를 확인합니다.
      • entity_properties와 같은 구문이지만 데미지 소스 조건자를 사용합니다. (player_hurt_entity 발전과제 트리거 참고)
    • inverted : 파라미터 용어의 조건을 반전 시킵니다.
    • location_check : 발전과제 위치 속성, 파라미터를 적용시킵니다:
      • predicate : 위치에 적용되는 속성으로 발전과제와 같은 구조를 사용합니다.
    • match_tool : 확인 도구(블럭 캐기와 낚시에만 적용됩니다.) 파라미터는 다음과 같습니다.
      • predicate : 아이템에 적용된 속성으로 발전과제와 같은 구조를 사용합니다.
    • survives_explosion : 1/폭발의 반지름 확률로 참을 반환합니다.
    • table_bonus : 테이블에서 선택되는 확률로 전달됩니다. 인첸트 레벨에 따라 조정됩니다. 파라미터는 다음과같습니다.
      • enchantment : 인첸트 id
      • chances : 인첸트에 따른 확률 목록, 0인상태에서 조정됩니다.
    • weather_check : 날씨 확인
      • raining : 참 또는 거짓
      • thundering : 참 또는 거짓
  • 새로운 입력(항목)
    • alternatives : 하위 항목의 조건을 테스트하고 실행가능한 첫번째것을 실행합니다. 무게나 품질은 없지만 조건이 있을수도 있습니다.
    • dynamic 
      • 특정 블럭의 전리품을 가져옵니다.
        • minecraft:contents : 블럭 엔티티 내용물
        • minecraft:self : 배너와 플레이어 머리용
    • group : 자신의 조건이 성립되면 하위 항목들을 실행합니다. 무게나 품질이 없습니다.
    • sequence : 하위항목중 하나가 조건으로 인해 실행이 안될때까지 하위 항목들을 실행시킵니다. 무게나 품질은 없지만 조건이 있을수도있습니다.
    • tag : 아이템에 태그를 추가합니다.
      • name : 태그 id
      • expand : 거짓일 경우 태그의 모든 내용을 반환합니다. 그렇지 않으면 해당 항목이 여러 아이템 항목(모두 동일한 무게와 품질)으로 작동합니다.
  • 새로운 함수
    • apply_bonus : 미리 지정해놓은 보너스 공식중 하나를 적용합니다.
      • 공통 필드:
        • enchantment : 계산에 사용하는 인첸트 레벨 id
        • formula : 보너스 공식에 쓰일 타입
        • parameters : 공식에 필요한 값 (타입에 따라 다름)
      • 공식은 기존의 행운 보너스를 기반으로 합니다.
      • 공식 binomial_with_bonus_count의 파라미터는 다음과 같습니다.
        • probability : float
        • extraRounds : int
        • n <- 레벨 + extraRounds, p <- probabilty를 통한 이항 분포를 사용하여 무작위 값을 더합니다.[각주:7]
      • 공식 uniform_bouns_count의 파라미터는 다음과 같습니다.
        • bounsMultplier
        • 0부터 bounsMultplier * 레벨 까지의 범위중 균일한 확률로 1개의 수를 뽑아 더합니다.[각주:8]
      • 공식 ore_drops은 파라미터가 없습니다.
        • 공식 count *(max(0, random(0..1) - 1) + 1)을 적용합니다.[각주:9]
    • copy_name
      • 블럭 엔티티의 보여지는 이름을 아이템 에게 복사합니다. (인첸팅 테이블 작동방식 참조)[각주:10]
    • copy_nbt
      • 원본에서 아이템 태그로 NBT를 복사합니다.
      • 파라미터 : 
        • source : this, killer, killer_player, block_entity.
        • ops
          • 복사 작업 목록
            • source : 원본 경로 (/data와 같습니다.)
            • target : 대상 경로
            • op : replace, append(목록용), merge(복합태그용)
    • explosion_decay
      • 파괴될 모든 아이템에게 확률(1/폭발 반지름과 동일)을 적용합니다. (아이템 스택은 별도로 처리됩니다.)[각주:11]
    • limit_count : 파라미터는 다음과 같습니다.
      • limit
        • min : 선택사항
        • max : 선택사항
      • 모든 아이템 스택 수를 범위로 제한시킵니다.
    • set_contents : 파라미터 :
      • 항목 목록 (pool과 똑같습니다.)[각주:12]
      • BlockEntityTag.Items를 항목속 아이템으로 채웁니다.[각주:13]
    • set_loot_table : 파라미터는 다음과 같습니다.
      • name : Loot table의 id
      • seed : 시드, 생략되거나 0이면 LootTableSeed는 설정되지 않습니다.
      • BlockEntityTag.LootTable, BlockEntityTag.LootTableSeed 태그를 설정합니다.
    • set_name
      • 새로운 파라미터 entity가 추가되었습니다(entity_present와 동일한 조건을 가집니다).
        존재할경우 설정된 엔티티로 이름이 결정됩니다.(선택자와 점수 구성요소를 사용할 수 있게됨)
    • fill_player_head
      • 플레이어의 프로필을 플레이어 머리에 복사합니다.
      • 파라미터 : 
        • entity - 프로필 소스 (entity_present 조건과 같으며, 플레이어가 아니면 아무것도 하지 않습니다.
    • set_lore
      • 설명 라인을 추가하거나 대체합니다.
      • 파라미터 : 
        • lore - 추가 될 라인 목록 (채팅 구성 요소 형식)
        • replace - 참이면, 이전 설명은 지워집니다.
        • entity - 존재하면, 이름은 선택된 엔티티로 결정됩니다.(entity_present 조건과 같습니다.)
Loot Table의 경우 제가 잘 알지못해 설명을 못하겠습니다. 죄송합니다



JSON 텍스트 구성 요소
  • 블럭 변형 : {"nbt":경로,"block":위치}, 위치는 /setblock과 같은 형식입니다.
  • 엔티티 변형 : {"nbt":경로,"entity":선택자}, 선택자는 /kill과 같은 형식입니다.
  • 또한, interpret이 존재하고 이면, 선택된 태그의 내용이 채팅 구성 요소로 해석됩니다.
  • 선택자 구성 요소와 동일하게 작동합니다
    • 만약 요소가 없다면 빈 문자열을 반환합니다.
    • 만약 요소가 여러개있다면  , 를 사용해 합칠 수 있습니다.



NBT 경로
  • 이제 여러가지 값을 반환할수 있습니다.
    • 대상으로 사용하면, 모든 요소에 수정이 적용됩니다.
  • 위치를 설정했는데 거기 아무 요소도 없으면, 거기에 맞는 새로운 요소가 생성됩니다.
  • 일치하는 필드가 있는 목록의 개체를 일치 시키려면 [{k1 : v1, k2 : v2}]를 추가하십시오.[각주:14]
  • {k1 : v1, k2 : v2}를 추가하여 개체를 일치시킵니다.[각주:15]
    • 0 또는 1 요소를 선택합니다, 주로 일치하지 않는 입력에 대한 보호수단으로 사용됩니다.[각주:16]
  • 부정 인덱스를 [index]로 허용하여 요소가 끝에서 반대 방향으로 인덱스를 생성합니다.[각주:17]
  • 목록에서 모든 요소를 선택할려면 []를 추가하십시오



주민 NBT
  • 다음 NBT 정보가 제거되었습니다.
    • Profession : 주민에게 사용된 텍스쳐의 ID
    • Career : 주민의 직업 ID
    • CareerLevel : 주민의 거래 레벨

  • 다음 NBT 정보가 추가되었습니다.
    • VillagerData : 주민의 직업에 대한 정보
      • level : 주민의 현재 거래 레벨과 뱃지 갯수를 나타냅니다.(1 ~ 5)
      • profession : Namespaced ID 값
      • type : Namespaced ID 값 


월드 생성 레지스트리
  • 대부분의 바이옴 관련 기능은 이제 레지스트리를 가지며 해당 구성은 번호순으로 나열됩니다.
  • 기능 레지스트리를 추가했습니다.
  • 데코레이터(decorators)용 레지스트리를 추가했습니다.
  • 조각가(cavers)용 레지스트리를 추가했습니다.
  • 표면 건축업자(surface builder)를 위한 레지스트리를 추가했습니다.



좀비 주민 NBT
  • 다음 NBT 정보가 삭제되었습니다.
    • Profession : 좀비 주민에게 사용된 텍스쳐 ID

  • 다음 NBT 정보가 추가되었습니다.
    • VillagerData : 주민의 직업에 대한 정보
    • Offers : 전환된 주민을 복사함.[각주:18]


그외

  • /execute <if 또는 unless> data <block 또는 entity> <경로>

    • 커맨드로서 사용될때는 일치하는 요소의 수를 반환합니다.

    • 커맨드의 일부로 사용될때는 0이 아닌값(if)이나 0(unless)로 계속됩니다.[각주:19]

  • 아이템 액자의 내용은 이제 /replaceitem으로 수정할수있습니다.
  • /data modify <block 또는 entity> <좌표 또는 대상> <경로> <작업> <소스>
    • 선택한 경로에 <작업>을 적용합니다.
    • <작업> - 후에 조사해서 넣겠습니다.
      • append insert <index> merge prepend set
      • 자세한 정보는 여기를 참고해주세요.
    • <소스>
      • from <블럭 또는 엔티티> <경로>
        • 대상 태그를 복제합니다.
      • value  <NBT>
        • <NBT> 를 입력합니다.
  • 엔티티 타입 태그가 추가되었습니다.
    • 다른 태그처럼 작동하고 tags\entity_types\에 저장됩니다.
    • @선택자의 type은 이제 엔티티 타입 태그를 사용할수 있습니다. (예 : @e[type=#minecraft:skeletons])
  • /locate
    • 이제 약탈자 전초기지도 찾을 수 있습니다.
  • 아이템 NBT를 기반으로 아이템 모델을 변경합니다.
    • 새 아이템 모델 속성 : custom_model_data, 정수 NBT 필드인 CustomModelData에 의해 결정됩니다.
  • /forceload query[각주:20]는 이제 커맨드블럭과 함수에 의해 실행될수있습니다.
  • 'text'같이 작은 따옴표로 된 문자열을 큰 따옴표 "text"외에 명령에 쓸 수있습니다.[각주:21]
    • 작은 따옴표로 묶은 문자열의 경우 큰 따옴표는 일반 문자로 처리되므로 이스케이프가 필요없고 그 반대의 경우도 가능해 NBT에서 텍스트 구성요소를 더 쉽게 입력할 수 있습니다.
    • 예시 : /data merge block -71 4 187 {Items:[{Slot:0,id:"minecraft:redstone",Count:2}]} 대신
      /data merge block -71 4 187 {Items:[{Slot:0,id:'minecraft:redstone',Count:2}]}라고 써도 똑같이 작동합니다.




  1. 원문 : predicates [본문으로]
  2. 사용자가 원하는 방식으로 자료가 처리되도록 하기 위하여 명령어를 입력할 때 추가하거나 변경하는 수치 정보. - 국어사전 [본문으로]
  3. 전리품 목록은 제가 임의로 번역한것으로 지난 게시글에서 다 이렇게 쓰여서 바꾸기가 애매하네요. [본문으로]
  4. Loot table 내부에 쓰이는 태그입니다. [본문으로]
  5. 원문 : test will fail if broken block doesn't match [본문으로]
  6. 원문 : map of property [본문으로]
  7. 원문 : Adds random value using binomial distribution with n <- level + extraRounds and p <- probabilt [본문으로]
  8. 원문 : Adds random value using uniform distribution from 0 to bonusMultiplier *level. [본문으로]
  9. 원문 : Applies formula count *(max(0, random(0..1) - 1) + 1). [본문으로]
  10. 원문 : Copies display name from block entity to item (see enchanting table behavior). [본문으로]
  11. 원문 : Applies flat chance (equal to 1/explosion radius) for every item to be destroyed (items in stack are processed separately). [본문으로]
  12. entries list of entries (same as in pool). [본문으로]
  13. 원문 : Populates BlockEntityTag.Items with items from entries [본문으로]
  14. 원문 : Add [{k1:v1,k2:v2}] to match objects in list that have matching fields. [본문으로]
  15. 원문 : Add {k1:v1,k2:v2} to match objects. [본문으로]
  16. 원문 : Selects 0 or 1 element, mostly as safeguard against mismatched entries. [본문으로]
  17. 원문 : Allows negative indices as [index] to index elements in reverse from end. [본문으로]
  18. 원문 : Copied from converted villager.‌ [본문으로]
  19. 원문 :Continues on non-zero(if) or zero(unless) count when used as part of command. [본문으로]
  20. 1.13.1에 추가된 명령어입니다. 자세한 정보는 https://potangaming.tistory.com/265에서 확인해주세요. [본문으로]
  21. 원문 : 'text' can once again be used for string quotes in commands in addition to the double quote "text" [본문으로]
반응형