搜索

配置文件参考

小镇等级、物资贡献、成就、金库与功能配置入口。

新增功能配置

文件 用途
menus.yml 全部 GUI 标题、大小、槽位、按钮、动态条目模板、状态文字和装饰
features.yml 金库、红包、镇民友伤开关
warehouse.yml 仓库大小与禁放物品规则
competition.yml 竞赛时长、积分、冷却和获胜奖励
contribution-shop.yml 贡献商品、价格、等级门槛和奖励命令

共享仓库内容保存到 warehouses.yml,未领完红包保存到 red-packets.yml,成就记录保存到 achievement-data.yml。这三个文件是本地运行数据,不是配置模板,也不会随着主体数据切换到 MySQL。小镇主体数据(包括小镇资金、累计/可用贡献和个人友伤设置)使用所选的 YAML、SQLite 或 MySQL;SQLite 会自动迁移到 schema v7,MySQL 会自动迁移到 schema v5,并补全小镇创建时间和成员加入时间字段。

YAML 存储会在 towns.yml 中写入小镇 created-at 和成员 joined-at。旧数据没有时间字段时按历史数据处理,新建小镇和新加入成员会记录准确时间。

金库默认 bank.allow-withdraw: false,与参考文档的单向资金捐入一致。开启取款后,存款不会发放贡献,防止管理职位循环存取刷贡献。

config.yml 说明

数据存储

此处选择的是小镇主体数据的存储方式;仓库、红包、成就仍使用上述本地数据文件,备份时应保留完整 plugins/LiTown/ 目录。

storage:
  type: "yaml"

可选值:

  • yaml:文件存储,适合小服。
  • sqlite:本地数据库,适合中小服。
  • mysql:远程数据库,用于需要外部数据库保存主体数据的部署;不代表仓库、红包或成就已跨服共享。

MySQL 需要配置:

storage:
  type: "mysql"
  mysql:
    host: "127.0.0.1"
    port: 3306
    database: "adventure_town"
    username: "root"
    password: ""

小镇设置

town:
  create-cost: 1000.0
  name-min-length: 2
  name-max-length: 10
  default-member-limit: 20
  member-limit-per-level: 2
  teleport-enabled: true
  teleport-cooldown-seconds: 60
  teleport-warmup-seconds: 3

说明:

  • create-cost:创建小镇费用,有 Vault 时扣金币。
  • teleport-warmup-seconds:传送读秒,移动会打断。
  • teleport-cooldown-seconds:传送冷却。
  • home-blocked-worlds:禁止设置和使用小镇据点的世界列表。

小镇等级

levels:
  1:
    required-exp: 100
    member-limit: 20
    reward-money: 0
    reward-material-points: 0
    reward-commands: []
    icon:
      material: CAMPFIRE
      display-name: "&6{town} &8· &a篝火营地"
      lore:
        - "&7小镇等级:&f{level}"
        - "&7升级经验:&f{exp}&7/&f{required_exp}"
      custom-model-data: 0
  2:
    required-exp: 200
    member-limit: 24
    reward-money: 500
    reward-material-points: 20
    reward-commands: []
    icon:
      material: OAK_DOOR
      display-name: "&6{town} &8· &e安居小镇"
      lore:
        - "&7小镇等级:&f{level}"
        - "&7升级经验:&f{exp}&7/&f{required_exp}"
      custom-model-data: 0
  3:
    required-exp: 300
    member-limit: 30
    reward-money: 1000
    reward-material-points: 40
    reward-commands: []
    icon:
      material: BELL
      display-name: "&6{town} &8· &6热闹小镇"
      lore:
        - "&7小镇等级:&f{level}"
        - "&7升级经验:&f{exp}&7/&f{required_exp}"
      custom-model-data: 0

每级可以配置:

  • 升级所需经验。
  • 成员上限。
  • 升级奖励金币。
  • 升级奖励材料点。
  • 升级执行的控制台命令。
  • 等级图标材质、名称、Lore 和可选的 CustomModelData。

等级图标

默认图标:

等级 材质 显示称号
1 CAMPFIRE 篝火营地
2 OAK_DOOR 安居小镇
3 BELL 热闹小镇

图标字段:

字段 说明
material Bukkit 材质名称,必须是可放入物品栏的物品材质
display-name 图标显示名,支持 & 颜色代码和小镇占位符
lore 图标说明文本列表,支持 & 颜色代码和小镇占位符
custom-model-data 资源包模型数据;0 表示不设置,正整数表示启用对应模型

等级图标会显示在小镇总览、排行榜、入镇申请和小镇竞赛菜单。名称与 Lore 支持:

  • {town}:小镇名称。
  • {level}:当前等级。
  • {exp}:当前等级经验。
  • {required_exp}:升级所需经验。
  • {members}:当前成员数量。
  • {reputation}:当前声望。

当当前等级没有单独配置图标时,会继承不高于当前等级且最接近的图标;材质无效时回退为 BELL。

例如只配置到 3 级时,4 级及以上小镇会继续使用 3 级图标,但 {level}、{exp} 等内容仍显示该小镇的真实数据。

资源包模型示例:

levels:
  3:
    icon:
      material: PAPER
      display-name: "&6{town} &8· &6热闹小镇"
      lore:
        - "&7小镇等级:&f{level}"
      custom-model-data: 10003

修改图标后执行:

/litown reload

旧版 config.yml 缺少图标字段时,插件会自动补全默认字段,不需要删除原配置。自定义字段请在重载前检查 YAML 缩进和材质名称。

contributions.yml 说明

物资贡献用于把日常采集物资交给小镇,不属于金库或银行功能。玩家可以通过 GUI 提交,也可以使用:

/litown supply [项目名称] [组数]

每个项目可配置原版物品、每组数量、个人贡献、小镇经验、材料点、播报和奖励命令:

projects:
  wheat_supply:
    display-name: "麦田补给"
    material: "WHEAT"
    required-amount: 32
    member-contribution: 8
    town-exp: 5
    material-points: 6
    broadcast: true
    reward-commands: []

roles.yml 中的 auto-promotion-contribution 控制职位自动晋升。填写 -1 表示该职位只能由管理员设置;填写 0 或更大整数表示达到对应贡献后可自动晋升。

achievements.yml 说明

小镇成就会在条件满足后自动解锁。

示例:

achievements:
  first_steps:
    display-name: "初具规模"
    description: "小镇达到 2 级"
    required-level: 2
    required-members: 0
    required-reputation: 0

条件字段:

  • required-level:需要小镇等级。
  • required-members:需要成员数量。
  • required-reputation:需要声望。
  • 填 0 表示不要求该条件。