yjlyl
@SubscribeEvent
public void onEvent(LivingDamageEvent event) {
    if (这里该怎么判断) {
        IMana mana = event.getEntity().getCapability(ManaProvider.MANA_CAP, null);
        event.setAmount(event.getAmount() + (mana.getAttack()));
        System.out.println("LivingDamageEvent");
    }
}

capability里面有每个人的攻击力,我想在这个事件里把玩家的伤害提高
可是怎么得到entity player,而且如果不判断的话就会得到空指针,Minecraft.getminecraft.player()也是空指针
这个伤害判断该在哪执行,客户端还是服务器

森林蝙蝠
本帖最后由 森林蝙蝠 于 2019-10-26 19:22 编辑

后续更新:你这是哪个版本的forge?
@SubscribeEvent
public void onEvent(LivingDamageEvent event) {
    if (event.getEntity() instanceof EntityPlayer) { //这里是EntityPlayerSP也可以
        IMana mana = ((EntityPlayer)event.getEntity()).getCapability(ManaProvider.MANA_CAP, null);
        event.setAmount(event.getAmount() + (mana.getAttack()));
        System.out.println("LivingDamageEvent");
    }
}

第一页 上一页 下一页 最后一页