개인 자료란 (JE)

  서버 커뮤니티

Profile 김머강 대표칭호 없음
Profile

자료 자바 에디션(JE) 플러그인 일반

경제+상점 플러그인 배포합니다.

2024.05.17 조회 수 2298 추천 수 1
장르 서버 관리자 툴, 경제 
게임버전 모든버전 
API 스피곳 
원산지 국산 
개발자 머강 
저작권 All Rights Reserved 
자료 출처 https://drive.google.com/file/d/1ke4yIQx...sp=sharing 

이 플러그인은 순수 개발시간 3일정도에 걸쳐서 만든거라 아직 버그와 미흡한 부분이 존재합니다.


알려진 버그

1. 상점 GUI가 열린 상태에서 아이템을 쉬프트 클릭(Shop 칸에 있는거 말고 인벤토리에 있는거) 했을시 인벤토리에서 아이템이 Shop 칸으로 이동됨.(반환 불가)

2. 추가예정


명령어

1. 송금 (/transfer)

2. 아이템 추가(오른손에 아이템 들고 /additem <아이템 명> <구매가격> <판매가격> <아이템 태그>)

3. 아이템 삭제(<removeitem <아이템 명>)

4. NPC 생성(/createnpc <NPC명> <월드(네더, 오버월드, 엔더)> <NPC 태그>)

5. NPC 삭제(/removenpc <NPC명>)

6. NPC 리로드(/reloadnpc)

7. 상점 가격 즉시 업데이트(/updateprices)

8. 상점 가격 업데이트까지 남은 시간 체크(/checktimer)


우선 구현한 기능에 대해서 설명하겠습니다.


아이템 추가,삭제, NPC 생성, 삭제, 리로드, 가격 즉시 업데이트는 관리자한테만 있는 명령어.(op)


접속과 동시에 플레이어 각각에 해당하는 계좌가 생성되고 이후 모든 거래는 해당 계좌를 통해서 반영되며, 오른쪽 스코어보드에 지속적으로 업데이트됩니다.


NPC태그별 구매 가능한 아이템의 차별화도 적용되어있습니다.

예를 들어서 나무 태그가 있는 NPC는 아이템 태그가 나무인 아이템만 판매/구매 가능하도록 해놓았습니다.


그리고 상점 가격 업데이트같은 경우에는 판매량이 기준치를 넘게되면(내가 임의로 설정한 기준치는 128개야) 제가 설정한 가격변동방정식에 따라서 상점에서의 판매가격이 변동됩니다.


아 그리고 서버 구현시 데이터베이스는 SQLite로 변경했습니다. 자동으로 데이터베이스와 테이블을 생성하도록 플러그인상에 구현해놨으니까, 처음 킬때는 해당 파일이 서버 폴더 내에 생성되는걸 보고, 서버를 완전히 껐다가 다시 켜주세요


혹시나 이 플러그인으로 뭔가 상업적으로 활용해보거나, 2차 창작을 해보고 싶다면

[email protected] 으로 연락주세요.

그 외 개인적 사용은 모두 자유입니다.

혹시나 싶어서 발생한 오류도 이메일이나 이 게시물에 댓글로 달아주면, 확인해보고 해결 가능하면 최대한 빨리 해결해보겠습니다.

필수 설치 플러그인은 Citizens가 있습니다. 가장 최신 버전으로 깔면 돼요. 

economyplugin-1.0-SNAPSHOT.jar 

2개의 댓글

qsef1256
2024.05.23

코드 리뷰를 진행해 봤습니다.

 

1. SQLException시 connection이 닫히지 않을 것으로 보입니다. (connection leak)

2. Vault 지원이 없는 것으로 보입니다. Vault 지원이 없다는 것은 경제 플러그인으로서 다른 플러그인과 호환되지 않음을 의미합니다.

3. 하드코딩 된 DB 설정은 따로 파일로 빼서 제공하는 것이 좋아 보입니다.

4. DatabaseManager 클래스에 NPC 및 item 로직이 들어가 있는데 SRP 위반으로 보입니다. 다른 도메인이니까 패키지 분리하고 따로 넣는 것이 좋습니다.

5. ~Manager 식의 이름은 쓰지 않는 것이 좋습니다. 목적이 모호합니다.

6. 코드에 try-catch 구문이 많아서 가독성을 저해합니다. 디컴파일러 문제일 수도 있지만, 여기 있는 try 구문 하나만 남기고 전부 지울 수 있습니다.

 

알려진 버그 1의 경우 Listener에서 플레이어 인벤토리인지 check후 cancel 하면 고칠 수 있습니다. 다만 마크 인벤토리 라는건 생각보다 다양한 조작이 가능해서 우회할 부분이 있으니 중요한 로직 에서 사용 시 확인 해봐야 합니다.

namjungnam
3 일 전

안녕하세요 버그가 있는 것 같아 댓글 남깁니다

npc 생성시 바라보는 방향이 고정되어 있습니다

서버 재부팅시 npc 우클을 하면 할당된 아이템이 없다고 나옵니다

뉴스 및 창작물
/files/thumbnails/439/832/003/262x150.crop.jpg?20240711073840

레드스톤

【Ado】루루 (RuLe) | 피아노 & 노트블럭 커버

노트블럭전문가

2024-07-11

0

/files/thumbnails/600/818/003/262x150.crop.jpg?20240622093723

레드스톤

[마크 피아노커버] 에반게리온 잔혹한 천사의 테제 2

노트블럭전문가

2024-06-22

3

/files/thumbnails/647/816/003/262x150.crop.jpg?20240619112336

건축

숭례문(프리퀄) 4

KHC

2024-06-19

0

/files/thumbnails/308/815/003/262x150.crop.jpg?20240617084353

레드스톤

[피아노커버] 디스코드 - QWER 3

노트블럭전문가

2024-06-17

1

/files/thumbnails/932/812/003/262x150.crop.jpg?20240622110502

업데이트

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

학교가기싫다

2024-06-14

1

/files/thumbnails/308/805/003/262x150.crop.jpg?20240605201646

레드스톤

[노트블럭 커버] 팬서비스/mona 【 HoneyWorks 】 1

노트블럭전문가

2024-06-05

1

/files/thumbnails/288/791/003/262x150.crop.jpg?20240602150002

아티클

《까다로운 시련》 업데이트 날짜 공개 및 정보

학교가기싫다

2024-06-02

0

/files/thumbnails/841/773/003/262x150.crop.jpg?20240526120908

레드스톤

마인크래프트 노트블록버전 『 봄을 고하다 (春を告げる) 』 [더블옥타브 버전]

노트블럭전문가

2024-05-26

0

/files/thumbnails/712/796/003/262x150.crop.jpg?20240525085438

레드스톤

마인크래프트 노트블록으로 만든 『 봄을 고하다 (春を告げる) 』 1

Sonttukk

2024-05-25

1

/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

3

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

모드

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

학교가기싫다

2024-05-08

1