개인 자료란 (JE)

  서버 커뮤니티

자료란에 모든 게시글은 반드시 자료란 글작성 가이드를 준수해야합니다. 글 작성 전에 반드시 확인해주세요!

한국 마인크래프트 포럼

마인크래프트 자료 및 커뮤니티 플랫폼

전체 회원수 122,997명 ( +37명 )

※ 장기간 미활동 회원 제외

Profile 브혼 개발자

Vhone dc73ee51d49946dabf4f634c6e3ce5c6

Profile

자료란new 공통new 리뷰, 강좌new 스크립트

[팁] [픽스] 1.13+ 버전에서는 name of inventory가 안됩니다. (해결법 세가지)

2020.05.13 조회 수 1229 추천 수 0

근래에 연달아 같은 질문을 받아서 정확한 답변을 위해 팁글로 남깁니다.


skript 버전에 상관없이 마인크래프트 버전이 1.13 이상이면 name of inventory가 안됩니다.

1.13부터 inventory를 다루는 API가 바뀌었기 때문입니다.


이 문제는 두가지 방법으로 해결 할 수 있습니다.


* Skript 2.5-beta1에서 Fix되었습니다. name of inventory 동작합니다!



command /guiopen:
    trigger:
        set {_title} to "인벤토리이름"
        open chest inventory with 6 row named {_title} to player
        set {Open.GUI::%player%} to {_title} #/*인벤토리를 열 떄 세팅합니다.*/

on inventory click:
    if {Open.GUI::%player%} is "인벤토리이름":
        # ~~

on inventory close:
    if {Open.GUI::%player%} is "인벤토리이름":
        clear {Open.GUI::%player%} #/*인벤토리를 닫을 떄 지워야 합니다.*/
        # ~~

첫번째 방법은 인벤토리를 열어 줄 때, 이벤트에서 조건문을 걸어 줄 수 있는 변수를 설정하는 것 입니다.

이 방법은 애드온 없이 할 수 있지만 특정 인벤토리를 여는 것을 알 수 있을 때 적용 가능합니다.

예를 들어, 예문처럼 open 이펙트로 열어준다거나 플러그인에서 명령어로 인벤토리를 여는 경우입니다.

명령어로 인벤토리를 연다면 on command 이벤트에서 변수를 세팅해주면 되겠죠.



// 스래드 - https://forums.skunity.com/threads/how-can-i-get-inventory-name-in-1-14-4.10301
import:
    org.bukkit.event.inventory.InventoryClickEvent
 
on InventoryClickEvent:
    if event.getView().getTitle() contains "your title":

두번째 방법은 Skript-Mirror 애드온을 사용하여 직접 변경된 API를 사용하는 방법입니다.

이 방법은 Bukkit API를 다룰 수 있어야 하지만, 인벤토리의 실질적인 이름을 사용하기 때문에 어느 상황에서든 적용 가능합니다.



if inventory name of current inventory of player = "Settings":

세번째 방법은 SkBee 애드온을 사용한 방법입니다. 이 애드온은 기존에 사용하던 표현식이 동작하도록 해줍니다.

SkBee 애드온은 인벤토리 외 NBT, 커스텀레시피, 커스텀레시피북, 건축데이터 등등 최신버전에 맞는 다양한 기능을 가지고 있습니다.


Skbee 애드온은 Shane Bee(샤인비)라는 외국유저분이 만든 애드온입니다.

샤인비님은 정말 오랬동안 버킷과 스크립트에 관여해 오신 개발자입니다.

Skellett와 마찬가지로 앞으로도 꾸준한 업데이트를 기대할 수 있는 애드온이기 때문에 추천드립니다.



4개의 댓글

느으너앍
2021.06.10

[SkBee] Enabling SkBee v1.10.2

[SkBee] Dependency Skript was not found, plugin disabling

[SkBee] Disabling SkBee v1.10.2

라는 문구가 뜨며 skbee가 작동되지 않습니다..

스크립트는 최신버전 사용중이며 paper서버, 버전은 1.16.5 입니다.

브혼
2021.06.10
@느으너앍

모든 애드온은 Skript 플러그인에 의존하게 설정되어 있는데, 플러그인 로드 중 Skript를 찾지 못했다는 의미입니다.

이유는... 잘 모르겠네요. 서버와 스크립트는 공식 사이트에서 받으신건가요?

느으너앍
2021.06.17
@브혼

넵..공식 사이트에서 받았습니다. 최신버전을 다운 받기 전부터 발생하던 문제였습니다... 개인 서버는 작동이 잘 되는데 운영중인 서버에서는 작동이 안됩니다 ㅠㅠ

DARAMJI
2020.05.30

초크님의 SkChoke 애드온 iname, icname 도 있다지만, 이런 방법도 있었군요.

컨텐츠
https://www.koreaminecraft.net/files/thumbnails/180/890/002/262x150.crop.jpg?20211025201038

시험지

한마탐 5주차 (한마포 마인크래프트 탐구 영역) (10 / 25) 3

베개냥이

2021-10-25

2

https://www.koreaminecraft.net/files/thumbnails/291/881/002/262x150.crop.jpg?20211021165153

데일리픽

초간단 전투기 만들기 8

megat88

2021-10-20

4

https://www.koreaminecraft.net/files/thumbnails/850/878/002/262x150.crop.jpg?20211018191640
(포션 시리즈) 3편 - 비 3

GlassesFilm

2021-10-18

4