PotionEffect PlimitXY1 = p.getPotionEffect(PotionEffectType.SPEED);
int speedlevel = PlimitXY1.getAmplifier();
应该就是这2行不对 主要目的就是计算玩家拥有速度效果时的等级不知道哪里错了 麻烦各位大佬看看 指点指点!
主要想自己写一个插件练习一下 这个插件的目的是判断玩家某个效果等级并且输出提示该玩家
int speedlevel = PlimitXY1.getAmplifier();
应该就是这2行不对 主要目的就是计算玩家拥有速度效果时的等级不知道哪里错了 麻烦各位大佬看看 指点指点!
主要想自己写一个插件练习一下 这个插件的目的是判断玩家某个效果等级并且输出提示该玩家
补充一点:源码库用的是1.12.2的paper开服核心
你没检查null
fffdjjking 发表于 2021-8-4 20:35
如果玩家没有speed效果他返回值会默认是0
null没这个必要吧
https://bukkit.windit.net/javado ... n.PotionEffectType-
If the effect is not present on the entity then null will be returned.
东极神帝 发表于 2021-8-4 20:36
https://bukkit.windit.net/javadoc/org/bukkit/entity/LivingEntity.html#getPotionEffect-org.bukkit.p ...
好吧 我大意了
但是我测试的时候我的速度等级是2
啥也没检测出来 估计是这个函数用错了
东极神帝 发表于 2021-8-4 20:36
https://bukkit.windit.net/javadoc/org/bukkit/entity/LivingEntity.html#getPotionEffect-org.bukkit.p ...
你这网站正好是我要找的 谢谢了!
本帖最后由 CaveNightingale 于 2021-8-4 20:43 编辑
没有将返回null
amplifer是倍率而不是等级https://wiki.biligame.com/mc/%E7%8A%B6%E6%80%81%E6%95%88%E6%9E%9C
等级=amplifer+1
fffdjjking 发表于 2021-8-4 20:35
如果玩家没有speed效果他返回值会默认是0
null没这个必要吧
没有将返回null
amplifer是倍率而不是等级https://wiki.biligame.com/mc/%E7%8A%B6%E6%80%81%E6%95%88%E6%9E%9C
等级=amplifer+1
CaveNightingale 发表于 2021-8-4 20:42
没有将返回null
amplifer是倍率而不是等级https://wiki.biligame.com/mc/%E7%8A%B6%E6%80%81%E6%95%88%E6% ...
那么请问等级如何提取
fffdjjking 发表于 2021-8-4 20:38
好吧 我大意了
但是我测试的时候我的速度等级是2
啥也没检测出来 估计是这个函数用错了 ...
建议把整个程序贴上来
CaveNightingale 发表于 2021-8-4 20:46
等级 = amplifier + 1
就是说等级始终比倍率多1
谢谢了 问题解决了!
这是等级效果做好了嘛?
Yuan-先生 发表于 2021-8-14 09:44
这是等级效果做好了嘛?
嗯 已自行解决了