java - 如何检测门户何时损坏?

标签 java minecraft bukkit

我正在编写一个 Spigot 插件,并且希望在门户因任何原因损坏时收到通知(黑曜石框架损坏、门户被恶魂击中等)

有一个BlockBreakEvent,但这只是为黑曜石 block 调用,而不是为门户调用。

还有BlockPhysicsEvent,但在其他时候会调用它 - 例如,如果在门户前直接点燃火。

最佳答案

显然您正在寻找BlockPhysicsEvent。如果门户前面着火,那也没关系,因为您要取消的是门户 block 上的事件,而不是被点燃的 block 上的事件。

@EventHandler
public void onBlockPhysics(BlockPhysicsEvent event) {
    if(event.getChangedType() == Material.PORTAL || event.getBlock().getType() == Material.PORTAL) {
        event.setCancelled();
    }
}

关于java - 如何检测门户何时损坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57043603/

相关文章:

java - 无法在 Hashmap 中保存 block

java - 使用此代码给我一个内部错误。怎么修?

java - 如何检查数组列表中的对象是否具有相同的值?

java - 列出HBase表的程序给出了NoClassDefFoundError

java - 如何为字段编写自定义注释,以便为该字段创建自定义 setter ?

java - 为什么java ClassLoader中没有unloadClass(String name)方法

java - 为什么 java (minecraft) 似乎正在重置我的变量?

networking - 我应该为我的 Minecraft 风格的游戏使用 UDP 还是 TCP?

java - Minecraft 服务器清除已从 JAR 插件加载的 .class 文件

java - 使用 Maven 导入 Fanciful Library(Minecraft 服务器插件开发)