Skip to content

自定义箭 arrows.yml

文件位置:

text
plugins/GTQuiver/arrows.yml

自定义箭写在 arrows 下,节点名就是箭 ID。ID 不区分大小写,不能重复。

完整示例

yaml
arrows:
  flame:
    item:
      provider-item: ""
      material: "ARROW"
      data: 0
      custom-model-data: 10011
      name: "&6烈焰箭"
      lore:
        - "&8自定义箭矢"
        - "&7命中后点燃目标"
        - "&7造成伤害20000点"
      glow: false
      unbreakable: false
      item-flags:
        - "HIDE_ATTRIBUTES"
      enchantments: {}
      potion-effects: []
    effects:
      damage-multiplier: 1.0
      additional-damage: 2.0
      formula-damage:
        - "&7物理伤害: &c+20000"
      fire-ticks: 100
      potion-effects: []
      particle: "FLAME"
      particle-count: 2
      particle-speed: 0.01
      mythic-skills: []
      hit-actions: []

item

provider-item

yaml
provider-item: ""

留空时使用下面的物品字段。填写后通过 GTCore 物品提供器创建:

yaml
provider-item: "mm:flame_arrow"

物品库原有的名称、Lore、附魔、模型和 NBT 会保留。

material

yaml
material: "ARROW"

常用材质:

材质用途
ARROW普通箭
TIPPED_ARROW药水箭
SPECTRAL_ARROW光灵箭
FIREWORKFIREWORK_ROCKET弩用烟花,按服务端版本填写

普通弓只能使用箭类材质。

data、custom-model-data

yaml
data: 0
custom-model-data: 10011

data 主要用于 1.12.2,custom-model-data 用于高版本资源包。

name、lore

yaml
name: "&6烈焰箭"
lore:
  - "&8自定义箭矢"
  - "&7造成伤害20000点"

名称和 Lore 只负责显示。GTQuiver 的实际伤害写在 effects

CA/AP 是否读取某一行 Lore,按对应属性插件的格式决定。

其他物品字段

yaml
glow: false
unbreakable: false
item-flags: ["HIDE_ATTRIBUTES"]
enchantments: {}
potion-effects:
  - "SLOW:100:1"

药水格式:

text
效果:持续时间tick:等级

等级从 0 开始。SLOW:100:1 为缓慢 II,持续 5 秒。

item.potion-effects 写入原版药水箭物品;普通箭材质使用这项没有原版药水箭效果。

effects.damage-multiplier

yaml
damage-multiplier: 1.0

基础伤害倍率:

text
1.0 = 不变
1.5 = 提高 50%
0.5 = 降低 50%

effects.additional-damage

yaml
additional-damage: 2.0

倍率计算后追加固定伤害。Bukkit 中 2.0 为一颗完整红心的伤害值。

effects.formula-damage

常量伤害:

yaml
formula-damage:
  - "&7物理伤害: &c+20000"

动态公式:

yaml
formula-damage:
  - "&7物理伤害: &c+{calc:120+%player_level%*2}"

颜色代码和冒号前的文字不会参与计算。下面几种写法都可以:

yaml
formula-damage:
  - "+20000"
  - "物理伤害: +20000"
  - "&7物理伤害: &c+20000"
  - "&7物理伤害: &c+{calc:120+%player_level%*2}"

可用变量:

变量内容
%player_level%射手原版等级
%base_damage%倍率和固定追加后的伤害
%target_health%目标当前生命
%target_max_health%目标最大生命
%distance%射击距离
%arrow_id%箭 ID,适合文本和动作使用

支持 GTCore 表达式和已安装的 PAPI 变量。多行公式会把结果相加。

显示 Lore 与公式互不关联。Lore 写 20000、公式留空时,GTQuiver不会自动增加 20000 伤害。

effects.fire-ticks

yaml
fire-ticks: 100

命中后燃烧时间,单位 tick。100 tick 约 5 秒。0 为关闭。

effects.potion-effects

yaml
potion-effects:
  - "SLOW:100:1"

命中后直接给目标添加药水效果,不要求箭材质为 TIPPED_ARROW

粒子

yaml
particle: "FLAME"
particle-count: 2
particle-speed: 0.01
配置说明
particleBukkit 粒子名称,留空关闭
particle-count每次轨迹粒子数量,0 关闭
particle-speed粒子速度参数

粒子名称需要当前服务端版本支持。

MythicMobs 技能

yaml
mythic-skills:
  - "GTQ_FlameImpact"

命中实体或方块时施放技能。技能名称必须与 MythicMobs 配置一致。

GTCore 命中动作

yaml
hit-actions:
  - "tell color &a箭矢命中"

动作格式按当前 GTCore 动作系统填写。

可用上下文:

text
player
player_uuid
arrow_id
projectile
target
world
x
y
z

命中方块时 target 为空。

CA/AP 与公式叠加

箭物品上的 CA/AP 属性和 formula-damage 会分别计算。

只使用 CA/AP 伤害时:

yaml
formula-damage: []

只使用 GTQuiver 公式时:

yaml
attribute-bridge:
  provider: "NONE"

同一份伤害同时写在属性 Lore 和公式中会叠加。

发放

text
/gtq givearrow <玩家> <箭ID> [数量]

别名:

text
/gtq arrow <玩家> <箭ID> [数量]

不要用普通 /give 仿造名称和 Lore,仿造物品不会执行 GTQuiver 自定义箭效果。

GTQuiver 自定义箭不能手持左键攻击实体。