[Решено] Возращает null, работа с инвентарями и конфигами

Статус
Закрыто для дальнейших ответов.

SashaBrine

Активный участник
Пользователь
Баллы
76
Нужно исправить ошибку
Код:
    @EventHandler
    public void onClick(InventoryClickEvent e) {
        if (e.getCurrentItem().getType() == Material.AIR) return;
        if (e.getInventory().getSize()==36 && e.getInventory().getTitle().equals("Обьявления")) {
            File bc = new File(plugin.getDataFolder()+File.separator+"broadcasts.yml");
            FileConfiguration broadcasts = YamlConfiguration.loadConfiguration(bc);
            
            Player p = (Player) e.getWhoClicked();
            Inventory i = Bukkit.createInventory(null, 1*9, Color.RED+"Потверждение");
        
            ItemStack itemAccept = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 0);
            ItemStack itemEdit = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 2);
            ItemStack itemDecline = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 4);
            
            ItemMeta metaAccept = itemAccept.getItemMeta();
            ItemMeta metaEdit = itemEdit.getItemMeta();
            ItemMeta metaDecline = itemDecline.getItemMeta();
            
            metaAccept.setDisplayName("§r§lПринять");
            metaEdit.setDisplayName("§6§lИзменить");
            metaDecline.setDisplayName("§c§lОтклонить");
            
            itemAccept.setItemMeta(metaAccept);
            itemEdit.setItemMeta(metaEdit);
            itemDecline.setItemMeta(metaDecline);
            
            i.setItem(1, itemAccept);
            i.setItem(2, itemAccept);
            i.setItem(3, itemAccept);
            i.setItem(4, itemEdit);
            i.setItem(5, itemEdit);
            i.setItem(6, itemEdit);
            i.setItem(7, itemDecline);
            i.setItem(8, itemDecline);
            i.setItem(9, itemDecline);
            for (String s : broadcasts.getKeys(false)) {
                ConfigurationSection cs = broadcasts.getConfigurationSection(s);
                if (cs.getString("owner").equals(e.getCurrentItem().getItemMeta().getDisplayName())) {
                    if (cs.getString("editor") != null)  {
                        p.sendMessage("§cЭто обьявление уже кто-то редактирует");
                        return;
                    
                    } else if (cs.getString("editor") == null) {
                        cs.set("editor", p.getName());
                        broadcasts.set(cs.getString("id"), cs);
                        try {
                            broadcasts.save(bc);
                        } catch (IOException e1) {
                            e1.printStackTrace();
                        }
                    }
                }
            }           
            p.closeInventory();
            p.openInventory(i);
            

            
            e.setCancelled(true);
Код:
'1':
  id: 1
  owner: IJustFortiLive
  message: 'Привет мир '
'2':
  id: 2
  owner: MisterKirya
  message: ''
Код:
[15:33:38 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'kick' in plugin CustomBans v1.4
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[patched_1.12.2.jar:git-Paper-1618]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:152) ~[patched_1.12.2.jar:git-Paper-1618]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:685) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1492) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1297) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:5) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14) ~[patched_1.12.2.jar:git-Paper-1618]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_292]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_292]
        at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:850) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[patched_1.12.2.jar:git-Paper-1618]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
Caused by: java.lang.NoClassDefFoundError: ru/tehkode/permissions/bukkit/PermissionsEx
        at me.itzrex.custombans.commands.KickCommand.onCommand(KickCommand.java:61) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[patched_1.12.2.jar:git-Paper-1618]
        ... 15 more
Caused by: java.lang.ClassNotFoundException: ru.tehkode.permissions.bukkit.PermissionsEx
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_292]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:156) ~[patched_1.12.2.jar:git-Paper-1618]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:104) ~[patched_1.12.2.jar:git-Paper-1618]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_292]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_292]
        at me.itzrex.custombans.commands.KickCommand.onCommand(KickCommand.java:61) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[patched_1.12.2.jar:git-Paper-1618]
        ... 15 more
 
Ошибка вообще не с тем связана - ищи в коде команды /kick. Жалуется на отсутствие PEx на сервере. Зачем тебе PEx в коде я, впрочем, не знаю.
 
Код:
[16:57:09 ERROR]: Could not pass event InventoryClickEvent to FMeria v1.0
org.bukkit.event.EventException: null
        at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:72) ~[patched_1.12.2.jar:git-Paper-1618]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.12.2.jar:git-Paper-1618]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.12.2.jar:git-Paper-1618]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:2002) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.PacketPlayInWindowClick.a(SourceFile:33) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.PacketPlayInWindowClick.a(SourceFile:10) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14) ~[patched_1.12.2.jar:git-Paper-1618]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_292]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_292]
        at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:850) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[patched_1.12.2.jar:git-Paper-1618]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[patched_1.12.2.jar:git-Paper-1618]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
Caused by: java.lang.ArrayIndexOutOfBoundsException
 
Продолжений нет но выход возможен
 
i.setItem(1, itemAccept); i.setItem(2, itemAccept); i.setItem(3, itemAccept); i.setItem(4, itemEdit); i.setItem(5, itemEdit); i.setItem(6, itemEdit); i.setItem(7, itemDecline); i.setItem(8, itemDecline); i.setItem(9, itemDecline);
Это возможно это
Полный лог
Код:
[18:34:28] [Server thread/ERROR]: Could not pass event InventoryClickEvent to FMeria v1.0
org.bukkit.event.EventException: null
    at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:72) ~[patched_1.12.2.jar:git-Paper-1618]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.12.2.jar:git-Paper-1618]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.12.2.jar:git-Paper-1618]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[patched_1.12.2.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:2002) ~[patched_1.12.2.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.PacketPlayInWindowClick.a(SourceFile:33) ~[patched_1.12.2.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.PacketPlayInWindowClick.a(SourceFile:10) ~[patched_1.12.2.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14) ~[patched_1.12.2.jar:git-Paper-1618]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_292]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_292]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) ~[patched_1.12.2.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:850) ~[patched_1.12.2.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[patched_1.12.2.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[patched_1.12.2.jar:git-Paper-1618]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[patched_1.12.2.jar:git-Paper-1618]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
Caused by: java.lang.ArrayIndexOutOfBoundsException: 9
    at java.util.Arrays$ArrayList.set(Arrays.java:3846) ~[?:1.8.0_292]
    at net.minecraft.server.v1_12_R1.NonNullList.set(SourceFile:51) ~[patched_1.12.2.jar:git-Paper-1618]
    at org.bukkit.craftbukkit.v1_12_R1.inventory.CraftInventoryCustom$MinecraftInventory.setItem(CraftInventoryCustom.java:107) ~[patched_1.12.2.jar:git-Paper-1618]
    at org.bukkit.craftbukkit.v1_12_R1.inventory.CraftInventory.setItem(CraftInventory.java:96) ~[patched_1.12.2.jar:git-Paper-1618]
    at FMeria.main.Handler.onClick(Handler.java:63) ~[?:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor25.execute(Unknown Source) ~[?:?]
    at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[patched_1.12.2.jar:git-Paper-1618]
    ... 15 more
Возращает 9 возможно это из-за того что я без тестирования попробовал установить предмет без проверки индексации
 
Я и так сказал сейчас попробую если сработает закрываю тему
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх