为什么会出现此错误? org.bukkit.event.EventException:null

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么会出现此错误? org.bukkit.event.EventException:null相关的知识,希望对你有一定的参考价值。

我尝试编码,如果我右键单击一个标牌,我将传送到一个位置。它在控制台中正常工作,但是我得到一个错误,为什么呢?这是我的代码:

public class schildJNR implements Listener 

@EventHandler
public void schildKlickEvent(PlayerInteractEvent event) 
    Player player = event.getPlayer();
    if(event.getPlayer() instanceof Player && event != null) 
        if (event.getClickedBlock().getType() == Material.SPRUCE_WALL_SIGN) 

            Sign sign = (Sign) event.getClickedBlock().getState();

            if (sign.getLine(0).equalsIgnoreCase("Die Schlucht")) 
                player.teleport(new Location(Bukkit.getWorld("world"), 295.14f, 69, 46.54f, -90.1f, 0.9f));
             else if (sign.getLine(0).equalsIgnoreCase("Schatzsuche")) 
                player.teleport(new Location(Bukkit.getWorld("world"), 74.59f, 63, 237.51f, -91.4f, 1.3f));
             else if (sign.getLine(0).equalsIgnoreCase("Fichtenwald")) 
                player.teleport(new Location(Bukkit.getWorld("world"), -5.43f, 78, 172.57f, 179.7f, 1.6f));
           
        
     else 
        player.sendMessage("ERROR");
    

错误是:org.bukkit.event.EventException:空[...]原因:java.lang.NullPointerException我在做什么错?

答案

您在if中的表达式顺序不正确,您需要先检查它是否为null,然后再检查它是否为instanceof播放器。

if(event != null && event.getPlayer() instanceof Player) 
另一答案

“您在if中的表达式顺序不正确,您需要先检查它是否为null,然后再检查它是否为player的instanceof。”

我做到了,但错误仍然存​​在。

以上是关于为什么会出现此错误? org.bukkit.event.EventException:null的主要内容,如果未能解决你的问题,请参考以下文章

数组定义错误:为啥会出现此错误?

为啥会出现此资源找不到错误消息?

当我在此页面中声明方法时,为啥此代码会出现“找不到符号”错误?

为啥 Corona sdk 中会出现此错误?

为啥 Apex/Oracle 会出现此错误?

为啥使用 SingleAsync 时会出现此错误?