我在我的世界锻造中做了一个附魔,可以毒害被你击中的实体,但是它也可以用弓。我不想要那个。我想要它像火相附魔一样工作。有人知道怎么修复这个吗?我试着查了一下火力方面的代码,但我找不到任何关于弓的东西。
gywdnpxw1#
要使附魔只对近战攻击有效而对弓箭无效,你需要修改你的附魔类的canApplyTogether方法。下面是您可以如何做到这一点:
canApplyTogether
@Override public boolean canApplyTogether(Enchantment ench) { // Don't apply if the other enchantment is an arrow-based enchantment if (ench instanceof EnchantmentArrowDamage || ench instanceof EnchantmentArrowFire || ench instanceof EnchantmentArrowInfinite) { return false; } return super.canApplyTogether(ench); }
这个方法检查另一个附魔是否是基于箭头的附魔(如EnchantmentArrowDamage、EnchantmentArrowFire或EnchantmentArrowInfinite),如果是,则返回false。否则,它调用超级实现来检查该附魔是否可以与其他附魔一起应用。通过覆盖这个方法,你可以控制哪些附魔可以和你的自定义附魔一起使用。在这种情况下,通过阻止箭类附魔和你的毒药附魔一起使用,你可以确保它只影响近战攻击。
EnchantmentArrowDamage
EnchantmentArrowFire
EnchantmentArrowInfinite
1条答案
按热度按时间gywdnpxw1#
要使附魔只对近战攻击有效而对弓箭无效,你需要修改你的附魔类的
canApplyTogether
方法。下面是您可以如何做到这一点:
这个方法检查另一个附魔是否是基于箭头的附魔(如
EnchantmentArrowDamage
、EnchantmentArrowFire
或EnchantmentArrowInfinite
),如果是,则返回false。否则,它调用超级实现来检查该附魔是否可以与其他附魔一起应用。通过覆盖这个方法,你可以控制哪些附魔可以和你的自定义附魔一起使用。在这种情况下,通过阻止箭类附魔和你的毒药附魔一起使用,你可以确保它只影响近战攻击。