반응형
아이템 구성요소와 엔티티 구성요소
- 엔티티 변형별로 정보를 설정하는 구성요소가 추가되었습니다.
- 구성요소가 스폰 아이템에 존재할 경우, 해당 아이템으로 소환된 엔티티에 즉시 적용됩니다.
- 스폰 아이템에는 다음 항목이 포함됩니다:
- 생성 알
- 몹 양동이(연어가 담긴 양동이, ...)
- 화살
- 잔류형 포션
- 갑옷 거치대
- 그림
- 아이템 액자
- 광산 수레
- 보트
추가된 엔티티 변형별 구성요소
- villager/variant: desert, jungle, plains, savanna, snow, swamp, taiga
- wolf/variant: wolf_variant 레지스트리의 네임스페이스 ID
- wolf/sound_variant: wolf_sound_variant 레지스트리의 네임스페이스 ID
- wolf/collar: 16가지 염료 색상 중 하나
- fox/variant: red, snow
- salmon/size: small, medium, large
- parrot/variant: red_blue, blue, green, yellow_blue, gray
- tropical_fish/pattern: kob, sunstreak, snooper, dasher, brinely, spotty, flopper, stripey, glitter, blockfish, betty, clayfish
- tropical_fish/base_color: 16가지 염료 색상 중 하나
- tropical_fish/pattern_color: 16가지 염료 색상 중 하나
- mooshroom/variant: red, brown
- rabbit/variant: brown, white, black, white_splotched, gold, salt, evil
- pig/variant: pig_variant 레지스트리의 네임스페이스 ID
- frog/variant: frog_variant 레지스트리의 네임스페이스 ID
- horse/variant: white, creamy, chestnut, brown, black, gray, dark_brown
- painting/variant: painting_variant 레지스트리의 네임스페이스 ID
- llama/variant: creamy, white, brown, gray
- axolotl/variant: lucy, wild, gold, cyan, blue
- cat/variant: cat_variant 레지스트리의 네임스페이스 ID
- cat/collar: 16가지 염료 색상 중 하나
- sheep/color: 16가지 염료 색상 중 하나
- shulker/color: 16가지 염료 색상 중 하나
아이템 구성요소의 경우 위의 풀네임이 구성요소 이름이 되고

엔티티의 경우

해당하는 엔티티에 특징들이 NBT 데이터로 들어갑니다.
몹 양동이 및 그림(Painting) 아이템 변화
- 크리에이티브 모드의 몹 양동이 및 그림 아이템은 더 이상 minecraft:entity_data 컴포넌트를 사용하지 않고, 새로운 변형 구성요소를 사용합니다.
- 열대어 양동이와 그림 아이템의 툴팁은 minecraft:bucket_entity_data 및 minecraft:entity_data 대신 새로운 구성요소를 기반으로 생성됩니다.
몹 변형 레지스트리
- 모든 레지스트리는 변경시 실험적 월드가 됩니다.
돼지 변형 레지스트리
- 위치: data/<namespace>/pig_variant/<id>.json
- 형식:
- model: 모델 형태 (normal, cold 중 1)
- asset_id: 모델에 사용할 텍스쳐의 네임스페이스 ID입니다. (경로 : assets/(네임스페이스)/textures/(ID).png)
- spawn_conditions: 해당 몹이 스폰될 조건을 설정합니다. (밑의 스폰 조건 확인)
예시
{
"model": "normal",
"asset_id": "potan:entity/ppig",
"spawn_conditions": []
}
네임스페이스가 potan이고 이름이 ppig.json 일 때 생성알 얻기
/give @s minecraft:pig_spawn_egg[minecraft:pig/variant="potan:ppig"]
리소스팩에 네임스페이스가 potan이고 textures/entity/ppig.png가 존재해야합니다.

소 변형 레지스트리
- 위치: data/<namespace>/cow_variant/<id>.json
- 형식:
- model: 모델 형태 (normal, cold, warm 중 1)
- asset_id: 모델에 사용할 텍스쳐의 네임스페이스 ID입니다. (경로 : assets/(네임스페이스)/textures/(ID).png)
- spawn_conditions: 해당 몹이 스폰될 조건을 설정합니다. (밑의 스폰 조건 확인)
예시
{
"model": "warm",
"asset_id": "potan:entity/pcow",
"spawn_conditions": []
}
늑대 변형 레지스트리
- 위치: data/<namespace>/wolf_variant/<id>.json
- 기존의 angry_texture, tame_texture, wild_texture가 assets 필드로 통합되었습니다.
- 형식:
- assets : 늑대의 각 상태별 텍스쳐를 결정합니다.
- angry : 늑대가 화났을 때 모델에 사용할 텍스쳐의 네임스페이스 ID입니다
- wild : 늑대가 야생일 때 모델에 사용할 텍스쳐의 네임스페이스 ID입니다.
- tame : 늑대가 길들여졌을 때 모델에 사용할 텍스쳐의 네임스페이스 ID입니다.
- (경로 : assets/(네임스페이스)/textures/(ID).png)
- spawn_conditions: 해당 몹이 스폰될 조건을 설정합니다. (밑의 스폰 조건 확인)
- assets : 늑대의 각 상태별 텍스쳐를 결정합니다.
예시
{
"assets": {
"wild": "potan:entity/wolf_wild",
"tame": "potan:entity/wolf_tame",
"angry": "potan:entity/wolf_angry"
},
"spawn_conditions": []
}
고양이 변형 레지스트리
- 위치: data/<namespace>/cat_variant/<id>.json
- 형식:
- asset_id: 모델에 사용할 텍스쳐의 네임스페이스 ID입니다. (경로 : assets/(네임스페이스)/textures/(ID).png)
- spawn_conditions: 해당 몹이 스폰될 조건을 설정합니다. (밑의 스폰 조건 확인)
예시
{
"asset_id": "potan:entity/pcat",
"spawn_conditions": []
}
닭 변형 레지스트리
- 위치: data/<namespace>/chicken_variant/<id>.json
- 형식:
- model: 모델 형태 (normal, cold 중 1)
- asset_id: 모델에 사용할 텍스쳐의 네임스페이스 ID입니다. (경로 : assets/(네임스페이스)/textures/(ID).png)
- spawn_conditions: 해당 몹이 스폰될 조건을 설정합니다. (밑의 스폰 조건 확인)
예시
{
"model": "normal",
"asset_id": "potan:entity/pchicken",
"spawn_conditions": []
}
개구리 변형 레지스트리
- 위치: data/<namespace>/frog_variant/<id>.json
- 형식:
- asset_id: 모델에 사용할 텍스쳐의 네임스페이스 ID입니다. (경로 : assets/(네임스페이스)/textures/(ID).png)
- spawn_conditions: 해당 몹이 스폰될 조건을 설정합니다. (밑의 스폰 조건 확인)
예시
{
"asset_id": "potan:entity/pcat",
"spawn_conditions": []
}
스폰 조건
해당하는 동물이 스폰될 때 어떤 변형으로 스폰되는지 결정하는 스폰 조건입니다.
어떤 변형이 선택될지는 다음 과정을 통해 선택합니다.
- 모든 변형의 스폰 조건들을 확인합니다. 만족하는 스폰 조건이 있다면 우선순위와 함께 가져옵니다.
- 가져온 변형들 중 우선순위가 가장 높은 변형들만 선택합니다.
- 그 중 랜덤으로 선택합니다.
- 형식
- spawn_conditions: 객체 리스트입니다.
- priority (정수): 밑의 조건이 일치할 때 이 변형이 갖는 우선순위입니다.
- condition (객체) : 조건이 일치하는 지 확인하는 조건으로 생략하면 항상 일치합니다.
- type: 조건의 유형을 지정합니다. 조건별로 추가 항목이 달라집니다.
- type이 biome일 때
- biomes: 바이옴 ID, 바이옴 태그, 바이옴 배열 중 1개로 바이옴을 지정합니다.
- 해당하는 바이옴에서 스폰될 때 이 조건을 만족합니다.
- biomes: 바이옴 ID, 바이옴 태그, 바이옴 배열 중 1개로 바이옴을 지정합니다.
예시
"spawn_conditions": [
{
"condition": {
"type": "minecraft:biome",
"biomes": [
"minecraft:plains",
"minecraft:savanna"
]
},
"priority": 5
}
]
평원, 사바나 바이옴일 경우 우선순위가 5가 되는 변형 스폰 조건입니다.
- type이 structure일 때
- structures : 구조물 ID, 구조물 태그, 구조물 배열 중 1개로 구조물을 지정합니다.
- 해당하는 구조물에서 스폰될 때 이 조건을 만족합니다.
- structures : 구조물 ID, 구조물 태그, 구조물 배열 중 1개로 구조물을 지정합니다.
예시
"spawn_conditions": [
{
"condition": {
"type": "minecraft:structure",
"structures": "minecraft:village_plains"
},
"priority": 20
}
]
평원 주민 마을에서 우선순위가 20이 되는 변형 스폰 조건입니다.
- type이 moon_brightness일 때
- range : 달 밝기의 범위를 지정합니다.
- 단일 값 지정시 그 값과 정확히 일치해야 합니다.
- min, max 범위를 넣어 범위를 지정할 수 있습니다.
- 해당하는 달의 밝기 (달의 모양에 따라)가 일치하면 스폰조건이 일치합니다.
- range : 달 밝기의 범위를 지정합니다.
예시
"spawn_conditions": [
{
"condition": {
"type": "minecraft:moon_brightness",
"range": {
"min": 1,
"max": 3
}
},
"priority": 20
}
]
달의 밝기가 1 ~ 3 사이일 때 우선순위가 20인 스폰 조건입니다.
만약 여러 spawn_condition이 설정될 경우 만족하는 조건 중 가장 높은 우선순위가 넘어갑니다.
"spawn_conditions": [
{
"condition": {
"type": "minecraft:biome",
"biomes": "#minecraft:is_overworld"
},
"priority": 3
},
{
"condition": {
"type": "minecraft:structure",
"structures": "#minecraft:village"
},
"priority": 10
}
]
기본적으로 오버월드에선 우선순위 3을 가지고 스폰조건을 결정하지만 마을에서는 우선순위가 10이 됩니다.
늑대 소리 레지스트리
- 늑대가 내는 소리를 결정하는 정보가 담긴 레지스트리입니다.
- 위치: data/<namepspace>/wolf_sound_variant/<id>.json
- 형식
- 모든 항목은 소리의 위치 ID입니다.
- ambient_sound : 평소 소리
- death_sound : 사망 소리
- growl_sound : 으르렁 소리
- hurt_sound : 다칠 때 소리
- pant_sound : 헐떡이는 소리
- whine_sound : 낑낑대는 소리
이번에는 마크의 sad 늑대 소리 레지스트리를 가져와보았습니다.
{
"ambient_sound": "minecraft:entity.wolf_sad.ambient",
"death_sound": "minecraft:entity.wolf_sad.death",
"growl_sound": "minecraft:entity.wolf_sad.growl",
"hurt_sound": "minecraft:entity.wolf_sad.hurt",
"pant_sound": "minecraft:entity.wolf_sad.pant",
"whine_sound": "minecraft:entity.wolf_sad.whine"
}
반응형
'마인크래프트 강좌 > 데이터팩 강좌' 카테고리의 다른 글
1.21.5 테스트 기능에 대하여 (1) | 2025.02.14 |
---|---|
마인크래프트 데이터팩 강좌 [3-1] - 매크로 (1) | 2025.02.07 |
마인크래프트 데이터팩 강좌 [2-1] - pack.mcmeta (1) | 2025.01.09 |
마인크래프트 데이터팩 강좌 [9-1] - Enchantment Provider (0) | 2024.06.26 |
마인크래프트 데이터팩 강좌 [9] - enchantment (4) | 2024.06.25 |