개인 자료란 (JE)

  서버 커뮤니티

Profile 빛나는토마토 대표칭호 없음

Tomato105 4a7a3e2f6add4cc7bbe412b198b15cbd

Profile

질문하기 Java

새싹 질문22

2022.02.08 조회 수 95 추천 수 0
이해도 플러그인 
게임버전 (JE) 버킷 

인벤토리를 만들어서 플레이어에게 띄울려면 어떻게 해야 하나요?

public static void editItem(ItemStack itemStack, String name) {
    ItemMeta itemMeta = itemStack.getItemMeta();
    itemMeta.setDisplayName(name);
    itemStack.setItemMeta(itemMeta);
}
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
    Player p = (Player) sender;
    ItemStack frame = new ItemStack(Material.GRAY_STAINED_GLASS, 1);
    editItem(frame, " ");
    if (args.length == 0) {
    }
    Inventory inv = Bukkit.createInventory(null, 54, "INVENTORY");
    for (int i = 0; i <= 54; ++i) {
        inv.setItem(i, frame);
    }
    return false;
}

위 코드에서 문제가 발생 하였는데 왜ㅐ 그런지 모르겠네요...

4개의 댓글

MineStar
2022.02.08

p.openInventory(inv);

빛나는토마토
2022.02.09
@MineStar

답변 감사드립니다!

Inventory를 만들려면 어떻게 해야 하나요?

MineStar
2022.02.09
@빛나는토마토

작성글에 있는 Inventory inv = Bukkit.createInventory(null, 54, "INVENTORY"); 로 사용하시면 됩니다.

 

저도 그렇게 사용합니다.

 

예문 (언어 : 코틀린)

 

class FishList(override val player: Player, val page: MutableList>) : GUI {

override val pl = Main.pl

override val gui = Bukkit.createInventory(null, 9 * 6, "물고기 도감")

 

var pageNumber = 0

 

val button = listOf(

Slot(5, 0, head(8895).display("§9[§f이전 페이지§9]")),

Slot(5, 4, head(14035).display("§9[§f${pageNumber + 1} 페이지§9]").amount(pageNumber + 1)),

Slot(5, 8, head(8893).display("§9[§f다음 페이지§9]")),

)

 

init {

openGUI()

}

 

override fun displaying() {

gui.clear()

for ((int, fish) in page[pageNumber].withIndex()) gui.setItem(int, fish.statusItem())

for (slot in button) gui.setItem(slot.get, slot.item)

} ...

늅늅
2022.02.08

버킷 보면서 어느 부분에서 오류가 났는지 분석하시면 됩니다