基本上我已经开始更新很多英雄法术到1.7.2了,这个更新破坏了.getHealth()和.getMaxHealth()。我正在试着修复它,但我不知道该怎么做。如果任何人有一些建议或样本,我将欠下债。我将在使用.getHealth()方法的地方放置一些代码。这是错误的链接:http://puu.sh/7BrEP.png。它说这个方法对于那个类型是不明确的。
public void tickHero(Hero hero) {
if ( hero.getPlayer().getHealth() - damage > 1) {
addSpellTarget(hero.getPlayer(), plugin.getCharacterManager().getHero(caster));
damageEntity(hero.getPlayer(), caster, damage, DamageCause.MAGIC);
//hero.getPlayer().damage(damage, caster);
}
}发布于 2014-03-20 08:45:05
在1.7.2版本中,有两个getHealth()和getMaxHealth()方法。这是因为在1.6中,Bukkit处理我的世界的方式改变了实体健康的存储方式。您可以阅读有关此here的更多信息。
如果您没有使用任何NMS代码,那么应该在构建路径中使用bukkit.jar,而不是craftbukkit.jar。这应该可以很容易地解决您的问题。
如果您确实需要NMS代码,则需要在构建路径中同时包含bukkit.jar和craftbukkit.jar。此外,您必须在构建路径中拥有高于craftbukkit.jar的bukkit.jar,它才能工作。
https://stackoverflow.com/questions/22512345
复制相似问题