서문
species_addition JSON을 만들어 기존 species 파일의 일부 데이터를 교체하거나 새 데이터를 추가할 수 있습니다. 종 추가는 기존 포켓몬에 자신만의 리전 변종을 추가하는 데 유용한 방법입니다. 애드온을 위해 포켓몬의 능력치를 다시 작성하고 싶을 때도 도움이 됩니다. 이 시스템은 데이터팩 개발자가 기본 species 파일을 덮어쓰지 않고 특정 종을 대상으로 필드 타입에 따라 추가하거나 교체할 수 있게 해, 여러 데이터팩 사이의 호환성을 높이기 위해 만들어졌습니다.
종 addition 구성 설명
species addition JSON을 만드는 것은 매우 간단합니다. 대상 포켓몬을 적고, 그 포켓몬의 species 파일에 다시 쓰거나 추가하고 싶은 어떤 데이터든 나열하면 됩니다. Forms와 evolution 데이터는 다시 쓰기 예외이며, 항상 추가됩니다.
아래는 예시 species addition의 구성 설명입니다. 밑줄이 있는 텍스트에 마우스를 올리면 더 자세한 정보를 볼 수 있습니다.
\{
"target": "cobblemon:bulbasaur",
"primaryType": "fire",
"secondaryType": "water",
"shoulderMountable": true,
"shoulderEffects": [
\{
"type": "potion_effect",
"effect": "minecraft:slow_falling",
"amplifier": 0,
"ambient": true,
"showParticles": false,
"showIcon": false
\}
],
"drops": \{
"amount": 1,
"entries": [
\{
"item": "cobblemon:razor_fang",
"percentage": 2.5
\}
]
\},
"behaviour": \{
"moving": \{
"walk": \{
"canWalk": true
\},
"fly": \{
"canFly": true
\}
\},
"resting": \{
"canSleep": true,
"willSleepOnBed": true,
"depth": "normal",
"light": "0-4"
\}
\},
"baseScale": 2,
"hitbox": \{
"width": 2,
"height": 2,
"fixed": false
\},
"lightingData": \{
"lightLevel": 10,
"liquidGlowMode": "LAND"
\}
\}
이 파일을 불러오면 이상해씨에 다음 효과가 적용됩니다:
- 풀/독 타입 대신 불꽃/물 타입이 됩니다.
- 플레이어의 어깨에 올라탈 수 있습니다.
- 어깨에 올렸을 때 느린 낙하 효과를 부여합니다.
- 2.5% 확률로 예리한이빨을 드롭하기 시작할 수 있습니다.
- 이제 날 수 있습니다.
- Increased 모델 scale to 2
- Increased hitbox size to a 2x2 cube
- 동적 조명 모드가 설치된 경우, 땅 위에 있을 때만 밝기 레벨 10의 빛을 낼 수 있습니다.
species addition에 대한 팁 목록은 다음과 같습니다:
- 종 추가는 대상 species 파일에 이미 작성된 데이터가 있다면 해당 데이터를 다시 씁니다.
- 예:
moves목록에 새 기술을 추가하려면 전체 기술 목록을 다시 작성해야 합니다. 새 기술 하나만 작성하면 그 기술만 포켓몬이 배울 수 있는 유일한 기술이 됩니다.
- 예:
- 종 추가는 대상 species 파일에 아직 존재하지 않는 데이터라면 작성한 데이터를 추가합니다.
- 아직 아무것도 드롭하지 않는 포켓몬에
drops를 추가하는 파일을 만들 수 있습니다.
- 아직 아무것도 드롭하지 않는 포켓몬에
- 이 시스템은 애드온 제작자가 데이터팩을 다른 데이터팩과 호환되게 유지할 수 있도록 만들어졌습니다. 직접 만들지 않은 기존 포켓몬을 편집하려면 항상 이 방식을 사용하세요.
- 두 데이터팩이 주 species 파일을 누가 교체할지 두고 충돌하는 일을 막아 줍니다.
- 특정 상황에서 애드온이 플레이어 저장 데이터에 복구 불가능한 피해를 주는 것을 막을 수 있습니다.
- 두 addition이 아이템 드롭처럼 같은 항목을 다시 쓰려 한다면, 로드 순서상 첫 번째 파일의 변경 사항만 구현됩니다.
- 특수 포켓몬 폼을 추가할 때 species addition을 사용하는 것이 가장 애드온 친화적인 방식입니다.
- 두 제작자가 모두 물짱이에 리전 폼을 추가하고, 둘 다 species addition으로 폼 데이터를 추가했다면, 사람들은 두 애드온을 문제없이 함께 사용할 수 있습니다.
데이터팩 폴더 위치
이 파일들은 이전에 본 적 없을 수도 있는 폴더에 들어갑니다. JSON을 species additions 폴더 자체에 넣거나, JSON용 하위 폴더를 만들 수도 있습니다. cobblemon 네임스페이스를 사용하고 포켓몬 이름으로 JSON 이름을 지정하면 데이터팩 규칙이 적용된다는 점을 기억하세요. 같은 포켓몬을 변경하려는 다른 애드온과의 충돌을 피하려면 자체 네임스페이스와 고유한 파일 이름을 사용하는 것을 고려하세요. species addition 파일과 폴더는 다음과 같이 배치하면 됩니다:
- (애드온 name)
- 데이터
- (애드온 name)
- species_additions
- <target_pokemon>.json
- (optional target pokemon/세대 폴더)
- <optional target_pokemon>.json
- species_additions
- (애드온 name)
- 데이터
species additions 폴더를 기존 애드온 팩에 병합할 수도 있습니다.
종 addition 예시
커뮤니티에서 species addition을 가장 흔히 사용하는 방식 중 하나는 공식 포켓몬에 추가 evolution 데이터를 넣는 것입니다. 비공식 모델과 함께 사용하기 위해 포켓몬의 baseScale과 hitbox 크기를 바꾸는 데도 자주 사용됩니다.
- 이 예시에서는 세꿀버리의 basescale과 hitbox 크기가 변경됩니다. 아직 공식 모델이 없는 포켓몬에 자신만의 모델을 추가하고 싶을 때 이런 species addition이 유용합니다.
\{
"target": "cobblemon:combee",
"baseScale": 1,
"hitbox": \{
"width": 1,
"height": 1.2,
"fixed": false
\}
\}
- 이 예시에서는 이브이가 이제 레벨 36에 리자몽으로 진화하며, 기존의 다른 이브이 진화도 모두 유지합니다.
\{
"target": "cobblemon:eevee",
"evolutions": [
\{
"id": "eevee_charizard",
"variant": "level_up",
"result": "charizard",
"consumeHeldItem": false,
"learnableMoves": [],
"requirements": [
\{
"variant": "level",
"minLevel": 36
\}
]
\}
]
\}
다음은 기존 포켓몬의 evolution과 form 데이터를 변경하려는 두 애드온의 예시입니다. 이 경우 둘 다 새 이브이 진화와 자체 진화를 가진 새 리전 폼 이브이를 만들고 싶어 합니다. species_additions와 그 특수 규칙 덕분에 누구나 이 가상의 두 애드온을 함께 사용하고, 문제없이 두 효과를 모두 얻을 수 있습니다.
- 그러면 일반 이브이는 레벨 36에 리자몽이나 거북왕으로 진화할 수 있습니다.
- 알로라 이브이는 얼음 타입이 되며 물의돌로 꼬부기로 진화합니다.
- 히스이 이브이는 불꽃 타입이 되며 리프의돌로 이상해씨로 진화합니다.
Addon #1’s species addition:
\{
"target": "cobblemon:eevee",
"features": ["alolan"],
"forms": [
\{
"name": "Alola",
"primaryType": "ice",
"abilities": [
"snowcloak",
"h:snowwarning"
],
"aspects": ["alolan"],
"evolutions": [
\{
"id": "eevee_squirtle",
"variant": "item_interact",
"result": "squirtle",
"consumeHeldItem": false,
"learnableMoves": [],
"requirements": [],
"requiredContext": "cobblemon:water_stone"
\}
]
\}
],
"evolutions": [
\{
"id": "eevee_blastoise",
"variant": "level_up",
"result": "blastoise",
"consumeHeldItem": false,
"learnableMoves": [],
"requirements": [
\{
"variant": "level",
"minLevel": 36
\}
]
\}
]
\}
Addon #2’s species addition:
\{
"target": "cobblemon:eevee",
"features": ["hisuian"],
"forms": [
\{
"name": "Hisui",
"primaryType": "fire",
"abilities": [
"flamebody",
"h:drought"
],
"aspects": ["hisuian"],
"evolutions": [
\{
"id": "eevee_bulbasaur",
"variant": "item_interact",
"result": "bulbasaur",
"consumeHeldItem": false,
"learnableMoves": [],
"requirements": [],
"requiredContext": "cobblemon:leaf_stone"
\}
]
\}
],
"evolutions": [
\{
"id": "eevee_charizard",
"variant": "level_up",
"result": "charizard",
"consumeHeldItem": false,
"learnableMoves": [],
"requirements": [
\{
"variant": "level",
"minLevel": 36
\}
]
\}
]
\}
두 애드온을 모두 활성화했을 때의 결과 이브이 진화입니다.
Addon Creation
튜토리얼
커스텀 포켓몬 만들기 모델 만들기 커스텀 스폰 만들기 발광 텍스처 애니메이션 텍스처 Texture Replacement 애니메이션 교체 리전 폼여러 시각 Variants 애니메이션에 소리 추가하기
Asset Files
데이터 Files
종 종 특징 종 특징 할당 종 추가 스폰 Detail Presets 스폰 Pool 월드 화석 Datapackable Move Effects
Properties