Помогите NoSuchMethod error.

pro100koder

Активный участник
Пользователь
Баллы
76
Короче, всегда всё работало, но сейчас что-то сломалось :/ В общем, консоль жалуется на строчку 60
Код:
return ItemUtil.create(Material.WOOD_SPADE, 1, (byte) 0, ChatColor.GOLD+"Лопата", retlore, ench, elvl, new String[]{"unbreak"});
с ошибкой "NoSuchMethodError". Что ж, вот и сам метод в студию:
Код:
public static ItemStack create(Material material, int amount, byte data, String DisplayName, String[] lore1, Enchantment[] ench, int[] lvl, String[] tags) {
        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){
            for(int i=0;i<lore1.length;i++){
                lore.add(lore1[i]);
            }
        }
        meta.setLore(lore);
        if(tags != null){
            for(String st:tags){
                if(st.equals("unbreak")){
                    meta.setUnbreakable(true);
                }
            }
        }
        if(ench != null){
            for(int i=0;i<ench.length;i++){
            meta.addEnchant(ench[i], lvl[i], true);
            }
        }
        item.setItemMeta(meta);
        return item;
    }
При чём, если я буду делать такой же предмет, но без data, то всё работает! Но я не хочу терять возможность выставлять дату. Жалуется именно на эту, и не на какую строку... Если бы в ошибке указали, какая именно строчка глючит в itemUtil-e, я бы эту тему не создавал. А так, она жалуется именно на слово "create", т. е. на весь метод :/
 
Короче, всегда всё работало, но сейчас что-то сломалось :/ В общем, консоль жалуется на строчку 60
Код:
return ItemUtil.create(Material.WOOD_SPADE, 1, (byte) 0, ChatColor.GOLD+"Лопата", retlore, ench, elvl, new String[]{"unbreak"});
с ошибкой "NoSuchMethodError". Что ж, вот и сам метод в студию:
Код:
public static ItemStack create(Material material, int amount, byte data, String DisplayName, String[] lore1, Enchantment[] ench, int[] lvl, String[] tags) {
        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){
            for(int i=0;i<lore1.length;i++){
                lore.add(lore1[i]);
            }
        }
        meta.setLore(lore);
        if(tags != null){
            for(String st:tags){
                if(st.equals("unbreak")){
                    meta.setUnbreakable(true);
                }
            }
        }
        if(ench != null){
            for(int i=0;i<ench.length;i++){
            meta.addEnchant(ench[i], lvl[i], true);
            }
        }
        item.setItemMeta(meta);
        return item;
    }
При чём, если я буду делать такой же предмет, но без data, то всё работает! Но я не хочу терять возможность выставлять дату. Жалуется именно на эту, и не на какую строку... Если бы в ошибке указали, какая именно строчка глючит в itemUtil-e, я бы эту тему не создавал. А так, она жалуется именно на слово "create", т. е. на весь метод :/
А разве ItemStack принимает byte? Кажется short? Не?
 
А разве ItemStack принимает byte? Кажется short? Не?
Я хз, особо не вникал. Я сегодня пытался вообще перевести этот byte на int, с тех пор и пошли баги мармоковые... Потом вернул всё (почти) обратно. Есть идейка одна кстати, просто восстановить старую версию этого утиля, и посмотреть, что будет.... Это я сейчас и сделаю.
 
Я хз, особо не вникал. Я сегодня пытался вообще перевести этот byte на int, с тех пор и пошли баги мармоковые... Потом вернул всё (почти) обратно. Есть идейка одна кстати, просто восстановить старую версию этого утиля, и посмотреть, что будет.... Это я сейчас и сделаю.
Nope.
 
Полную ошибку скинь
Код:
[17:01:04] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'upgrade' in plugin prison v1337
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:641) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1385) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1220) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_172]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_172]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:747) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_172]
Caused by: java.lang.NoSuchMethodError: utils.ItemUtil.createNoData(Lorg/bukkit/Material;ILjava/lang/String;[Ljava/lang/String;[Lorg/bukkit/enchantments/Enchantment;[I[Ljava/lang/String;)Lorg/bukkit/inventory/ItemStack;
    at prison.GUI.upitem(GUI.java:60) ~[?:?]
    at prison.GUI.upgrade(GUI.java:26) ~[?:?]
    at cmds.upgrade.onCommand(upgrade.java:19) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    ... 15 more
[17:01:26] [Server thread/INFO]: Gepiroy issued server command: /upgrade
И да, делаю некий prison. Почему бы не скачать бесплатный? Потому, что гладиолус.
 
Код:
[17:01:04] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'upgrade' in plugin prison v1337
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:641) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1385) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1220) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_172]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_172]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:747) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_172]
Caused by: java.lang.NoSuchMethodError: utils.ItemUtil.createNoData(Lorg/bukkit/Material;ILjava/lang/String;[Ljava/lang/String;[Lorg/bukkit/enchantments/Enchantment;[I[Ljava/lang/String;)Lorg/bukkit/inventory/ItemStack;
    at prison.GUI.upitem(GUI.java:60) ~[?:?]
    at prison.GUI.upgrade(GUI.java:26) ~[?:?]
    at cmds.upgrade.onCommand(upgrade.java:19) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    ... 15 more
[17:01:26] [Server thread/INFO]: Gepiroy issued server command: /upgrade
И да, делаю некий prison. Почему бы не скачать бесплатный? Потому, что гладиолус.
Какой IDE пользуешься?
Такое обычно бывает, когда у тебя ядро как либа в проекте устарела, а на самом сервере, некоторых методов может и не быть. Скопируй ядро сервера и залей это ядро как либу.
 
Какой IDE пользуешься?
Такое обычно бывает, когда у тебя ядро как либа в проекте устарела, а на самом сервере, некоторых методов может и не быть. Скопируй ядро сервера и залей это ядро как либу.
Хмм.... Может быть, я забыл везде ядро обновить... Сейчас просто удалю без суда и следствия ядро этого серва, и перетащу новое с сервера хаба (от туда ядро я в eclipse указывал)
 
Хмм.... Может быть, я забыл везде ядро обновить... Сейчас просто удалю без суда и следствия ядро этого серва, и перетащу новое с сервера хаба (от туда ядро я в eclipse указывал)
Нет. Ядра и так абсолютно идентичны. По крайней мере, по весу...
 
Нет. Ядра и так абсолютно идентичны. По крайней мере, по весу...
А эклипс ругается на то что метод не найден? Или вообще ни о чем не пишет?
У меня например, если я пытаюсь использовать метод которого нет, он мне сразу пишет что нигде его нет. А так хотя бы, с какой нибудь либы он бы и использовался. Сразу было бы понятно.
Проверь метод, может быть опечатку допустил или еще чего.
 
вообще ни о чем не пишет
И ещё: странно как-то это всё... Раньше всё работало с этим же методом... Хотя я недавно в него добавил тэги (тип неразрушимый), но это исключено, т. к. если ставить null, то всё равно то же самое всё.
 
Код:
[17:01:04] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'upgrade' in plugin prison v1337
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:641) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1385) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1220) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_172]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_172]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:747) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_172]
Caused by: java.lang.NoSuchMethodError: utils.ItemUtil.createNoData(Lorg/bukkit/Material;ILjava/lang/String;[Ljava/lang/String;[Lorg/bukkit/enchantments/Enchantment;[I[Ljava/lang/String;)Lorg/bukkit/inventory/ItemStack;
    at prison.GUI.upitem(GUI.java:60) ~[?:?]
    at prison.GUI.upgrade(GUI.java:26) ~[?:?]
    at cmds.upgrade.onCommand(upgrade.java:19) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    ... 15 more
[17:01:26] [Server thread/INFO]: Gepiroy issued server command: /upgrade
И да, делаю некий prison. Почему бы не скачать бесплатный? Потому, что гладиолус.
В стактрейсе написано что метод принимает 5 значений. Я бы что-то заподозрил. Попробуй сервер рестартнуть.
 
В стактрейсе написано что метод принимает 5 значений. Я бы что-то заподозрил. Попробуй сервер рестартнуть.
Не помню, что там за прикол нужно напоминать, когда тебе дают совет, который 99,9% человек уже выполнил... А про 5 значений... Ну, попробую просто в комменты перевести методы, которые по-меньше будут (Там есть методы тупо материал и название, всё без зачаров и тэгов... Хотя я всё равно обычно юзаю именно весь метод.)
 
Не помню, что там за прикол нужно напоминать, когда тебе дают совет, который 99,9% человек уже выполнил... А про 5 значений... Ну, попробую просто в комменты перевести методы, которые по-меньше будут (Там есть методы тупо материал и название, всё без зачаров и тэгов... Хотя я всё равно обычно юзаю именно весь метод.)
Код:
[20:10:37] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'upgrade' in plugin prison v1337
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:641) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1385) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1220) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_172]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_172]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:747) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_172]
Caused by: java.lang.NoSuchMethodError: utils.ItemUtil.create(Lorg/bukkit/Material;ISLjava/lang/String;[Ljava/lang/String;[Lorg/bukkit/enchantments/Enchantment;[I[Ljava/lang/String;)Lorg/bukkit/inventory/ItemStack;
    at prison.GUI.upgrade(GUI.java:23) ~[?:?]
    at cmds.upgrade.onCommand(upgrade.java:19) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    ... 15 more
Всё то же самое, ток теперь не работает вообще ничего, что связано с itemutil-ем... Попробую тогда восстановить версию БЕЗ поддержки unbreakable (Посл. версия без этого бага)
 
Код:
[20:10:37] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'upgrade' in plugin prison v1337
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:641) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1385) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1220) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_172]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_172]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:747) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-596221b-9a1fc1e]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_172]
Caused by: java.lang.NoSuchMethodError: utils.ItemUtil.create(Lorg/bukkit/Material;ISLjava/lang/String;[Ljava/lang/String;[Lorg/bukkit/enchantments/Enchantment;[I[Ljava/lang/String;)Lorg/bukkit/inventory/ItemStack;
    at prison.GUI.upgrade(GUI.java:23) ~[?:?]
    at cmds.upgrade.onCommand(upgrade.java:19) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-596221b-9a1fc1e]
    ... 15 more
Всё то же самое, ток теперь не работает вообще ничего, что связано с itemutil-ем... Попробую тогда восстановить версию БЕЗ поддержки unbreakable (Посл. версия без этого бага)
Заработало! Теперь буду как-то по-аккуратнее вводить unbreakable...
 
Боже... Я снова допустил ошибку X Y... Окей, проблема оказывается была не в data, а в этом самом setUnbreakable(true);... Как выставить предмету неразрушимость, если meta.setUnbreakable не работает? Ну или правильно ли я понял, что проблема именно в этом...
 
Назад
Верх