配置文件参考
小镇等级、物资贡献、成就、金库与功能配置入口。
新增功能配置
| 文件 | 用途 |
|---|---|
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表示不要求该条件。