Skywolf46
대표칭호 없음
ReflectedNBTWrapper은 리플렉션을 이용해 Spigot/Paper/CraftBukkit 류의 버킷에서 NBT를 쉽게 사용 가능하도록 제작된 라이브러리입니다.
"버킷 기반 모든 버킷"에서 사용이 가능합니다.
작동 확인된 버킷:
- Spigot (1.11,1.12 Tested)
- PaperSpigot (1.7,1.12 Tested)
- CatServerBukkit (1.12 Tested)
- CraftBukkit (1.5.2 Tested)
예제 - 새 NBTCompound 객체 생성하고 값 설정하기
public static ReflectedNBTCompound createSimpleCompound (){ ReflectedNBTCompound comp = new ReflectedNBTCompound(); comp.setValue("TestValue",1); return comp; }
예제 - 아이템에 NBT 설정하기
public static ItemStack importTag (ItemStack item){ ReflectedNBTCompound comp = ItemNBTExtrator.extractOrCreateNBT(item); comp.setValue("TestValue",1); return ItemNBTImporter.importNBT(item,comp); }
예제 - 아이템으로부터 NBT 추출하기
public static ReflectedNBTCompound extractAndTest (ItemStack item){ ReflectedNBTCompound comp = ItemNBTExtrator.extractOrCreateNBT(item); ReflectedNBTInteger ref = comp.getValue("TestValue"); if(ref.getValue() == 1) System.out.println("Read success"); return comp; }
버전 이름 클릭시 해당 버전으로 리다이렉트됩니다. (깃허브)
- NBT 클래스 상속관계(ReflectedNBTBase) 인터페이스(IReflectedNBTBase)로 변경
- ReflectedNBTBase의 추상화 제거
- 클래스 파일 ReflectedNBTBase의 이름을 ReflectedNBTStorage으로 변경
- ReflectedNBTList에 네이티브 언래핑 기능 추가
- IReflectedNBTCompound#get(String) 추가
- IReflectedNBTCompound#getNBT(IReflectedNBTBase) 추가
- IReflectedNBTCompound#set(String,Object) 추가
- IReflectedNBTCompound#set(String,IReflectedNBTBase) 추기
- 패키지명 v1_1R1으로 변경
- ReflectedNBTCompound#keyset() 추가
- 이제 ReflectedNBTList 클래스가 Iterable을 상속합니다.
- LinearIterator 추가
- 패키지 이름 v1_1_R2으로 변경
- IReflectedNBTCompound의 상속 안터페이스 IReflectedNBTBase<HashMap<String,Object>>으로 변경
- IReflectedNBTBase#clear() 추가
- IReflectedNBTBase#collapse(IReflectedNBTBase) 추가
- 패키지 이름 v1_1R3으로 변경
- Object 메서드를 NBT로 변경해주는 NBTExchanger가 ReflectedNBTStorage 에 추가
- 패키지 이름 v1_2으로 변경
- 버전 안정화 완료. 릴리즈로 버전 상태 변경
- 이제 ReflectedNBTStorage#createReflectedNBT(Object) 파라미터가 IReflectedNBTBase을 상속할 경우 해당 파라미터를 반환합니다.
- 패키지 이름 v1_2R1으로 변경
- ReflectedNBTList#add(Object)가 NBT에서 불러와진 직후, 리스트의 객체 개수가 1개 이상일때 CollectionMismatchedException이 발생하는 오류를 해결하였습니다.
- 패키지 이름 v1_2R2으로 변경
- ItemNBTImporter.import(ItemStack,ReflectedNBTCompound) 호출시 정수 배열이 내부에 존재할때 오류가 발생하는 오류를 해결해였습니다.
- 주의하세요! 정수 배열을 삽입한 후 이전 버전의 라이브러리를 사용하는 라이브러리를 사용시 오류가 발생합니다.
- 패키지 이름 v1_2R2으로 변경
camelCase
2020.01.09자료실 첫글 축하드립니다!!
프리루트
2020.01.09오.. 드디어 첫번째 자료글이.. 3년 뒤에 이 글을 보면 무슨 느낌이 들지 궁금하네요 크으..
DDang_
2020.01.09좋은 글은 추천입니다
Skywolf46
2020.01.09감사합니다 :)
아이스틴
2020.01.09한디포 첫 자료글 ㄷㄷ
Skywolf46
2020.01.09열렸다길래 바로 와서 번역하고 작성했지요.
DDang_
2020.01.09"Twenty years from now you will more disappointed by the things that you didn't do than do than by the ones you did do. So throw off the bowlines. Sail away from the safe harbor. Catch the trade winds in your sails. Explore. Dream. Discover."
- Mark Twain
지금부터 20살이 지나고 나서의 너는 남들보다 해내지 못한것에 실망할것이다 그러니 돛줄을 풀고 안전한 항구로 부터 나와 너의 무역풍을 잡거라 탐험하고 꿈꾸고 발견해라
되게 좋은 글이네요 알아갑니다
Skywolf46
2020.01.09마인크래프트 엔딩 크래딧에 나오는 문구입니다. :)
DDang_
2020.01.09그런 사실이 있었다니 몰랐네요 ㅇㅂㅇ
윈초
2020.01.11아 그래요?