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

Помогите Не работает PlayerInteractEvent.

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

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

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

    Баллы:
    76
    Имя в Minecraft:
    f3azzy
    Вроде в Eclipse ошибок нет, но ничего не работает, вот сам код:


    Код:
    @EventHandler
        public void flyy(PlayerInteractEvent e)
        {
            if(e.getAction() != Action.RIGHT_CLICK_AIR && e.getAction() != Action.RIGHT_CLICK_BLOCK) return;
            if(e.getPlayer().getInventory().getItemInMainHand().getType() != Material.ANVIL) return;
            @SuppressWarnings("deprecation")
            ItemStack item = e.getPlayer().getInventory().getItemInHand();
            if(!item.getItemMeta().hasDisplayName()) return;
            if(!item.getItemMeta().getDisplayName().equals("§d§lFlying")) return;
            Player p = e.getPlayer();     
            p.setFlying(true);
    
        }

    А вот что в пишет в консоле:

    Код:
    [20:05:02] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to IronMan v1.0
    org.bukkit.event.EventException: null
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) ~[craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:235) [craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:202) [craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:198) [craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:957) [craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at net.minecraft.server.v1_12_R1.PacketPlayInBlockPlace.a(SourceFile:32) [craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at net.minecraft.server.v1_12_R1.PacketPlayInBlockPlace.a(SourceFile:9) [craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_211]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_211]
        at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:696) [craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:371) [craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:651) [craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:555) [craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_211]
    Caused by: java.lang.IllegalArgumentException: Cannot make player fly if getAllowFlight() is false
        at org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer.setFlying(CraftPlayer.java:1243) ~[craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        at IronMan.main.Handler.flyy(Handler.java:40) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_211]
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_211]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_211]
        at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_211]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:296) ~[craftbukkit-1.12.2.jar:git-Bukkit-e60fc34]
        ... 18 more
     
  2. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    А перевести не судьба? )
    "Cannot make player fly if getAllowFlight() is false"
    Добавь перед
    p.setFlying(true);
    строку
    p.setAllowFlight(true);
     
  3. Автор темы
    Kloper

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

    Баллы:
    76
    Имя в Minecraft:
    f3azzy
    спасибо огромное!
     

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