Хостинг серверов Minecraft playvds.com
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите NoSuchMethod error.

Тема в разделе "Разработка плагинов для новичков", создана пользователем pro100koder, 9 окт 2018.

  1. Автор темы
    pro100koder

    pro100koder Участник Пользователь

    Баллы:
    31
    Короче, всегда всё работало, но сейчас что-то сломалось :/ В общем, консоль жалуется на строчку 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", т. е. на весь метод :/
     
  2. Mr Hosting
  3. HunterGaming

    HunterGaming Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    HunterGaming13
    А разве ItemStack принимает byte? Кажется short? Не?
     
  4. Автор темы
    pro100koder

    pro100koder Участник Пользователь

    Баллы:
    31
    Я хз, особо не вникал. Я сегодня пытался вообще перевести этот byte на int, с тех пор и пошли баги мармоковые... Потом вернул всё (почти) обратно. Есть идейка одна кстати, просто восстановить старую версию этого утиля, и посмотреть, что будет.... Это я сейчас и сделаю.
     
  5. Автор темы
    pro100koder

    pro100koder Участник Пользователь

    Баллы:
    31
    Nope.
     
  6. HunterGaming

    HunterGaming Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    HunterGaming13
    Я тебе сказал, замени byte на short, должно сработать
     
  7. Klavy

    Klavy Активный участник Пользователь

    Баллы:
    66
    Стэктрейс в студию
     
  8. Автор темы
    pro100koder

    pro100koder Участник Пользователь

    Баллы:
    31
    Ничего не изменилось. И раньше всё работало на byte прекрасно.
     
  9. Автор темы
    pro100koder

    pro100koder Участник Пользователь

    Баллы:
    31
    sorry, but WHAT IS THIS?
     
  10. Exception_Prototype

    Exception_Prototype Активный участник Пользователь

    Баллы:
    76
    Полную ошибку скинь
     
  11. Автор темы
    pro100koder

    pro100koder Участник Пользователь

    Баллы:
    31
    Код:
    [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. Почему бы не скачать бесплатный? Потому, что гладиолус.
     
  12. MurlikMurlik

    MurlikMurlik Активный участник Пользователь

    Баллы:
    76
    Какой IDE пользуешься?
    Такое обычно бывает, когда у тебя ядро как либа в проекте устарела, а на самом сервере, некоторых методов может и не быть. Скопируй ядро сервера и залей это ядро как либу.
     
  13. Автор темы
    pro100koder

    pro100koder Участник Пользователь

    Баллы:
    31
    Хмм.... Может быть, я забыл везде ядро обновить... Сейчас просто удалю без суда и следствия ядро этого серва, и перетащу новое с сервера хаба (от туда ядро я в eclipse указывал)
     
  14. Автор темы
    pro100koder

    pro100koder Участник Пользователь

    Баллы:
    31
    Нет. Ядра и так абсолютно идентичны. По крайней мере, по весу...
     
  15. MurlikMurlik

    MurlikMurlik Активный участник Пользователь

    Баллы:
    76
    А эклипс ругается на то что метод не найден? Или вообще ни о чем не пишет?
    У меня например, если я пытаюсь использовать метод которого нет, он мне сразу пишет что нигде его нет. А так хотя бы, с какой нибудь либы он бы и использовался. Сразу было бы понятно.
    Проверь метод, может быть опечатку допустил или еще чего.
     
  16. Автор темы
    pro100koder

    pro100koder Участник Пользователь

    Баллы:
    31
    И ещё: странно как-то это всё... Раньше всё работало с этим же методом... Хотя я недавно в него добавил тэги (тип неразрушимый), но это исключено, т. к. если ставить null, то всё равно то же самое всё.
     
  17. Cool_boy

    Cool_boy Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    В стактрейсе написано что метод принимает 5 значений. Я бы что-то заподозрил. Попробуй сервер рестартнуть.
     
  18. Автор темы
    pro100koder

    pro100koder Участник Пользователь

    Баллы:
    31
    Не помню, что там за прикол нужно напоминать, когда тебе дают совет, который 99,9% человек уже выполнил... А про 5 значений... Ну, попробую просто в комменты перевести методы, которые по-меньше будут (Там есть методы тупо материал и название, всё без зачаров и тэгов... Хотя я всё равно обычно юзаю именно весь метод.)
     
  19. Автор темы
    pro100koder

    pro100koder Участник Пользователь

    Баллы:
    31
    Код:
    [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. Автор темы
    pro100koder

    pro100koder Участник Пользователь

    Баллы:
    31
    Заработало! Теперь буду как-то по-аккуратнее вводить unbreakable...
     
  21. Автор темы
    pro100koder

    pro100koder Участник Пользователь

    Баллы:
    31
    Боже... Я снова допустил ошибку X Y... Окей, проблема оказывается была не в data, а в этом самом setUnbreakable(true);... Как выставить предмету неразрушимость, если meta.setUnbreakable не работает? Ну или правильно ли я понял, что проблема именно в этом...
     

Поделиться этой страницей