개인 자료란 (JE)

  서버 커뮤니티

Profile hetame 대표칭호 없음
Profile

질문하기 스크립트

mythicmobs 에서 추가한 아이템을 skript로 인식하는 법 아시나요?

2024.07.05 조회 수 172 추천 수 0
이해도 중급자 
게임버전 (JE) 1.20 
게임버전 (BE) 1.20.x 
스크립트 버전 2.7.3 

skript 에서 itemsadder 로 추가한 아이템 같은 경우는
if player has paper with custom model data 10288 named "&a&l직업 선택권":
이렇게 해서 인식이 됐는데

mythicmobs 에서 items 에

bronz_coin:

  Id: PAPER

  Display: "&4&l하급 사냥터 코인"

  Model: 10415

이렇게 추가한 아이템을 if player has paper with custom model data 10415 named "&4&l하급 사냥터 코인":
이렇게 인식하려 하니까 안되서 tag를 보니 nbt에 MYTHIC_TYPE:"bronze_coin" 이게 추가로 들어가있어서 그런거같은데
혹시 방법 아시는분 계신가요?

4개의 댓글

windy_wind
2024.07.05

1) skript-reflect 사용하기

이거 참고해보세요

https://www.koreaminecraft.net/plugin_lecture/3809016

(mythicmobs에 플러그인을 압축폴더 미리하기한 후, 열린곳에서 item을 가져오는 클래스 import해서 쓰기 있다면..)

 

2)skbee를 써서 nbt 감지하기:

https://skripthub.net/docs/?id=10689

 

ex) tag를 쓰는법은 다음과 같습니다

set {_tag} to tag "Item;tag;CustomPotionEffects" of {_nbt} #커맨드로는 item.tag.CustomPotionEffects 일 것입니당 (.을 ;로 바꾼것임)

set {_motion::*} to double list tag "Motion" of nbt compound of {_p} # tag 타입을 지정하면서 값을 가져옵니다

 

이해가 안되시면 언제든 물어보세용

슈퍼레몬
2024.07.05

1)의 경우에는 조금 다릅니다. 저기서는 경로를 가져오지만, 직접 java파일 열어서 package+public main뒤 글자를 impotr 해야 합니다. 위키 보시는걸 권장합니다.

hetame
2024.07.08

혹시 이거 검색으로 들어오신 분들을 위해 해결 방법 적습니다

set {_itemAmount} to 0

loop all items in player's inventory:

@set {_item} to loop-item

@ set {_nbttag} to nbt of {_item}

@set {_mythicType} to tag "MYTHIC_TYPE" of {_nbttag}

@if {_mythicType} is "bronze_coin":

@@set {_itemAmount} to amount of {_item} in player's inventory

저는 이렇게 했습니다

탱글
2024.10.08
@hetame

set {_mythicType} to tag "MYTHIC_TYPE" of {_nbttag}

에서 오류가 나네요