개인 자료란 (JE)

  서버 커뮤니티

Profile 미나리나물 대표칭호 없음
Profile

질문하기 플러그인

아이템이 바뀌는 방법에 관한 질문

2023.02.06 조회 수 65 추천 수 0
이해도 입문자 
게임버전 (JE) 1.19.2 
게임버전 (BE) 관련없음 

안녕하세요.

한마포로 입문해 퍼퍼로 서버 구동하면서 소소하게 하나씩 배워가고 있는 마린이 입니다.


다름 아니라 제가 해보고 싶은 액션이 있는데, 이걸 구현하기 위해 어디에서부터 시작해야 할지 몰라 여쭤봅니다.


1. 상점에서 파는 아이템

2. 해당 아이템을 플레이어가 구매

3. 아이템을 클릭해 사용하면 확률로 갑옷이나 무기, 인챈트 된 책을 줌


이걸 구현 해 보고 싶습니다.


a. 커스텀 아이템 생성(해당 아이템은 상점에도 올릴 수 있고, 플레이어의 인벤토리에도 존재 함)

b. 위 커스텀 아이템 클릭 시 확률적으로 지정된 아이템을 지급


이렇게 두 부분으로 구별 해야 한다고 생각하는데, 생성도 따로해야 하는 게 맞을까요?

두 개를 별도로 생성해야 한 다면 각 부분(아이템 생성 / 지급)에 플러그인과 스크립트 어떤 걸 사용해야 할까요?

4개의 댓글

qsef1256
2023.02.06

일단 플러그인을 쓸 껀지 스크립트를 쓸 껀지를 먼저 정하셔야 합니다. 어느 부분은 스크립트로 만들고 어느 부분은 플러그인으로 만들고 그러기는 힘든 부분 이라서요.

qsef1256
2023.02.06

저는 플러그인 기준으로 설명하겠습니다.

  • 커스텀 아이템은 그냥 ItemStack을 쓰시면 됩니다.
  • 일단 상점 기능을 만든다고 하면 yml 이던 DB를 쓰건 올린 아이템들을 저장할 곳이 필요할 껍니다. 저장을 위해 직렬화가 필요하구요.
  • 돈 시스템 연동을 위해 Vault API를 배우셔야 합니다.
  • GUI를 쓴다면 주로 InventoryClickEvent을 받아서 다음 처리를 합니다. 단, Drag는 별개이므로 주의해야 합니다.
  • 상점이면 많은 아이템이 올라오므로 페이지를 만들 수 밖에 없습니다. 이걸 위해 재귀적인 방식으로 GUI를 만들어야 해요.
  • 플러그인 설정 파일이 아마 필요할 것이므로 YamlConfiguration을 쓰고요.
  • 확률적으로 지급하는 것 같은 건 구글에 검색하면 됩니다. 아니면 LootTable을 이용할 수도 있어요.
qsef1256
2023.02.06

실제 개발은 이런 식으로 돌아갑니다. 지금 2부분으로 나누려고 시도를 하셨는데, 제가 생각하기에는... 별로 의미가 있는 것 같진 않아요.

그걸 나눠서 개발에 특별한 이득이 있는 게 아니거든요. 위에서 볼 수 있다시피 그 기준으로 나누려면 그것보단 복잡해져야 하기도 하고요.


뭔가 나눠서 개발하는 걸 외부에 보여줘야 한다면 주로 서비스 단위입니다. 흔히 "시스템" 으로 표현될 수 있는 범위에요. 상점 시스템 같이요.

좀 더 정확히는 API 단위 입니다. API를 이용해 시스템을 조작하고, 그런 서비스들이 많이 모여서 프로그램이 돌아갑니다.

미나리나물
2023.02.07
@qsef1256

아...저는 아이템을 가지는 부분이랑 지급하는 부분을 나눠서 생각했는데, 굳이 그럴 필요는 없는거였군요.

귀중한 조언 감사합니다!!

뉴스 및 창작물
/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 4

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1

/files/thumbnails/348/896/003/262x150.crop.jpg?20241006103035

디도스/봇테러등등을 낚는 방법 4

물귀신

2024-10-06

3