Qiucraft
本帖最后由 Qiucraft 于 2020-8-29 00:20 编辑

Spigot-API链接:
  1. https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionEffect.html#%3Cinit%3E(org.bukkit.potion.PotionEffectType,int,int,boolean,boolean,boolean)
复制代码

请教一下最后一个参数icon指的是什么?

主世界
本帖最后由 主世界 于 2020-8-29 00:15 编辑

【个人猜测】
whether this effect has an icon or not
判断该(药水)效果是否有图标
例如“饱食”这个效果就没有图标显示

顺便修正一下链接,我貌似无法访问你给出来的那个地址
https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionEffect.html

a8105
该效果是否有图标
有这时间问为什么不直接给自己加个true和false的试试呢

William_Shi
指的是有没有图标
https://hub.spigotmc.org/javadoc ... Effect.html#hasIcon()

图标,就是右上角的那个玩意

Qiucraft
William_Shi 发表于 2020-8-29 09:03
指的是有没有图标
https://hub.spigotmc.org/javadocs/spigot/org/bukkit/potion/PotionEffect.html#hasIco ...

经过测试,无论我填true还是false它都会在右上角显示图标

洞穴夜莺
本帖最后由 洞穴夜莺 于 2020-8-29 19:39 编辑
Qiucraft 发表于 2020-8-29 13:01
经过测试,无论我填true还是false它都会在右上角显示图标

通过阅读src/main/java/org/bukkit/craftbukkit/v1_16_R2/potion/CraftPotionUtil.java第102至105行可知
PotionEffect在转换为NMS类MobEffect时icon字段被直接丢弃,尽管MobEffect有一个控制图标的字段showIcon
因此PotionEffect的icon在插件给予状态效果时被丢弃没有任何用处,并没有任何注释说明这样做的原因

PotionEffect的hasIcon唯一被使用的地方是创建自定义药水的地方src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java第134行
这里PotionEffect的icon被序列化到NMS物品NBT中

@William_Shi

第一页 上一页 下一页 最后一页