fffdjjking
PotionEffect PlimitXY1 = p.getPotionEffect(PotionEffectType.SPEED);
int speedlevel = PlimitXY1.getAmplifier();
应该就是这2行不对 主要目的就是计算玩家拥有速度效果时的等级不知道哪里错了 麻烦各位大佬看看 指点指点!
主要想自己写一个插件练习一下 这个插件的目的是判断玩家某个效果等级并且输出提示该玩家

fffdjjking
补充一点:源码库用的是1.12.2的paper开服核心

CaveNightingale
你没检查null

fffdjjking

如果玩家没有speed效果他返回值会默认是0
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.

fffdjjking
东极神帝 发表于 2021-8-4 20:36
https://bukkit.windit.net/javadoc/org/bukkit/entity/LivingEntity.html#getPotionEffect-org.bukkit.p ...

好吧 我大意了
但是我测试的时候我的速度等级是2
啥也没检测出来 估计是这个函数用错了

fffdjjking
东极神帝 发表于 2021-8-4 20:36
https://bukkit.windit.net/javadoc/org/bukkit/entity/LivingEntity.html#getPotionEffect-org.bukkit.p ...

你这网站正好是我要找的 谢谢了!

CaveNightingale
本帖最后由 CaveNightingale 于 2021-8-4 20:43 编辑
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

fffdjjking
CaveNightingale 发表于 2021-8-4 20:42
没有将返回null
amplifer是倍率而不是等级https://wiki.biligame.com/mc/%E7%8A%B6%E6%80%81%E6%95%88%E6% ...

那么请问等级如何提取

CaveNightingale
fffdjjking 发表于 2021-8-4 20:44
那么请问等级如何提取

等级 = amplifier + 1

就是说等级始终比倍率多1

CaveNightingale
fffdjjking 发表于 2021-8-4 20:38
好吧 我大意了
但是我测试的时候我的速度等级是2
啥也没检测出来 估计是这个函数用错了 ...

建议把整个程序贴上来

fffdjjking
CaveNightingale 发表于 2021-8-4 20:46
等级 = amplifier + 1

就是说等级始终比倍率多1

谢谢了 问题解决了!

Yuan-先生
这是等级效果做好了嘛?

fffdjjking
Yuan-先生 发表于 2021-8-14 09:44
这是等级效果做好了嘛?

嗯 已自行解决了