개인 자료란 (JE)

  서버 커뮤니티


Profile 슈슈일기 대표칭호 없음

M_Shushu_diary a68be8ba443e41b086307dca25b4a54b

Profile

강좌 및 개발 개발자란 개발 질문 Java

gui 하는데 버그가 있네요 help!

2022.06.04 조회 수 349 추천 수 0
분야 플러그인 
API 버킷 

help!


7개의 댓글

프로젝트
2022.06.04

일단 함수부터 문제네요. onCommand라고 해줘야 CommandExecutor안에 있는 메소드가 작동되구요 그리고 저 함수는 불타입이므로 마지막에 return false;같은 코드로 반환 해줘야 되요. 그리고 Item을 불러오면 안되구요 ItemStack을 불러 오셔야 됩니다. ItemStack(Material.대충_사용할_아이템) 이런식으로 아이템을 만들어 주시고 인벤토리 슬롯에 i.setItem(index, item);을 넣어 주시고 여는 코드에 return true;로 반환 해주셔야 작동 합니다.

슈슈일기
2022.06.04
@프로젝트
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        Item item = new Item();
        Player p = (Player) sender;
        Inventory i = Bukkit.createInventory(null, 27, "store");
        if (args.length == 0){ return true;
            i.setItem(ItemStack(Material.STAINED_GLASS_PANE, 1, 4));
            p.openInventory(i);

        }
        return false;

}
슈슈일기
2022.06.04
@슈슈일기

이렇게 하는건가요..?

qsef1256
2022.06.04
@슈슈일기

ItemStack

qsef1256
2022.06.04
@슈슈일기

new 를 안하고 ItemStack() 써버리면 ItemStack 이라는 메서드를 찾는겁니다, 될 리가 없어요

Nexus
2022.06.04
@슈슈일기

ItemStack()가 아닌 new ItemStack() 형식으로 앞에 new를 붙여서 객체를 할당 해주셔야 합니다

WintChoco
2022.06.04
@슈슈일기

if (args.length == 0){ return true;

i.setItem(ItemStack(Material.STAINED_GLASS_PANE, 1, 4));

p.openInventory(i);

}

return true;가 } 앞에 있어야할듯합니다.

 

if (args.length == 0){

i.setItem(new ItemStack(Material.STAINED_GLASS_PANE, 1, 4));

p.openInventory(i);

return true;

}


return이 호출되면 그 뒤에 있는 코드는 무시하고 함수 실행을 끝냅니다. return은 모든 작업이 끝난 후 이뤄져야합니다.