개인 자료란 (JE)

  서버 커뮤니티

Profile 김푸유 대표칭호 없음

poui_ a533b79dbebd472f92761a8bd39d66e8

Profile

질문하기 Java

custom skull 머리에 씌우기 금지, 인벤토리 이동 관련

2022.01.19 조회 수 69 추천 수 0
이해도 플러그인 

custom skull (서버에서 아이템으로 쓰임)을 인벤토리에서 쉬프트 좌클릭, 우클릭하면 플레이어의 머리로 이동하는 현상을 막으려고 이를 취소시키면서, 핫바에서 클릭하면 인벤토리로, 인벤토리에서 클릭하면 핫바로 아이템이 이동됐으면 좋겠습니다.


아래 코드는 클릭이벤트 자체를 취소시켜 아이템이 이동하지가 않는데 해결할 수 있는 방법이 있을까요?

@EventHandler
    public void onClick(InventoryClickEvent e) {
        if (e.getRawSlot() != -999 && e.getCurrentItem() != null && e.getClickedInventory() != null) {
            if (e.getWhoClicked() instanceof Player) {
                Player p = (Player) e.getWhoClicked();
// 머리에 직접 넣으려고 하는 경우
                if (p.getOpenInventory().getType() == InventoryType.CRAFTING){
                    if (e.getRawSlot() == 5 && e.getCursor().getType() == Material.SKULL_ITEM && e.getCursor().getItemMeta().getDisplayName() != null){
                        e.setCancelled(true);
                    }
// 쉬프트 좌클릭, 우클릭을 통해 넣으려고 하는 경우
                    else if ((e.getClick() == ClickType.SHIFT_LEFT || e.getClick() == ClickType.SHIFT_RIGHT) && p.getInventory().getItem(103) == null && e.getCurrentItem().getType() == Material.SKULL_ITEM && e.getCurrentItem().getItemMeta().getDisplayName() != null){
                        e.setCancelled(true);
                    }
                }
            }
        }
    }

1개의 댓글

개발자토미
2022.01.20

cancel 시킨 다음 에 해당 아이템을 제거 후, 핫바나 인벤토리에 추가시키는 방식으로 하면 될 것 같습니다.

뉴스 및 창작물
/files/thumbnails/308/815/003/262x150.crop.jpg?20240617084353

레드스톤

[피아노커버] 디스코드 - QWER

노트블럭전문가

2024-06-17

1

/files/thumbnails/932/812/003/262x150.crop.jpg?20240617231949

업데이트

마인크래프트 1.21 정식 업데이트

학교가기싫다

2024-06-14

1

/files/thumbnails/308/805/003/262x150.crop.jpg?20240605201646

레드스톤

[노트블럭 커버] 팬서비스/mona 【 HoneyWorks 】

노트블럭전문가

2024-06-05

0

/files/thumbnails/288/791/003/262x150.crop.jpg?20240602150002

아티클

《까다로운 시련》 업데이트 날짜 공개 및 정보

학교가기싫다

2024-06-02

0

/files/thumbnails/841/773/003/262x150.crop.jpg?20240526120908

레드스톤

마인크래프트 노트블록버전 『 봄을 고하다 (春を告げる) 』 [더블옥타브 버전]

노트블럭전문가

2024-05-26

0