개인 자료란 (JE)

  서버 커뮤니티

Profile 손Develop 대표칭호 없음

thswodud 42f8f41523364fec8ca3a9bd0e1c1a29

Profile

커뮤니티 소통 개발하기 잡담

순수 재미로 RPG플러그인 개발일기 (약 10일차) (MagicSpell, MythicMob API) 2편

2025.03.16 조회 수 259 추천 수 0


이전 글에서 너무 길어져 2편으로 이어서 작성할게요


MagicSpell의 Custom Spell에 대해서는 이전에서 설명했으니, RPG에 필수적인 Mob에 관해 만든 부분을 설명할게요.


기본적으로 MythicMob 기존의 시스템을 어느정도 유지한채로 Custom 스탯이 적용되게 하기 위해 다음과 같이 만들었습니다.


이렇게 MythicMob에 Custom 스탯을 추가할 수 있습니다.



해당 스탯을 소환될 각 Mob에 적용시켜야 하기 때문에 MobData를 만들었습니다.




MythicMob도 이전편처럼 Damage를 Apply하는 부분을 만들어주면 됩니다. 다만, PVE, EVP인 경우를 따로 만들어줘야 합니다. 

PVE DamageApply 부분


중간에 PersistanData부분은 다음 부분에 설명하겠지만, Custom스탯과 마인크래프트 자체 시스템의 충돌문제로 인해 해당 충돌을 피하기 위한 부분입니다.



EVP DamageApply부분입니다. MythicMob이 Player에게 Damage를 입힐때는 안타깝게도, 일반적인 방법으로 하기 힘들어 이후에 설명할 MythicMob  CustomMechanic에서 따로 만들어줘야 합니다..




이 부분이 MythicMob의 Custom Damage Mechnic부분입니다.  MythicMob plugin은 자체적으로 대미지를 따로 입히게 되면, 오류가 발생하기 때문에 MythicMob에서 제공하는  DamageAppy를 사용해야 합니다.


실제 MythicMob 예시

TestMob4:

  Type: ZOMBIE

  Health: 20

  VMaxHealth: 30

  VCurrHealth: 30

  VAttack: 10

  VDef: 1

  VShield: 10

  AITargetSelectors:

  - clear

  - attackers

  AIGoalSelectors:

  - clear

  - meleeattack

  #- 2 movetowardsrestriction

  Modules:

    ImmunityTable: true

    ThreatTable: true

  Options:

    Silent: true

    PreventSunburn: true

    FollowRange: 10

    PreventItemPickup: true

    PreventMobKillDrops: true

    PreventOtherDrops: true

    NoAI: false

    KnockbackResistance: 0.5

  Skills:

    - customdamage{magnification=100} @target ~onTimer:20





이 부분은 CustomEvent입니다. CustomStat으로 공격을 하는 것이기 때문에 Event도 따로 만드는 것이 Control에 매우 용이 합니다.





이 부분은 아까 설명하지 않았던  Custom스탯과 마인크래프트 자체 시스템의 충돌문제 때문에 있는 부분입니다. 기존 마인크래프트는 일반공격만 존재하기 때문에 스킬로 공격하는 대미지도 일반공격과 구분하지 않습니다. 따라서, 자체적으로 스킬로 대미지릴 입힌것과 아닌 것을 구분을 해주 필요가 있어서 스킬로 입힐때는, PersistantData를 이용하여 구분을 합니다. 



지금까지는 CustomDamage를 구현하기 위한 Code설명이었습니다. 이후 일기에서는 실제 마인크래프트 내에서 어떻게 이루어 지는지 간단하게 보여드리겠습니다.  


이게 지금까지 구현한class들입니다.  대부분 Damage와 기본 스탯을 Control할 수 있게 하는 부분이고,
설명은 하지 않았으나, 실제  Damage를 입힐때, 해당 Damage를 표시하기 위하여,

hologram을 이용하여 대미지가 표시되도록 만든 부분도 있습니다. 해당 표시등은 다음 마인크래프트 내에서 나오는 모습을 보면서 설명하겠습니다.

아직까지 미완성된 부분도 많고, 앞으로 구현해야하는 것이 워낙 많이 남아있습니다. ㅎㅎ


예를 들어, Level, 기초 Stat에 관한 설정과 Control,  아이템에 관련된 부분, 그외 gui, quest 등등 계획해 놓은 것은 많습니다. ㅎ...


시간이 좀 부족해서 오래 걸릴 거 같지만, 재미있게 만들고 있으니 기대해 주세요..ㅎㅎ


질문이나 의견, 또는 관심 있으신 분들의 연락을 환영합니다. 


갑사합니다. ^^


디스코드 : jaeyoungson #7748

1개의 댓글

sirason1
27 일 전

디스코드아이디가 유효하지 않다네요

뉴스 및 창작물
/files/thumbnails/255/028/004/262x150.crop.jpg?20250416153632

업데이트

마인크래프트 자바 스냅숏 25w16a 한국어 번역본 (Minecraft Snapshot 25w16a)

updater

2025-04-16

0

/files/thumbnails/036/025/004/262x150.crop.jpg?20250411144649

업데이트

마인크래프트 자바 스냅숏 25w15a 한국어 번역본 (Minecraft Snapshot 25w15a)

updater

2025-04-09

0

/files/thumbnails/159/021/004/262x150.crop.jpg?20250402093702

업데이트

광산제작 업데이트 (The Craftmine 업데이트): 한국어 번역본

updater

2025-04-02

0

/files/thumbnails/729/017/004/262x150.crop.jpg?20250326233109

업데이트

마인크래프트 자바 1.21.5 출시 (Minecraft Java 1.21.5 Released): 한국어 번역본

updater

2025-03-26

0

/files/thumbnails/202/016/004/262x150.crop.jpg?20250323230938

소식

Minecraft LIVE - 2025 March 내용 요약

노을넴

2025-03-23

2