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

Помогите PlayerMoveEvent ошибка (помогите русским языком)

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

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

    Mepon Новичок

    Баллы:
    16
    Имя в Minecraft:
    wolfshadow121
    Код:
    package ru.mepon.events;
    
    import org.bukkit.Bukkit;
    import org.bukkit.GameMode;
    import org.bukkit.Location;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.EntityDamageByEntityEvent;
    import org.bukkit.event.entity.PlayerDeathEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerMoveEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    import ru.mepon.events.Utils.Configurations;
    import ru.mepon.events.Utils.ScoreBoard;
    
    import java.util.Date;
    
    public class GameListener implements Listener {
        @EventHandler
        public void onMove(PlayerMoveEvent event){
            if(event.getPlayer().hasPermission("*")) return;
            if(event.getPlayer().getGameMode().equals(GameMode.SPECTATOR))return;
            if(!Configurations.started) return;
            Location from = event.getFrom();
            Location to = event.getTo();
            if(to==null) return;
            if(from.getX()==to.getX() && from.getZ()==to.getZ()) return;
            if (Configurations.walk) {
                if(Configurations.cooldowns.get(event.getPlayer().getName())>=2) {
                    Configurations.cooldowns.put(event.getPlayer().getName(), Configurations.cooldowns.get(event.getPlayer().getName()) + 1);
                }
            }
            if (Configurations.shift && event.getPlayer().isSneaking()) {
                if(Configurations.cooldowns.get(event.getPlayer().getName())>=2) {
                    Configurations.cooldowns.put(event.getPlayer().getName(), Configurations.cooldowns.get(event.getPlayer().getName()) + 1);
                }
            }
            if (Configurations.sprint && event.getPlayer().isSprinting()) {
                if(Configurations.cooldowns.get(event.getPlayer().getName())>=2) {
                    Configurations.cooldowns.put(event.getPlayer().getName(), Configurations.cooldowns.get(event.getPlayer().getName()) + 1);
                }
            }
        }
        @EventHandler
        public void onQuit(PlayerQuitEvent event){
            if(event.getPlayer().hasPermission("*")) return;
            if(Configurations.canleave)return;
            event.getPlayer().setGameMode(GameMode.SPECTATOR);
            Bukkit.broadcastMessage("§c"+event.getPlayer().getName()+" проиграл!");
        }
        @EventHandler
        public void onDeath(PlayerDeathEvent event){
            if(event.getEntity().hasPermission("*")) return;
            if(event.getEntity().getGameMode().equals(GameMode.SPECTATOR))return;
            event.getEntity().setGameMode(GameMode.SPECTATOR);
            Bukkit.broadcastMessage("§c"+event.getEntity().getName()+" проиграл!");
    
        }
        @EventHandler
        public void onJoin(PlayerJoinEvent event){
            ScoreBoard.setBoard(event.getPlayer());
            Configurations.cooldowns.put(event.getPlayer().getName(),0);
        }
        @EventHandler
        public void onAttack(EntityDamageByEntityEvent event){
            if ((event.getDamager() instanceof Player) && event.getDamager().hasPermission("*") && ((Player) event.getDamager()).getItemInHand().hasItemMeta() && ((Player) event.getDamager()).getItemInHand().getItemMeta().hasDisplayName() && ((Player) event.getDamager()).getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase("§bСпектатор") && (event.getEntity() instanceof Player)){
                ((Player)event.getEntity()).setGameMode(GameMode.SPECTATOR);
            }
        }
    }
    
    ошибка
    Код:
    [22:51:56 ERROR]: Could not pass event PlayerMoveEvent to Events v1.0
    org.bukkit.event.EventException: null
            at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:72) ~[paper.jar:git-Paper-1618]
            at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[paper.jar:git-Paper-1618]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[paper.jar:git-Paper-1618]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[paper.jar:git-Paper-1618]
            at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:711) ~[paper.jar:git-Paper-1618]
            at net.minecraft.server.v1_12_R1.PacketPlayInFlying.a(SourceFile:126) ~[paper.jar:git-Paper-1618]
            at net.minecraft.server.v1_12_R1.PacketPlayInFlying$PacketPlayInPosition.a(SourceFile:57) ~[paper.jar:git-Paper-1618]
            at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14) ~[paper.jar:git-Paper-1618]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_261]
            at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_261]
            at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) ~[paper.jar:git-Paper-1618]
            at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:850) ~[paper.jar:git-Paper-1618]
            at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[paper.jar:git-Paper-1618]
            at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[paper.jar:git-Paper-1618]
            at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[paper.jar:git-Paper-1618]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_261]
    Caused by: java.lang.NullPointerException
            at ru.mepon.events.GameListener.onMove(GameListener.java:30) ~[?:?]
            at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor7.execute(Unknown Source) ~[?:?]
            at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[paper.jar:git-Paper-1618]
            ... 15 more
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    Mepon

    Mepon Новичок

    Баллы:
    16
    Имя в Minecraft:
    wolfshadow121
    40 строчка для тех кому лень читать
    38. if (Configurations.sprint && event.getPlayer().isSprinting()) {
    39. if(Configurations.cooldowns.get(event.getPlayer().getName())>=2) {
    40. Configurations.cooldowns.put(event.getPlayer().getName(), Configurations.cooldowns.get(event.getPlayer().getName()) + 1);
     
  4. Goldfinch

    Goldfinch Активный участник

    Баллы:
    61
    Имя в Minecraft:
    Goldfinchx
    Судя по ошибке NullPointerException, у тебя в 30 строчке что-то возвращает null.
    Код:
    Caused by: java.lang.NullPointerException
            at ru.mepon.events.GameListener.onMove(GameListener.java:30) ~[?:?]
    Как я понял, 30 строчка это вот этот цикл. Проверь конфиг, возможно ошибка где-то там:
    Код:
    if(Configurations.cooldowns.get(event.getPlayer().getName())>=2)
     
  5. sasa12312312

    sasa12312312 Участник

    Баллы:
    31
    Имя в Minecraft:
    Solomka

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