개인 자료란 (JE)

  서버 커뮤니티

Profile iJGN 대표칭호 없음

JGNoraejarang 650fc5d6c4284df6bb4f5671ca493f52

Profile

이해도 초보자 
게임버전 (JE) 1.19.2, 1.19.3 
게임버전 (BE) 관련없음 

페이퍼 버킷에서 콘피그에 유저의 소지 금액을 유저명:  금액의 형식으로 저장하는 돈 플러그인을 만들었습니다. 다른 플러그인에서 이 플러그인의 콘피그에 있는 유저별 금액을 수정하게 하고싶은데 어떻게 작성해야 할까요?

5개의 댓글

qsef1256
2022.12.28

일단 제목 그대로 해석해서 직접 파일에 접근해 변경하게 할 수 있냐고 묻는다면 일단은 가능합니다.

 

그러나, 이 행위는 각 플러그인의 영역을 침범하는 준해킹 프로그램 수준의 행동으로, 자신의 플러그인이라면 모르겠으나 남의 플러그인에서 실제로 이런 행위를 하면 심각한 마찰을 빚을 소지가 있습니다.

 

정상적인 방법은, API를 제공해서 해당 API로 내부 데이터를 조작할 수 있도록 하는 것입니다.

iJGN
2022.12.28
@qsef1256

현재 제가 작성한 돈 플러그인의 작동 방식이

@Override

public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args){

String preset = "§l§6[JGNEconomy]";

String danwi = getConfig().getString("기본단위");

 

if(command.getName().equals("내돈") || command.getName().equals("mymoney")){

float sendermoney = Float.parseFloat(getConfig().getString(sender.getName()));

sender.sendMessage(preset + "§e " + sender.getName() +" §b님의 돈은 §a" + sendermoney + danwi + "§b입니다.");

}

}

이렇게 콘피그에 저장하는 방식입니다. 이런 플러그인의 기능들을 API로 만들 수 있는 방법이 있을까요?

qsef1256
2022.12.28
@iJGN

조금 고민 되는 부분입니다. API 설계는 제 생각에 현재 마인크래프트 분야에서는 제대로 배울 수 있는 강좌 같은 게 없습니다. 그렇다고 이걸 다 알려주면 답변이 매우 길어질 수도 있고, 소프트웨어 공학 적인 지식을 동원해야 할 수도 있습니다. 그렇다고 그냥 Vault에 연결하게 하는 것도 지금 코드 수준에서는 이해 하기 어려울 것입니다.

 

앵간해서는 DM은 안 하는데, 집중적인 설명이 좀 필요할 것 같습니다. qsef1256#6620 으로 연락 바랍니다

qsef1256
2022.12.28

그리고, 돈은 이미 버킷에 RegisteredServiceProvider 라는 공통 인터페이스가 존재합니다. 해당 인터페이스를 이용한 것이 Vault이며, 일반적으로 여기다가 연결을 합니다.

0reo
2022.12.28

파일에 단순하게 접근하면 되는거라 불가능한건 아닙니다