zh

常见开发问题

invokeMember (getDamager) on cn.nukkit.event.entity.EntityDamageEvent failed due to: Unknown identifier: getDamager

这是由于错误地把EntityDamageEvent事件当作EntityDamageByEntityEvent并执行了getDamager方法造成的,通常 是由于监听了cn.nukkit.event.entity.EntityDamageByEntityEvent,但是部分插件会混发事件造成的。

解决方法:使用instanceof在事件回调函数中判断事件种类。

import { PowerNukkitX, EventPriority } from ":powernukkitx";
import { EntityDamageByEntityEvent } from "cn.nukkit.event.entity.EntityDamageByEntityEvent";

PowerNukkitX.listenEvent("cn.nukkit.event.entity.EntityDamageByEntityEvent", EventPriority.NORMAL, e => {
    if (e instanceof EntityDamageByEntityEvent) {
        // ......
    }
})

Server.getLevel返回null

通常是由于以下两个问题造成的:


© PowerNukkitX 开发组