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

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

Discussion in 'Разработка плагинов для новичков' started by Mepon, Sep 16, 2020.

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

    Mepon Новичок

    Trophy Points:
    16
    Имя в Minecraft:
    wolfshadow121
    Code:
    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);
            }
        }
    }
    
    ошибка
    Code:
    [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 Новичок

    Trophy Points:
    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 Активный участник

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

    sasa12312312 Участник

    Trophy Points:
    31
    Имя в Minecraft:
    Solomka

Share This Page