개인 자료란 (JE)

  서버 커뮤니티

Profile 눈샘 대표칭호 없음

Nun_saem 1a94a50033f242cea79056282d346f86

Profile

질문하기 Java

중첩된 맵 안에 저장된 Itemstack 저장하는 법

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

static Map<String, Map<Integer, Map<Integer,Object>>> shopdata;

여기 Object에 ItemStack 저장합니다.


저장할 때는 이 코드를 사용하고

try (FileOutputStream fos = new FileOutputStream(Shop);
     OutputStreamWriter osw = new OutputStreamWriter(fos, StandardCharsets.UTF_8)){
    Yaml yaml = new Yaml();
    yaml.dump(shopdata, osw);
} catch (IOException e) {
    e.printStackTrace();
}

로드할 때는

try (FileInputStream fis = new FileInputStream(Shop);
     InputStreamReader isr = new InputStreamReader(fis, StandardCharsets.UTF_8)) {
    Yaml yaml = new Yaml();
    shopdata = yaml.load(isr);

} catch (IOException e) {
    e.printStackTrace();
}

if (shopdata==null){
    shopdata = new HashMap<>();
}

이 코드를 사용합니다. 저장할 때는 괜찮은데, 

로드만 하면 

2024-06-08-42.log

이런 오류 발생하면서 Shop 의 내용물 또한 날아가고 shopdata에 데이터가 들어가지도 않습니다.

아무래도 ItemStack를 불러오는 데에서 오류가 나는 것 같은데, 어떻게 하면 이 오류를 해결할 수 있을까 싶어 올려봅니다.


nms 관련은 아니라 크게 상관은 없을 것 같지만 Paper를 사용하고 있고 마인크래프트 버전은 1.20.6 기준입니다.




6개의 댓글

노을넴
2024.06.09

굳이 ItemStack을 yaml로 저장해야 할 필요가 있나욘?

눈샘
2024.06.09
@노을넴

딱히 없어요! 다른 방법을 몰라서 이러는거라 ㅠㅠ 쉬운 방법 있으면 좋죠!

노을넴
2024.06.09
@눈샘

그러면 NBT로 저장해보세욘

눈샘
2024.06.09
@노을넴

아 itemstack 대신 nbt 를 저장하라는 의미에요?

노을넴
2024.06.09
@눈샘

itemstack의 nbt를 저장하라는 뜻이에욘

눈샘
2024.06.09
@노을넴

넵 감사합니다!

뉴스 및 창작물
/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