개인 자료란 (JE)

  서버 커뮤니티

Profile APSODE 대표칭호 없음
Profile

이해도 플러그인 


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개의 댓글

0reo
2022.08.06

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

0reo
2022.08.06
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
2022.08.06
@0reo

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

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

 

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

0reo
2022.08.06
@APSODE

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

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

APSODE
2022.08.06
@0reo

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

뉴스 및 창작물
/files/thumbnails/268/789/003/262x150.crop.jpg?20240515192032

레드스톤

벌레먹은 돌 빠르게 제거하는 법

GlassesFilm

2024-05-15

0

/files/thumbnails/797/788/003/262x150.crop.jpg?20240515090924

건축

마인크래프트로 구현한 카르카손 보드게임

Warak

2024-05-15

1

/files/thumbnails/487/784/003/262x150.crop.jpg?20240508233607

모드

Windows Borderless 모드에서 악성코드 발견 2

학교가기싫다

2024-05-08

1

/files/thumbnails/384/778/003/262x150.crop.jpg?20240512002324

업데이트

마인크래프트 자바 에디션 스냅샷 24w18a

학교가기싫다

2024-05-06

0

/files/thumbnails/855/781/003/262x150.crop.jpg?20240505141129

레드스톤

레이저 클리너

GlassesFilm

2024-05-05

1