我正在尝试制定一个命令,让您可以让任何玩家都无懈可击——即上帝模式。
到目前为止,这是我的代码(尽管都是样板文件)
@EventHandler
public void onEntityDamage(EntityDamageEvent event) {
if(event.getEntity() instaceof Player) {
if(godModed.containsKey(event.getPlayer())) {
//This is where I need the code to go - something to cancel the damage.
}
}
}
godModed
是一个HashMap godModed
包含所有当前处于上帝模式的玩家。当他们关闭上帝模式时,他们会从地图中移除。
该命令本身运行良好 - 我目前让它向触发它的玩家发送消息,如果玩家尚未开启,我还让它将玩家添加到 godModed。但是,我无法弄清楚如何真正防止对玩家造成伤害。我想完全阻止它,而不仅仅是事后治愈它们;onEntityDamage
虽然后者可能会奏效,但如果其他 mods试图触发 Godmoded 玩家不应该遇到的事情,它也可能导致无法预料的后果。