2017-05-06 1 views
0

WE 선택 클래스의 몇 가지 변수가 내 플러그인에 저장되어 있습니다. 하지만 플러그인을 닫은 후/다시 시작한 후에 사용하고 싶습니다. 따라서 Selection vars를 YAML 파일에 저장 한 다음 onEnable에 다시로드해야합니다.YAML 파일에 병/객체 저장

private Selection sboss; 
private Selection s1; 
private Selection s2; 
private Selection s3; 
private Selection s4; 

어떻게하면됩니까?

답변

0

YAML 파일에 저장할 수있는 유일한 것은 배열 및 기본 유형이므로 전체 Selection 객체를 저장할 수 없습니다. 원하는 것 중 가장 가까운 것은 객체의 값을 개별적으로 저장 한 다음 새 Selection을 인스턴스화하여 설정하는 것입니다.

1

선택 물을 직렬화 한 다음 YAML 파일에 문자열로 저장해야합니다. onEnable에서 동일한 선택을 다시 얻으려면 문자열을 비 직렬화하는 메서드를 작성해야합니다.

예를 들어 CuboidSelectionWorld이고 두 개는 Location이 필요합니다. , :에 그것을 분할, worldname:x1:y1:z1:x2:y2:z2

당신이 당신의 YAML 파일에서 문자열을 얻을 CuboidSelection를 역 직렬화하기 Bukkit#getWorld(worldName)를 통해 세계를 얻고 좌표를 구문 분석 :이 같은 문자열에 CuboidSelection를 직렬화 할 수있다. 이제 CuboidSelection을 다시 얻으려면 두 개의 Locations를 만들어 World와 함께 사용하십시오.

관련 문제