본문 바로가기

마인크래프트 Tip

[리소스팩] Wynncraft 에서 사용하고 있는 커스텀 아이템 만들기

Wynncraft는 여러 무기 스킨이 존재합니다


우리는 그 무기스킨을 만드는 것을 알아볼려고 합니다


먼저


http://accidentalgames.com/media/durabilityModels.php


이곳에서 Durability 를 확인합니다


저는 Durability 로 이렇게 diamond_sword.json 을 작성했습니다 ^^


{

"parent": "item/handheld",

"textures": {

"layer0": "items/diamond_sword"

},

"overrides": [

{ "predicate": {"damaged": 0, "damage": 0.0006402048655569782}, "model": "item/Items/firesword"},

{ "predicate": {"damaged": 0, "damage": 0.0012804097311139564}, "model": "item/Items/bat"},

{ "predicate": {"damaged": 0, "damage": 0.0019206145966709346}, "model": "item/Items/elucidator"},

{ "predicate": {"damaged": 0, "damage": 0.002560819462227913}, "model":"item/Items/repulser"},

{ "predicate": {"damaged": 0, "damage": 0.003201024327784891}, "model": "item/Items/lightsaber_blue"},

{ "predicate": {"damaged": 0, "damage": 0.0038412291933418692}, "model": "item/Items/lightsaber_red"},

{ "predicate": {"damaged": 0, "damage": 0.004481434058898847}, "model": "item/Items/lightsaber_green"},

{ "predicate": {"damaged": 0, "damage": 0.005121638924455826}, "model": "item/Items/lightsaber_hilt"},

{ "predicate": {"damaged": 0, "damage": 0.005761843790012804}, "model": "item/Items/sword_master"},

{ "predicate": {"damaged": 0, "damage": 0.006402048655569782}, "model": "item/Items/floating_sword"},

{ "predicate": {"damaged": 1, "damage": 0}, "model": "item/diamond_sword"}

]

}



이게 뭐냐고요?


모델 코드입니다



루트는 assets > minecraft > models 입니다



여기서 block items 으로 나누게 되는데요



예시의 block 의 경우를 알아봅시다


{

    "__comment": "",

    "textures": {

        "particle": "blocks/sample",

        "0": "blocks/sample1",

        "1": "blocks/sample2"

    },

    "elements": [

        {

            "name": "Cube",

            "from": [ 0.0, 0.0, 0.0 ], 

            "to": [ 16.0, 16.0, 16.0 ], 

            "faces": {

                "north": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },

                "east": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },

                "south": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },

                "west": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },

                "up": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },

                "down": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }

            }

        }

    ]

}


예시의 items 의 경우를 알아봅시다


 {

"parent": "item/handheld",

"textures": {

"layer0": "items/sample"

}

}



어려우시면 설명해드리겠습니다



Q1. 0 이나 layer0 은 무엇을 뜻하나?


기본 레이어 베이스입니다 기본으로 보이는 리소스팩입니다


@ 을 하지않으면 기본적으로 textures > items 또는 blocks 에 기본적으로 설정됩니다


Q2. elements 는 무얼 의미하냐

설명하자면 어렵지만 고정 같은겁니다

face 부분이 중요합니다 잘 설정해주셔야 합니다


Q3. 좀 더 자세히좀 알려주세요


요컨대 1.9 이상 부터 이 기능이 생겼으며, 내구성이 무한을 가정하여 /minecraft:give (player) minecraft:(item) 1 (durability) {Unbreakable:1} 명령어로 소환할 수 있습니다



리소스팩이 있어야 하며 리소스팩에 위 루트로 들어가서 파일을 생성해줍니다 diamond_sword.json 은 다이아몬드 검에 내구성 무제한을 가정했을 경우에 { "predicate": {"damaged": 0, "damage": (durability) ... 이런 식입니다


이미지를 첨부할려면 textures > items 에 이미지를 올리고

"textures": {

"layer0": "items/이미지"


이런 식으로 하면 리소스팩을 적용할 경우 다이아몬드 검 스킨이 아닌 새로운 이미지 스킨으로 변합니다!


http://accidentalgames.com/media/durabilityModels.php


에 있는 durability 는 매우 유용한 코드입니다


예시로


{

"parent": "item/handheld",

"textures": {

"layer0": "item/diamond_sword"

},

"overrides": [

{ "predicate": {"damaged": 0, "damage": 0}, "model": "item/diamond_sword"},

{ "predicate": {"damaged": 0, "damage": 0.0006402048655569782}, "model": "item/diamond_sword"},

{ "predicate": {"damaged": 0, "damage": 0.0012804097311139564}, "model": "item/diamond_sword1"},

{ "predicate": {"damaged": 0, "damage": 0.0019206145966709346}, "model": "item/diamond_sword2"},

{ "predicate": {"damaged": 0, "damage": 0.002560819462227913}, "model": "item/diamond_sword3"},


이렇습니다만


diamond_sword3..2..1 등등 머리가 좀 있다면 뭔 뜻인지 이해하실거라 믿습니다



이상입니다

'마인크래프트 Tip' 카테고리의 다른 글

리소스팩 사용 아이디어  (0) 2017.08.07
BetonQuest-Editor 0.1.2.jar  (0) 2017.05.21
[Vehicles] config.yml lang.yml  (0) 2016.07.28
Sponge 버킷 설치하기  (0) 2016.07.09
SKILLAPI 한글 하는 방법  (0) 2016.05.02