org.bukkit.command.CommandException: Unhandled exception executing command 'race' in plugin Russia v1.0.0 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[s.jar:git-Spigot-dcd1643-e60fc34] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[s.jar:git-Spigot-dcd1643-e60fc34] at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) ~[s.jar:git-Spigot-dcd1643-e60fc34] at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1399) [s.jar:git-Spigot-dcd1643-e60fc34] at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1234) [s.jar:git-Spigot-dcd1643-e60fc34] at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [s.jar:git-Spigot-dcd1643-e60fc34] at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [s.jar:git-Spigot-dcd1643-e60fc34] at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [s.jar:git-Spigot-dcd1643-e60fc34] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_241] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_241] at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [s.jar:git-Spigot-dcd1643-e60fc34] at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [s.jar:git-Spigot-dcd1643-e60fc34] at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [s.jar:git-Spigot-dcd1643-e60fc34] at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [s.jar:git-Spigot-dcd1643-e60fc34] at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [s.jar:git-Spigot-dcd1643-e60fc34] at java.lang.Thread.run(Unknown Source) [?:1.8.0_241] Caused by: java.lang.ArrayIndexOutOfBoundsException: 9 at java.util.Arrays$ArrayList.set(Unknown Source) ~[?:1.8.0_241] at net.minecraft.server.v1_12_R1.NonNullList.set(SourceFile:51) ~[s.jar:git-Spigot-dcd1643-e60fc34] at org.bukkit.craftbukkit.v1_12_R1.inventory.CraftInventoryCustom$MinecraftInventory.setItem(CraftInventoryCustom.java:107) ~[s.jar:git-Spigot-dcd1643-e60fc34] at org.bukkit.craftbukkit.v1_12_R1.inventory.CraftInventory.setItem(CraftInventory.java:96) ~[s.jar:git-Spigot-dcd1643-e60fc34] at klaster.main.GUI.openGUI(GUI.java:26) ~[?:?] at klaster.main.Russia.onCommand(Russia.java:54) ~[?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[s.jar:git-Spigot-dcd1643-e60fc34] ... 15 more
@timtower Code:java package klaster.main; import org.bukkit.Bukkit;import org.bukkit.ChatColor;import org.bukkit.Material;import org.bukkit.entity.Player;import org.bukkit.event.EventHandler;import org.bukkit.event.Listener;import org.bukkit.event.inventory.InventoryClickEvent;import org.bukkit.inventory.Inventory; import Util.ItemUtil; public class GUI implements Listener { public static void openGUI(Player p) { Inventory inv = Bukkit.createInventory(null, 9, "Выбор расы."); inv.setItem(0, ItemUtil.create(Material.BLUE_GLAZED_TERRACOTTA, "Даун1")); inv.setItem(1, ItemUtil.create(Material.ANVIL, "Даун2")); inv.setItem(2, ItemUtil.create(Material.BARRIER, "Даун3")); inv.setItem(3, ItemUtil.create(Material.CAKE, "Даун4")); inv.setItem(4, ItemUtil.create(Material.BOOKSHELF, "Даун5")); inv.setItem(5, ItemUtil.create(Material.BONE, "Даун6")); inv.setItem(9, ItemUtil.create(Material.CACTUS, ChatColor.RED + "Выход")); p.openInventory(inv); } @EventHandler public void onInventoryClick (InventoryClickEvent e) { Player p = (Player) e.getWhoClicked(); if (e.getInventory().getName().equalsIgnoreCase("Выбор расы.")) { e.setCancelled(true); if (e.getCurrentItem().getType() == Material.CACTUS) { p.closeInventory(); } else if (e.getCurrentItem().getType() == Material.BLUE_GLAZED_TERRACOTTA) { p.getInventory().addItem(ItemUtil.create(Material.STICK, ChatColor.BOLD + "ТА МНЕ ПОХУЙ ЧЁ ТУТ ПИСАТЬ")); p.setExp(5); p.closeInventory(); } else if (e.getCurrentItem().getType() == Material.ANVIL) { p.getInventory().addItem(ItemUtil.create(Material.STICK, ChatColor.BOLD + "ТВОЯ МАМАША В МОЕЙ КРОВАТИ")); p.setExp(45); p.closeInventory(); } else if (e.getCurrentItem().getType() == Material.BARRIER) { p.getInventory().addItem(ItemUtil.create(Material.STICK, ChatColor.BOLD + "ЛОЛ")); p.setExp(576); p.closeInventory(); } else if (e.getCurrentItem().getType() == Material.CAKE) { p.getInventory().addItem(ItemUtil.create(Material.STICK, ChatColor.BOLD + "КЕК")); p.setExp(24); p.closeInventory(); } else if (e.getCurrentItem().getType() == Material.BOOKSHELF) { p.getInventory().addItem(ItemUtil.create(Material.STICK, ChatColor.BOLD + "Соси")); p.setExp(32); p.closeInventory(); } else if (e.getCurrentItem().getType() == Material.BONE) { p.getInventory().addItem(ItemUtil.create(Material.STICK, ChatColor.BOLD + "ЛОЛОЛОЛОЛДОУЛКЛЫУКЫАВЛАЫД")); p.setExp(86786); p.closeInventory(); } } }} And ItemUtil(this used) package Util; Code:java import java.util.ArrayList; import org.bukkit.Material;import org.bukkit.entity.Item;import org.bukkit.inventory.ItemStack;import org.bukkit.inventory.meta.ItemMeta; public class ItemUtil { public static ItemStack create(Material material, int amount, byte data, String displayName, String lore1, String lore2, String lore3, String lore4) { ItemStack item = new ItemStack(material, amount, data); ItemMeta meta = item.getItemMeta(); if(displayName != null) { meta.setDisplayName(displayName); } ArrayList<String> lore = new ArrayList<String>(); if (lore1 != null) { lore.add(lore1); } if (lore2 != null) { lore.add(lore2); } if (lore3 != null) { lore.add(lore3); } if (lore4 != null) { lore.add(lore4); } meta.setLore(lore); item.setItemMeta(meta); return item; } public static ItemStack create(Material material, String displayName) { return create(material, 1, (byte)0, displayName, null, null, null, null); } public static ItemStack create(Material material, int amount, byte data, String displayName) { return create(material, amount, data, displayName, null, null, null, null); }} @timtower Well? EDIT by Moderator: merged posts, please use the edit button instead of double posting.
@timtower Thx @timtower How can I make the inventory open when a player enters the server? EDIT by Moderator: merged posts, please use the edit button instead of double posting.