개인 자료란 (JE)

  서버 커뮤니티


Profile APSODE 대표칭호 없음
Profile

커뮤니티 개발 개발 질문 Java

아이템의 기본 AttributeModifier값을 가져오고 싶습니다. (NMS사용 - v1_16_R3)

14 일 전 조회 수 91 추천 수 0
분야 플러그인 


net.minecraft.server.v1_16_R3.ItemStack NMS_TARGET_ITEM = CraftItemStack.asNMSCopy(TARGET_ITEM);
net.minecraft.server.v1_16_R3.Item NMS_TARGET_ITEM_DATA = NMS_TARGET_ITEM.getItem();

Multimap<AttributeBase, net.minecraft.server.v1_16_R3.AttributeModifier> N = NMS_TARGET_ITEM_DATA.getAttributesForSlot(EnumItemSlot.MAINHAND);

구글링 하다보니 NMS의 ItemStack에서 getItem()메소드를 이용해서 AttributeModifier를 가져오는 방법이 있던데 제가 봤던 방법은 NMS  v1_12_R1에서 Multimap<String, AttributeModifier>이었는데 NMS 1_16_v3에서는 Multimap<AttributeBase, AttributeModifier>이더라구요.

v1_12_R1에서는 String타입으로 Attribute의 키값으로 이용해서 가져오면 된다고 봤는데 v1_16_R3 AttributeBase는 어떻게 사용해야하는지 모르겠네요.



혹시 전달이 잘 안됬을까봐 제가 봤던 코드 링크도 남깁니다.

https://www.spigotmc.org/threads/how-to-get-attack-damage-attributemodifier-from-an-itemstack-as-displayed-on-items-in-game.284455/


5개의 댓글

superoreo
14 일 전

.getName() 메소드만 없애면 될거같아요 안되시면 다시 말씀주세요 클래스파일 뜯어서 확인해볼게요

superoreo
14 일 전
net.minecraft.server.v1_16_R3.ItemStack craftItemStack = CraftItemStack.asNMSCopy(new org.bukkit.inventory.ItemStack(Material.GOLDEN_AXE));
net.minecraft.server.v1_16_R3.Item craftItem = craftItemStack.getItem();
Multimap<net.minecraft.server.v1_16_R3.AttributeBase, net.minecraft.server.v1_16_R3.AttributeModifier> map = craftItem.a(EnumItemSlot.MAINHAND);
Collection<net.minecraft.server.v1_16_R3.AttributeModifier> attributeModifiers = map.get(net.minecraft.server.v1_16_R3.GenericAttributes.ATTACK_DAMAGE);
APSODE
14 일 전
@superoreo

진짜진짜 존나 감사합니다 ㅠㅠㅠㅠㅠ

덕분에 며칠째 막혀있던 부분 구현할수 있을것 같아요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

 

근데 nms는 직접 IDE에서 디컴파일된 코드 보면서 역할을 유추할수밖에 없는건가요..?

superoreo
14 일 전
@APSODE

님이 원하시는 부분을 찾으시려면 그거를 하셔야죠...?

일단 이거 맞으면 다행이구 spigot-1.16.5.jar 압축푸신다음에 net.minecraft.server.~ 들어가셔서 찾으신담에 뜯어보시면 어느 정도 유추는 되실거에요

APSODE
13 일 전
@superoreo

그렇군요 알려주셔서 감사해요!

뉴스 및 창작물
/files/thumbnails/962/292/003/262x150.crop.jpg?20220820052116

소식

마인크래프트 런처, 한국어가 다시 추가되다

마리오군

2022-08-20

0

/files/thumbnails/778/292/003/262x150.crop.jpg?20220819231430

소식

유니클로 콜라보 상품 출시 1

Dalsu

2022-08-19

0

/files/thumbnails/272/292/003/262x150.crop.jpg?20220819011550

업데이트

마인크래프트 베드락 에디션 프리뷰 및 베타 1.19.30.22 업데이트

Dalsu

2022-08-19

0

/files/thumbnails/906/290/003/262x150.crop.jpg?20220817033652

소식

마인크래프트 JE와 BE 같이 샀던 사람에게도 망토를 제공할 예정 12

마리오군

2022-08-17

1

/files/thumbnails/566/290/003/262x150.crop.jpg?20220816172728

레딧

반응) 조카의 방을 마인크래프트 풍으로 꾸며보았다 1

teara

2022-08-16

3

/files/thumbnails/073/287/003/262x150.crop.jpg?20220812025626

업데이트

마인크래프트 베드락 에디션 프리뷰 및 베타 1.19.30.21 업데이트

Dalsu

2022-08-12

0