개인 자료란 (JE)

  서버 커뮤니티

Profile 제라든 대표칭호 없음

Jeraden_n 4c8ff9825f8342f2bb0fd7c96f78d7e6

Profile

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

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

2020.01.13 조회 수 18374 추천 수 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개의 댓글

@제라든

9ba731a99696dce058ef7af041123894.png

4.0에서는 윗 사진 구문으로 바뀐 것 같구 '/c magicitem (아이템명) (개수)'입력시 "Player not found"라고 출력되기에

내부적인 오류가 있는것 같아요. spell 파일이라도 올려볼까요?

(빠른 답변 감사합니다 ㅠㅠ)

Big_Bang
2020.08.07
@Big_Bang

이번 4.0 beta_6 버전으로 해결되었습니다.

감사합니다.

mooneo1214
2020.08.05

/c magicitem 명령어를 썼는데 아무 메세지도 뜨지않고 아이템도 들어오지 않네요 무슨오류일까요

Big_Bang
2020.08.07
@mooneo1214

혹시 MagicSpells 4.0 사용중이신가요?

저와 같은 문제를 겪고 게신듯해서요...

빨간두억시니
2020.09.02

magic-items:

sword1:

type: "iron_sword"

name: "&f[&7 장난감 칼 &f]"

lore:

- "&f"

- "&f[&a데미지 &f:&4 10&f] &f[&7Rank F&f]"

- "&f[&a특수능력 &f:&e 불꽃세례&f]"

- "&f[&6쿨타임 &f:&a 3초&f]"

- "&f"

- "&f[&b특수능력 설명&f]"

- "&f약 20의 데미지의 불꽃탄을 발사한다."

- "&f"

- "&f[&b아이템 설명&f]"

- "&f장난감 칼이지만 마법이 깃들어있다."

unbreakable: true

attributes:

attr1: "generic.attackDamage 10 add"

attr2: "generic.movementSpeed 0.07 add"

attr3: "generic.maxHealth +10 add"

attr4: "generic.attackSpeed +15 add"

hide-tooltip: true

 

인데 검 데미지랑 속도등이 적용이 안되네요 해결방법이 있을까요...? 1.15.2버전입니다

minecfain
2020.09.11

쉬프트좌클릭/쉬프트우클릭 쓰는 방법 강의로 자세히 알려주실생각 없으신가요 ㅠㅠㅠ

동규입니다
2021.07.03

/c reload나, /c magicitem 스펠이 없다고 나옵니다 이것을 어떻게 해결하면 좋을까요?

뉴스 및 창작물
/files/thumbnails/500/937/003/262x150.crop.jpg?20241210152228

상품

《마인크래프트 1일 1페이지 아이디어 북》 출간!

다코미

2024-12-10

0

/files/thumbnails/557/934/003/262x150.crop.jpg?20241206162647

상품

《마인크래프트 건축가이드 미니 프로젝트 4》 출간!

다코미

2024-12-06

0

/files/thumbnails/246/933/003/262x150.crop.jpg?20241204080049

업데이트

[마인크래프트 1.21.4 업데이트]

제작대

2024-12-04

0

/files/thumbnails/477/930/003/262x150.crop.jpg?20241201030912

레드스톤

뉴진스 - Super Shy | 마크 노트블럭 커버

노트블럭전문가

2024-12-01

0

/files/thumbnails/483/916/003/262x150.crop.jpg?20241127115329

레드스톤

[노트블럭 커버] 뉴진스 - ETA 3

노트블럭전문가

2024-11-27

1

/files/thumbnails/150/925/003/262x150.crop.jpg?20241123005717

건축

응답하라 1988 ? 2

팀뉴일리시

2024-11-23

5

/files/thumbnails/761/908/003/262x150.crop.jpg?20241207024303

건축

서울 숭례문(崇禮門) 6

KHC

2024-10-25

3