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

[SOLVED] Ошибка в PlayerInteractEvent

Тема в разделе "Разработка плагинов для новичков", создана пользователем TheEfwio, 11 июн 2015.

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

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

    Баллы:
    76
    Skype:
    theefwioc
    Имя в Minecraft:
    TheEfwio
    PlayerInteractEvent выбивает ошибку:
    Код:
        @EventHandler
        public void onInteract(PlayerInteractEvent e){
            Player p = e.getPlayer();
            if(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK){
                if(p.getItemInHand() == null){ return; }
                        if(p.getItemInHand().getType() == Material.ENCHANTED_BOOK && p.getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase("§aДыхание под водой(5:00)") ){
                            p.getInventory().removeItem(e.getItem());
                            p.removePotionEffect(PotionEffectType.WATER_BREATHING);
                            p.addPotionEffect(new PotionEffect(PotionEffectType.WATER_BREATHING, 6000, 0));
                            p.sendMessage(ChatColor.GREEN + "Книга активирована!");
                        }
                       
                        else if(p.getItemInHand().getType() == Material.ENCHANTED_BOOK && p.getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase("§aВосстановление III(2:00)")){
                            p.getInventory().removeItem(e.getItem());
                            p.removePotionEffect(PotionEffectType.REGENERATION);
                            p.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 2400, 2));
                            p.sendMessage(ChatColor.GREEN + "Книга активирована!");
                        }
                       
                        else if(p.getItemInHand().getType() == Material.ENCHANTED_BOOK && p.getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase("§aСкорость III(4:00)")){
                            p.getInventory().removeItem(e.getItem());
                            p.removePotionEffect(PotionEffectType.SPEED);
                            p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 4800, 2));
                            p.sendMessage(ChatColor.GREEN + "Книга активирована!");
                        }
                       
                        else if(p.getItemInHand().getType() == Material.ENCHANTED_BOOK && p.getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase("§aСила II(2:00)")){
                            p.getInventory().removeItem(e.getItem());
                            p.removePotionEffect(PotionEffectType.INCREASE_DAMAGE);
                            p.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE, 2400, 1));
                            p.sendMessage(ChatColor.GREEN + "Книга активирована!");
                        }
                       
                        else if(p.getItemInHand().getType() == Material.ENCHANTED_BOOK && p.getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase("§aПрыгучесть II(2:00)")){
                            p.getInventory().removeItem(e.getItem());
                            premovePotionEffect(PotionEffectType.JUMP);
                            p.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 2400, 1));
                            p.sendMessage(ChatColor.GREEN + "Книга активирована!");
                        }else { return; }
                    }
        }
    Ошибка:
    Код:
    [21:53:57] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to Effects v1.0
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[Spigot.jar:git-Spigot-044d928-e8c6403]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[Spigot.jar:git-Spigot-044d928-e8c6403]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [Spigot.jar:git-Spigot-044d928-e8c6403]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [Spigot.jar:git-Spigot-044d928-e8c6403]
        at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:227) [Spigot.jar:git-Spigot-044d928-e8c6403]
        at net.minecraft.server.v1_8_R3.PlayerInteractManager.interact(PlayerInteractManager.java:463) [Spigot.jar:git-Spigot-044d928-e8c6403]
        at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:736) [Spigot.jar:git-Spigot-044d928-e8c6403]
        at net.minecraft.server.v1_8_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:52) [Spigot.jar:git-Spigot-044d928-e8c6403]
        at net.minecraft.server.v1_8_R3.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:1) [Spigot.jar:git-Spigot-044d928-e8c6403]
        at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [Spigot.jar:git-Spigot-044d928-e8c6403]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_45]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_45]
        at net.minecraft.server.v1_8_R3.SystemUtils.a(SystemUtils.java:19) [Spigot.jar:git-Spigot-044d928-e8c6403]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:718) [Spigot.jar:git-Spigot-044d928-e8c6403]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:367) [Spigot.jar:git-Spigot-044d928-e8c6403]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:657) [Spigot.jar:git-Spigot-044d928-e8c6403]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:560) [Spigot.jar:git-Spigot-044d928-e8c6403]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
    Caused by: java.lang.NullPointerException
        at ru.theefwio.effects.Effects.onInteract(Effects.java:177) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[Spigot.jar:git-Spigot-044d928-e8c6403]
        ... 17 more
    177 строка:
    Код:
    if(p.getItemInHand().getType() == Material.ENCHANTED_BOOK && p.getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase("§aДыхание под водой(5:00)") ){
     
  2. Хостинг MineCraft
    <
  3. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    hasItemMeta()
    getiItemMeta().hasDisplayName()
     
  4. Автор темы
    TheEfwio

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

    Баллы:
    76
    Skype:
    theefwioc
    Имя в Minecraft:
    TheEfwio
    Сработало! Огромное спасибо)
     
Статус темы:
Закрыта.

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