java - 我需要什么事件才能对某些带有附魔的小怪造成更多伤害?
问题描述
@EventHandler
public void onAttack(EntityDamageByEntityEvent event, ItemStack inHand) {
if (!(event.getDamager() instanceof Player && !(event.getEntity() instanceof Player))) {
return;
}
else {
Player player = (Player) event.getDamager();
if(player.getInventory().getItemInMainHand().getItemMeta().getLore().contains("Orphan Obliterator")) {
((Damageable) event).setHealth(0);
}
}
攻击
基本上,我需要制作一个对某些生物造成更多伤害的附魔,比如惩戒附魔。我想检查攻击者(玩家)的武器上是否有我需要的附魔,如果有,我需要它来造成更多伤害吗?(我做了 EnchantmentWrapper 和一切)我在这里做错了什么?
解决方案
你的事件应该只接受一个参数,改变
@EventHandler
public void onAttack(EntityDamageByEntityEvent event, ItemStack inHand) {}
至
@EventHandler
public void onAttack(EntityDamageByEntityEvent event) {}
另外,请确保您正在注册您的活动:
Bukkit.getPluginManager().registerEvents(Listener, JavaPlugin);
whereListener
是包含您的onAttack
方法的类JavaPlugin
的实例,并且是您的类的实例 which extends JavaPlugin
.
推荐阅读
- python - 调用python调度函数时出错
- javascript - puppeteer page.evaluate() 的返回值
- python - 有没有办法静态解决这种循环依赖?
- r - 有没有办法找到 R 包的引用计数?
- python - Dataframe 是否可以表示图形?
- python - Python "for loop and def" 练习并得到 "TypeError: 'int' object is not iterable"
- python - Python:如何使用 for 循环调用所有函数?
- redirect - 本地主机中的重定向问题过多(IIS、ColdFusion 2018)
- queue - (vhdl) 预期类型 = 当前类型类型错误
- python - 如何根据每个科目的最小值来组织学生的分数