Skip to content

配置文件

配置文件结构如下

txt
CraneAttribute
├── attributes 脚本属性目录
│    └── 脚本文件(目录)
├── expansions 扩展功能目录
├── libs 脚本共享库目录
├── lang 语言文件目录
│    └── zh_CN.yml 语言文件
├── config.yml 核心配置文件
├── attribute.yml 属性相关配置文件
└── read.yml 读取相关配置文件

提示

所有目录均可在里面嵌套文件夹

默认配置

YAML
# 数据库设置
sql:
  # 关闭则将数据储存至本地
  enable: false
  host: 127.0.0.1
  port: 3306
  user: root
  password: "123456"
  database: "crane_attribute"
  auto save: 12000

# debug 等级
debug level: 0

# 取消注册的系统属性类型
# 仅在插件启动时生效一次,若取消了属性类型的注册,对应类型的属性也无法被加载
# 无法取消 DEFAULT 类型,它是必须存在的
cancel system attribute type: [ ]

# 创建插件默认资源文件
create system resource file: true


# 此功能暂未实现
# 属性计数器中,可以存储到数据库的计数器
counter persist:
  # 数值类型计数器
  values:
    - "test"
  # 文本类型计数器
  texts:
    - "test"
YAML
# 这里的属性始终跟随脚本中的设置,脚本中的设置会覆盖这里的设置
# 所以不要在这里改
# 🔢=优先级 💪=战斗力 🔝=最大值
attributes: {}
# ———————————— 属性触发器设置 ————————————
trigger setting: {}
# ——————————————— 其他选项 ———————————————
options:
  # 1️⃣ 取消伤害粒子,依赖 ProtocolLib 插件实现
  cancel heart particle: true
  # 2️⃣ 取消饱食度消耗
  cancel food change: true
  # 3️⃣ 取消原版护甲
  cancel default armor: true
  # 4️⃣ 血量相关
  health:
    # 默认生命值
    base value: 20.0
    # 是否生命压缩
    # 如果你使用了其他血条HUD覆盖 建议关闭
    scaled: true
    # 生命压缩血量
    scale: 20
  # 限制属性的世界
  # 属性触发逻辑会正常触发,只是性值无论如何都会为 0
  # 属性值为 0 是指属性被临时屏蔽了,操作属性源后会在切换到非限制世界后生效
  limit attribute worlds:
    - shop_world
YAML
# 数值读取组件的配置
read value: { }
# ———————————— 条件读取组件的配置 ———————————
read condition: { }
# ——————————— 属性映射读取组件的配置 ——————————
read mapping: { }
# ——————————————— 其他选项 ———————————————
options:
  # 1️⃣ 是否检测 lore
  parse lore: true
  # 2️⃣ 是否检测 nbt
  parse nbt: true
  # 3️⃣ nbt 设置
  nbt:
    # 是否开启 COMPOUND 格式的支持
    compound format: true
    # 是否开启 LIST 格式的支持
    list format: true
    # 检测 nbt 使用的标签
    tag:
      - CraneAttribute
      - 属性
  # 4️⃣ 拒绝提供属性检测的字符串
  refuse attribute string:
    - 此物品不提供属性
  # 5️⃣ 过滤符
  # 在高版本使用 §x 貌似也会正常显示成 &x,可以改成正常符号,或使用生僻字然后使用材质包等手段取消显示
  filter char:
    # 无视含有 {cancel} 的字符串
    cancel: "§-"
    # 只取字符串 {left} 的左边
    left: "§|"
    # 只取字符串 {right} 的右边
    right: "§>"
    # 通过 {spilt} 分割字符串
    spilt: "§/"

共享库目录

libs 脚本共享库目录,它会最先被插件加载

在此目录中,可以存入 .js.groovy 文件

这个里面的文件均会动态编译并加载到 JVM 中,可以在其他脚本文件和此目录下的文件相互调用

文件存放位置

文件类型属性文件位置扩展文件位置库文件位置
.jsattributes不支持libs
.groovyattributesexpansionslibs

.groovy 任意不同的文件可以都存放到 attributes libs expansions 任一目录中,但实际加载时,是按照的是文件本身的内容加载的,后面会详细介绍

.groovy 虽然可以随便放,但是还是建议按照不同的文件类型(功能)区分,否则可能混淆文件,不方便管理