java – 防止Bukkit中指定玩家受到伤害?
发布时间:2020-12-14 19:22:47 所属栏目:Java 来源:网络整理
导读:我正在尝试制作一个允许你让任何玩家无懈可击的命令 也就是神模式. 到目前为止这是我的代码(虽然它是所有的样板) @EventHandlerpublic void onEntityDamage(EntityDamageEvent event) { if(event.getEntity() instaceof Player) { if(godModed.containsKey(e
我正在尝试制作一个允许你让任何玩家无懈可击的命令 – 也就是神模式. 到目前为止这是我的代码(虽然它是所有的样板)
godModed是一个HashMap godModed,它包含了目前所有人的所有玩家.当他们关闭godmode时,他们将从地图中删除. 命令本身工作正常 – 我现在让它向触发它的玩家发送消息,并且如果它们尚未打开,我还将它添加到godModed.但是,我无法弄清楚如何真正防止对玩家的伤害.我想完全阻止它,而不仅仅是事后医治它们;虽然后者可能会起作用,但如果其他mod看到onEntityDamage来触发一个不应该遇见的玩家不应该遇到的事情,它也可能导致无法预料的后果. 最佳答案
您将需要使用event.setCancelled(true).
如果您当前使用的代码正在运行,则必须使用旧的事件API(以及旧版本的bukkit),我建议您升级bukkit.使用new event API的代码看起来像这样:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |