样式 - display

提示:display 配置项在 AzureFlow 中尤为重要,请确认您仔细阅读并理解了前几个章节后(除 computed 外),再来阅读。

介绍

通过使用 display 配置项,可以设置 AzureFlow 在具体服务器中的实际展示效果。

display处于 AzureFlow 三层架构中的视图层,其访问数据层属于跨层访问,需要使用表达式引用获取,即直接引用$或间接引用${}

可配置项

name

用于设置 AzureFlow 物品展示的名字。

material

用于设置 AzureFlow 物品的材质,具体材质请前往Bukkit官方文档查看。

lore

用于设置 AzureFlow 物品的描述。

提示:AzureFlow 在实现物品描述时,新增了一个功能:自动省略空行,因此基于该功能,可以实现 lore 根据条件出现与消失,同时不占用该行,具体请查看章节炉火纯青#根据条件渲染lore的物品

option

dye

用于设置物品的燃料颜色(如皮革装备),支持RGB参数(255,255,255)和HEX参数(#fffff/#FFFFFF)

attributes

用于设置物品的原版属性,可使用的属性如下:

  • max_health:增加最大血上限

  • follow_range:生物跟随距离

  • knockback_resistance:击退抗性

  • movement_speed:移速加成

  • flying_speed:飞行速度

  • attack_damage:攻击伤害

  • attack_knockback:击退效果

  • attack_speed:攻击速度

  • armor:护甲值

  • armor_toughness:护甲抗性

  • luck:幸运值

  • jump_strength:跳跃增强

  • spawn_reinforcements:僵尸增援

支持的AttributeModifier如下:

  • +/不写:绝对值增加,ADD_NUMBER

  • *:倍率增加,百分比加法

  • **:百分比倍率增加,MULTIPLY_SCALAR_1

操作
描述
示例公式
应用场景

ADD_NUMBER

直接加法

属性值 = 基础值 + 修饰符的值

固定增加值,如加血量、伤害等

ADD_SCALAR

百分比加法

属性值 = 基础值 × (1 + 修饰符)

按百分比提升,如移动速度提升

MULTIPLY_SCALAR_1

百分比乘法

属性值 = 基础值 × 修饰符的值

按倍数增加或减少,如大幅提升属性

使用方式如下:

data:
  max_health: random.int(1, 100)     # 随机生成一个基础生命值,范围在1到100之间

display:
  option:
    attributes:
      max_health: 'max_health'       # ADD_NUMBER, 直接显示基础值,无加成
      max_health: '*max_health'      # 应用 ADD_SCALAR:将基础值按百分比增加
                                     # 示例:最终生命值 = 基础生命值 × 修饰符的值
      max_health: '**max_health'     # 应用 MULTIPLY_SCALAR_1:将基础值作为倍率乘以某个数
                                     # 示例:最终生命值 = 基础生命值 × (1 + 修饰符的值)

hide

用于设置物品的可见信息,可配置值如下:

  • enchants: 隐藏附魔属性

  • attributes: 隐藏属性加成

  • unbreakable: 隐藏不可破坏信息

  • destroys: 隐藏可破坏方块信息

  • placed_on: 隐藏可放置方块信息

  • potion_effects: 隐藏效果信息

  • dye: 隐藏染色信息(目前仅1.14+支持该配置项)

值得一提的是,以上默认值均为false,即默认不显示任何信息。(详情请参考 issue#4

custom_model_data

用于设置物品的自定义模型/材质数据。(详情请参考 issue#3

unbreakable

用于设置物品是否可被破坏,即是否拥有耐久度。

示例

参考如下物品数据配置,即可完成物品的展示:

display:
  name: '&f斩碎邪祟之剑 &elv.$level'
  material: DIAMOND_SWORD
  lore:
    - '${level >= 90 ? "&6传说武器" : ""}'
    - ' '
    - '&f物品属性'
    - ''
    - '  &f物理攻击: &e${random.int(1, 100)}'
    - '  &f火属性攻击: &e${random.double(1, 10)}'
    - '  &f闪避率: &e+${random.int(1, 3)}%'
    # 如上配置可使用语法糖如下:
    # - '  &f物理攻击: &e:1~100:'
    # - '  &f火属性攻击: &e:1.0~10.0:'
    # - '  &f闪避率: &e:1~3:%'
    - ' '
    - '&f物品描述'
    - ' '
    - '  &7使用该剑可斩断一切邪祟'
    - ' '

按照如上配置,定义了一个名为斩碎邪祟之剑的物品,材质为钻石剑,且配置了多行描述,其中也引用了数据以及与属性相关的配置。

Last updated