## 生命周期
一个为 Minecraft 添加衰老和特质系统的插件。
### ⚠️ 声明 ⚠️
插件仍处于测试阶段,可能会出错,请自行承担风险使用!
### 功能
- 衰老系统以及可配置的年龄阶段和衰老间隔/寿命
- 特质系统
- 家族系统(可开关)(WIP - 尚未可用)
### 指令
- `/lifecycle` (`/life`)
- `check [玩家?]`
- 检查玩家的年龄和特质
- 权限:
- `lifecycle.check.others` (默认为:`False`)
- `lifecycle.check.self`(默认为:`True`)
- `age [set/subtract/add] [玩家] [数值]`
- 编辑目标玩家的年龄
- 权限: `lifecycle.age.[set/subtract/add]` (默认为:`False`)
- `trait`
- `list`
- 列出所有可用的特质
- 权限: `lifecycle.trait.list` (默认为:`True`)
- `set [玩家] [特质] [槽位]`
- 设置玩家的特质
- ⚠️ `[槽位]`: 当前实现会将输入的特质添加到玩家生命周期中可用的最高槽位。例如:玩家有 2 个特质分别在 0 槽和 1 槽。尝试将特质添加到 >=3 的槽位将导致特质被添加到 2 槽中。
- 权限: `lifecycle.trait.set` (默认为:`False`)
### PlaceholderAPI
- `%lifecycle_player_age%`
- `%lifecycle_player_trait_[索引]%`
### 示例配置
**`config.yml`**
```yml
lifecycle:
# 插件多久更新一次玩家的年龄(tick)
update-interval: 20
# 值越低,服务器崩溃时数据损失越少
backup-interval: 3000
# 玩家每老化一岁需要多长时间(tick)
age-interval: 6000
# 默认寿命(特质会增加/减少这个数字)
lifespan: 50
```
**`age_stages.yml`**
```yml
age-stages:
- name: infancy (婴儿期)
age: 0
earn_trait: FALSE
effects:
- type: POTION
effect: SLOWNESS
amplifier: 1
- type: POTION
effect: WEAKNESS
amplifier: 1
- type: POTION
effect: MINING_FATIGUE
amplifier: 0
- type: ATTRIBUTE
attribute: GENERIC_MAX_HEALTH
value: -14.0
- type: ATTRIBUTE
attribute: GENERIC_SCALE
value: -0.5
- name: Early Childhood (幼儿期)
age: 2
earn_trait: TRUE
effects:
- type: POTION
effect: SLOWNESS
amplifier: 1
- type: POTION
effect: WEAKNESS
amplifier: 0
- type: POTION
effect: MINING_FATIGUE
amplifier: 0
- type: ATTRIBUTE
attribute: GENERIC_MAX_HEALTH
value: -10.0
- type: ATTRIBUTE
attribute: GENERIC_SCALE
value: -0.45
- name: Middle Childhood (童年期)
age: 6
earn_trait: FALSE
effects:
- type: POTION
effect: SLOWNESS
amplifier: 0
- type: POTION
effect: WEAKNESS
amplifier: 0
- type: POTION
effect: MINING_FATIGUE
amplifier: 0
- type: ATTRIBUTE
attribute: GENERIC_MAX_HEALTH
value: -10.0
- type: ATTRIBUTE
attribute: GENERIC_SCALE
value: -0.4
```