개인 자료란 (JE)

  서버 커뮤니티

Profile 제라든 대표칭호 없음

Jeraden_n 4c8ff9825f8342f2bb0fd7c96f78d7e6

Profile

강좌 자바 에디션(JE) 플러그인 개발

[제라든의 매직스펠 강좌] [기초] 7강. 매직 아이템 (magic item)

2020.01.13 조회 수 16975 추천 수 4
분야 매직스펠 
장르 재미, RPG 
게임버전 모든버전 
API 페이퍼 
자료글 https://github.com/TheComputerGeek2/MagicSpells 

   강의 소개


안녕하세요, 제라든입니다.

2주일 동안 휴식하고 돌아왔습니다.

매직 아이템(magic item) => 변수(variable) =>조건부(modifier) => effect 구문
순으로 진행하기로 결정했습니다.

해당 과정을 모두 진행하여 기초 강의를 모두 끝낸 다음,
"스펠 뜯어보기"나 "스펠 무료 나눔"도 시작할 예정입니다.

모두 기다려주셔서 감사하고, 바로 시작하겠습니다.




   1. 매직 아이템(Magic Item)


매직스펠을 이용하여 커스텀 아이템을 만들어낼 수 있습니다.

이를 "매직 아이템"이라 명명하겠습니다.


매직 아이템의 기본 작성 구조입니다.



predefined-items:

    item_name:

        type: "item type"

        # Options


    item_name2:

 type: "item type"

        # Options



매직 아이템을 작성할 때는 반드시 predefined-items: 내부에 작성하셔야 합니다.

predefined-items 구문은 하나의스펠 파일에 2번 이상 중복하여 넣어주시면 안됩니다!


먼저 스펠 작성할 때와 같이 플러그인에서 명명할 이름을 설정해주세요.

이 때 명명한 이름은 특정 매직 아이템을 꺼내거나 스펠과 연결시킬 때 사용됩니다.


이제 type 구문으로 아이템 종류를 설정하시면 기본적인 구조가 완성됩니다.

type 구문은 큰따옴표 "" 안에 아이템 코드를 넣어서 작성하시면 됩니다.

키보드에서 F3 + H 키를 누르면, 인게임에서 아이템 코드를 확인하실 수 있습니다.


이제 작성을 마치고 /c reload 명령어로 적용하셨다면

매직 아이템을 꺼내셔야겠죠.

/c magicitem 명령어를 이용하시면 됩니다.



/c magicitem (매직 아이템) (수량)



ex. /c magicitem custom_item 1

이렇게 입력하시면 custom_item이라는 이름의 매직 아이템을 작성한 대로 플레이어 인벤토리에 생성합니다.





   2. 매직 아이템 구문


[공통 구문]



predefined-items:

    sword:

        type: 267

        name: "훈련용 검"

        lore:

            - "훈련하기 위해 만들어진 검이다."

            - "방어용에 적합하도록 제작되었다."

        enchants:

            - 16 1

        attributes:

            attr1: "generic.attackDamage add 4 mainhand"

            attr2: "generic.maxHealth add 10 mainhand"

        hide-tooltip: true



name

아이템 정보에 표시되는 이름을 설정합니다.


lore

아이템에 정보에 표시되는 이름 아래 텍스트를 설정합니다.


enchants

해당 아이템에 마법 부여(인챈트)된 상태로 만듭니다.


attributes

아이템의 능력치를 설정합니다.

공격력, 체력 등등 아이템을 착용한 플레이어의 능력치를 조정할 수도 있습니다.



generic.attackDamage

공격력


generic.attackSpeed

공격 속도

(1 / 공격 속도 값)만큼의 공격 딜레이가 생깁니다.


generic.armor

방어력


generic.armorToughness

방어 강도


generic.maxHealth

최대 체력

체력 반칸당 1입니다.



generic.movementSpeed

이동속도

기본적으로 플레이어 이동속도는 0.1입니다.


generic.knockbackResistance

밀치기 저항 (확률)

1.0 값이 100% 확률입니다.


generic.followRange

몬스터 탐지 거리 (어그로)

기본적으로 플레이어에 대한 몬스터의 탐지 거리 값은 32입니다.


hide-tooltip

아이템 정보 아래에 표시되는 nbt 정보의 숨김 여부를 설정합니다.




[내구도 아이템 전용 구문]



predefined-items:

    pick:

        type: 

        name: "곡괭이"

        repaircost: 2

        unbreakable: false



repaircost

모루로 수리할 때 드는 경험치 비용을 설정합니다.


unbreakable

true로 설정할 시 내구도가 소모되지 않습니다.




[포션 전용 구문]



predefined-items:

    potion:

        type: 

        name: "술"

        potioncolor: red

        potioneffects:

            - "nersau 1 100"



potioneffects

포션 효과를 설정합니다.


potioncolor

포션 병 색상을 설정합니다.




[가죽 갑옷 전용 구문]



predefined-items:

    blue:

        type: 

        name: "블루팀 투구"

        color: "006EFF"



color

가죽 갑옷을 염색된 상태로 만듭니다.

이 떄 색상 값은 헥스 색상 코드를 사용합니다.

링크로 이어지는 사이트에서 원하는 색상 코드를 알아낼 수 있습니다.




[해골 머리 전용 구문]


skullowner

머리 소유자를 설정합니다.


uuid

머리 소유자의 UUID를 설정합니다.


texture

머리의 텍스쳐를 설정합니다.


signature

머리의 시그니쳐를 설정합니다.




[책 전용 구문]



 rule_book:

        type: "written_book"

        title: "&6규칙 메뉴얼"

        author: "&a제라든"

        pages:

          - "첫번째 페이지입니다."

          - "두번째 페이지입니다."

          - |

            "세번째 페이지입니다."

            "세번째 페이지, 두번째 줄입니다."



title

책 제목을 설정합니다.


author

책 저자를 설정합니다.


pages

책 내용을 작성합니다.

\n가 줄바꿈의 기능을 수행합니다.




[현수막 전용 구문]



banner:

        type: 425

        name: "&c까누 미래"

        lore:

            - "&4죽어라 까누!!"

        color: white

        patterns:

            - black bricks

            - green creeper



color

현수막의 색깔을 설정합니다.


patterns

현수막 패턴을 그려넣습니다.






   3. 매직 아이템 활용 방법


nbt 태그를 수정하여 자작 아이템을 만드는 용도로만 사용할 수도 있고,

특정 매직 아이템을 사용하여 스펠이 나가도록 설정할 수도 있습니다.


저번 5강에서 배운대로, cast-item 구문을 이용하시면 됩니다.



power_up:

    spell-class: ".targeted.PotionEffectSpell"

    type: 5

    strength: 0

    duration: 100

    targeted: false

    hidden: true

    right-click-cast-item: power_sword



아이템 코드 대신 매직 아이템의 이름을 넣으시면,

해당 매직 아이템으로 스펠을 사용할 수 있습니다.


또는 cost 구문을 이용하여 매직 아이템을 스펠 발동에 소모되는 재료로 만들 수 있습니다.



power_double:

    spell-class: ".targeted.PotionEffectSpell"

    type: 5

    strength: 1

    duration: 100

    targeted: false

    hidden: true

    cost:

        - power_ingredient 2



power_ingredient라는 매직 아이템을 2개 소모하여 스펠을 발동시키는 구조입니다.

만약 인벤토리에 해당 아이템이 없으면 스펠을 발동할 수 없습니다.





   강의 후기

오늘도 강의가 이렇게 끝났습니다.

 

다음 강의에서는

[기본] 3강. 더미 스펠(Dummy Spell)을 진행하겠습니다.


다음 강의는 수요일날 게시됩니다.


끝까지 읽어주신 분들께 감사의 말씀을 전합니다.






27개의 댓글

DDang_
2020.01.13

추천입니다

아이스틴
2020.01.14

매직스펠은 넘모나도 어렵습니다효

제라든
2020.01.14
@아이스틴

제가 너무 어렵게 설명한 면도 있습니다.

맨 처음 하시는 분들은 더 쉬운 강좌를 보시면서 익히신 후에

이 강좌를 보시는 게 더 낫지 않을까 싶기도 합니다.

GEEKSCI
2020.01.19

제라든님 파티클중에 take 라는 파티클이 있던데 어떻게 쓰는건가요 파티클이 안보이네요 스펠 뜯어보니까 꽤 많이 쓰던데....

꾸앙
2020.01.20
@GEEKSCI

대신 답변드립니다.

매직스펠 파티클에 'take' 가 적혀있는 이유는 파티클을 표시하지 않기 위해서 적어둡니다

파티클란을 비워두게되면 'reddust' 파티클이 나옵니다

 

예전에는 파티클란에 'asd' 같은 아무거나 적으면 파티클이 나오지 않았었는데 일정 버전 이상부터는 빈칸없이 'take'를 적어주셔야 정상작동 됩니다

GEEKSCI
2020.01.22
@꾸앙

아 네 감사합니다

deanggu
2020.01.26

매직아이템의 데미지 공격속도등이 바뀌지 않습니다 이유가 있을까요..??

 

제라든
2020.01.26
@deanggu

작성하신 매직스펠을 보여주실 수 있나요

SpringOnionEgg
2020.02.12

정말 정리가 잘된 좋은 매직스펠 강좌같습니다. 너무 깔끔해서 보기가 편합니다ㅠㅠ

제라든
2020.02.13
@SpringOnionEgg

감사합니다.

요즘 시간이 없어서 올리지 못하고 있는데, 빠른 시일 내에 다시 글을 쓸 수 있도록 노력해보겠습니다.

Bipung
2020.02.18

1.12.2 버전에서는 왜 unbreakable: true 이 구문이 작동하지 않는 거죠??ㅠㅠ (오류인건가?)

그래서 매직아이템을 사용할 때 내구도가 달면 스킬이 안써지잖아요 ....... (general 파일 건들면 내구도 달아도 가능하긴 하지만 내구도 닳는점이 싫어서...)

고칠방법이 있나요?

제라든
2020.02.18
@Bipung

으음, 저도 안되는 이유를 모르겠네요.

구문이 잘못되었는지, 띄어쓰기가 제대로 되어 있는지 확인하시길 부탁드릴게요.

Bipung
2020.02.19
@제라든

predefined-items:

weapon:

type: "272"

name: "&f&l기본검"

lore:

- "&9[일반]"

- "&f공격력 : 4"

- "&f체력 : 10"

- "&f이동속도 : 0"

attributes:

attr1: "generic.attackDamage 4 add mainhand"

attr2: "generic.maxHealth 10 add mainhand"

attr3: "generic.movementSpeed 0 add mainhand"

hide-tooltip: true

unbreakable: true

Bipung
2020.02.19
@Bipung

띄어쓰기 문제도 아니고ㅠㅠ 안되면 그냥 무기에다가 내구도 달까 생각중이에요....

제라든
2020.02.19
@Bipung

예제 파일입니다. 이것으로 테스트 한번 해보시겠어요?

https://drive.google.com/open?id=1jdMc03sX5v7XvHHV7FMfjPoAHUHnkFgf

santan
2020.03.19

아머러 워크샵이랑 같이쓰는사람들이 있던데 어떻게하나요?

내구도가 닳아있는 무기를 소환하려면 아이템코드 에 뭐라 써야하나요?

Big_Bang
2020.07.28

1.14.4 MagicSpells 4.0 Beta_5 사용중인 매직스펠러입니다.

 

원래는 1.7.10에서 사용가능한 3.4버전을 이용하다가 넘어와서 파티클 에러는 해결을 했는데

매직아이템을 설정, /c reload하고 '/c magicitem (닉네임) (아이템명)'라고 치면 계속 "Item Not Found"라고 나오고

Conjure 스펠을 사용해도 지정한 말만 나오고 아이템은 나오지 않는 현상이 지속되고 있어요.

 

매직스펠 플러그인 설명하실 때 4.0버전도 올려놓으셔서 혹시 알고 계실까 해서 올려봅니다.

잘 모르시겠다면 답장이라도 부탁드려요...

제라든
2020.07.28
@Big_Bang

'/c magicitem (아이템명) (수량)' 이라고 매직스펠 위키에 나오네요.

뉴스 및 창작물
/files/thumbnails/268/789/003/262x150.crop.jpg?20240515192032

레드스톤

벌레먹은 돌 빠르게 제거하는 법

GlassesFilm

2024-05-15

0

/files/thumbnails/797/788/003/262x150.crop.jpg?20240515090924

건축

마인크래프트로 구현한 카르카손 보드게임

Warak

2024-05-15

1

/files/thumbnails/487/784/003/262x150.crop.jpg?20240508233607

모드

Windows Borderless 모드에서 악성코드 발견 2

학교가기싫다

2024-05-08

1

/files/thumbnails/384/778/003/262x150.crop.jpg?20240512002324

업데이트

마인크래프트 자바 에디션 스냅샷 24w18a

학교가기싫다

2024-05-06

0

/files/thumbnails/855/781/003/262x150.crop.jpg?20240505141129

레드스톤

레이저 클리너

GlassesFilm

2024-05-05

1

/files/thumbnails/576/775/003/262x150.crop.jpg?20240426232553

아티클

이달의 블록: 단단한 진흙

학교가기싫다

2024-04-26

0

/files/thumbnails/115/774/003/262x150.crop.jpg?20240428135129

업데이트

마인크래프트 1.20.5 정식 업데이트

학교가기싫다

2024-04-24

0