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

Помогите Не сравнивается название

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

Статус темы:
Закрыта.
  1. Автор темы
    Kurumi

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

    Баллы:
    76
    При клике игрока на блок или воздух, мне нужно проверить, есть ли у него в руке предмет из конфига, и если есть, то проверить название. Когда пытаюсь сравнить название предмета с тем что в конфиге, выбивает null pointer exception. Ругается на строку с проверкой имени предмета.
    PHP:
    ItemStack ItemPhone = new ItemStack(Material.getMaterial(main.getConfig().getString("settings.Item")));
            if(
    e.getAction().equals(Action.RIGHT_CLICK_AIR) || e.getAction().equals(Action.RIGHT_CLICK_BLOCK))
            {
                if(
    e.getPlayer().getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase("Железный слиток"))
                {
                if (
    e.getPlayer().getItemInHand().getType() == Material.getMaterial(main.getConfig().getString("settings.Item")))
                {
                    
    DialGUI.openSmartphoneScreen(e.getPlayer());
                    
    DialGUI.activated true;  
                }
                }
            }
     
  2. DaemanS

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

    Баллы:
    76
    Имя в Minecraft:
    DaemaNSpawn
    А если у игрока клиент на английском :) ?
     
  3. Автор темы
    Kurumi

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

    Баллы:
    76
    Это чисто для теста. Название берется из конфига
     
  4. DaemanS

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

    Баллы:
    76
    Имя в Minecraft:
    DaemaNSpawn
    В java особо не разбираюсь, может еще попробуешь вписать теги &r&f или &r
     
  5. Автор темы
    Kurumi

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

    Баллы:
    76
    Не поможет
     
  6. Автор темы
    Kurumi

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

    Баллы:
    76
    Хелпаните народ
     
  7. Автор темы
    Kurumi

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

    Баллы:
    76
    PHP:
    [00:12:04] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to Dial v2.1
    org
    .bukkit.event.EventException
        at org
    .bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        
    at org.bukkit.craftbukkit.v1_11_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:234) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        
    at net.minecraft.server.v1_11_R1.PlayerInteractManager.a(PlayerInteractManager.java:448) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        
    at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:913) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        
    at net.minecraft.server.v1_11_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        
    at net.minecraft.server.v1_11_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:1) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        
    at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_161]
        
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_161]
        
    at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        
    at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:747) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        
    at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        
    at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        
    at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_161]
    Caused byjava.lang.NullPointerException
        at me
    .pvpdog.dial.Utils.getColor(Utils.java:11) ~[?:?]
        
    at me.pvpdog.dial.BuyPhone.interactEvent(BuyPhone.java:38) ~[?:?]
        
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
        
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
        
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
        
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
        
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        ... 
    17 more
    [00:13:39] [Server thread/INFO]: CONSOLE: [0;31;1mPlease note that this command is not supported and may cause issues when using some plugins.[m
    PHP:
    messages:
      
    prefix'&9&l[&a&lТелефон&9&l] &7&l> '
      
    already'&4У вас уже есть телефон!'
      
    buyPhone'&aВы купили телефон! Теперь вы современный'
      
    notMoney'&4У вас недостаточно денег!'
    CallFormat:
      
    to'&a&l[Вы] (&c&l%number%&7&l/&c&l%player%&a&l) &7&l > &9&l%msg%'
      
    from'&a&l[Вам] (&c&l%number%&7&l/&c&l%player%&a&l) &7&l > &9&l%msg%'
    settings:
      
    ItemIRON_INGOT
      PhoneName
    '&9&lТелефон игрока &c&l%player%'
      
    pricePhone250
    signFormat
    :
      
    FirstLinetest
      TwoLine
    test
      ThreeLine
    test
      FourLine
    test
    Main класс большой. Могу скинуть еще раз код с ивентом....
    PHP:
        @EventHandler
        
    public void interactEvent(PlayerInteractEvent e)
        {
            
    ItemStack ItemPhone = new ItemStack(Material.getMaterial(main.getConfig().getString("settings.Item")));
            if(
    e.getAction().equals(Action.RIGHT_CLICK_AIR) || e.getAction().equals(Action.RIGHT_CLICK_BLOCK))
            {
                
    ItemStack hand e.getPlayer().getItemInHand();
                
    ItemMeta meta hand.getItemMeta();
                if (
    hand.getType() == Material.getMaterial(main.getConfig().getString("settings.Item")) && meta.getDisplayName().equalsIgnoreCase("Железный слиток"))
                {
                    if(
    main.hasNumber(e.getPlayer()))
                    {
                        
    DialGUI.openSmartphoneScreen(e.getPlayer());
                        
    DialGUI.activated true;
                    }
                    else
                    {
                        
    e.getPlayer().sendMessage(Utils.getColor("&cСначала нужно настроить свой телефон!"));
                    }
                }
            }
     
    Последнее редактирование: 24 мар 2018
  8. Автор темы
    Kurumi

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

    Баллы:
    76
    старый лог, не заметил, сорян.
    Код:
    thread/ERROR]: Could not pass event PlayerInteractEvent to Dial v2.1
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.craftbukkit.v1_11_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:234) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.PlayerInteractManager.a(PlayerInteractManager.java:448) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:913) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:1) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_161]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_161]
        at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:747) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_161]
    Caused by: java.lang.NullPointerException
        at me.pvpdog.dial.BuyPhone.interactEvent(BuyPhone.java:38) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        ... 17 more
    [02:27:45] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to Dial v2.1
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.craftbukkit.v1_11_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:234) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.craftbukkit.v1_11_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:201) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.craftbukkit.v1_11_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:197) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:951) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:26) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:1) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_161]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_161]
        at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:747) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_161]
    Caused by: java.lang.NullPointerException
        at me.pvpdog.dial.BuyPhone.interactEvent(BuyPhone.java:38) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        ... 18 more
    [02:27:45] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to Dial v2.1
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.craftbukkit.v1_11_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:234) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.craftbukkit.v1_11_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:201) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at org.bukkit.craftbukkit.v1_11_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:197) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:951) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:26) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:1) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_161]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_161]
        at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:747) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_161]
    Caused by: java.lang.NullPointerException
        at me.pvpdog.dial.BuyPhone.interactEvent(BuyPhone.java:38) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_161]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_161]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot-1.11.2.jar:git-Spigot-3fb9445-2b6c9f4]
        ... 18 more
    [02:28:57] [Server thread/INFO]: CONSOLE: [0;31;1mPlease note that this command is not supported and may cause issues when using some plugins.[m
    [02:28:57] [Server thread/INFO]: CONSOLE: [0;31;1mIf you encounter any issues please use the /stop command to restart your server.[m
     
  9. Автор темы
    Kurumi

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

    Баллы:
    76
    Я же писал, что ругается на строку с проверкой displayname
    PHP:
     #если я убираю строку с проверкой имени - все работает    
    if(hand.getType() == Material.getMaterial(main.getConfig().getString("settings.Item")) && meta.getDisplayName().equalsIgnoreCase("Железный слиток")))
     
  10. Автор темы
    Kurumi

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

    Баллы:
    76
    Сейчас я исправил эту ошибку через try/catch, но мне кажется что это костыль и надо бы это как-то пофиксить... есть идеи?
     
  11. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Тупо проверять null.getType() null.equalsIgnoreCase(). Конечно будет npe.
    hand !=null
    meta.hasDisplayName();
     
    Последнее редактирование: 24 мар 2018
  12. Автор темы
    Kurumi

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

    Баллы:
    76
    Спасибо!
     
Статус темы:
Закрыта.

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