大规模重构修改弹出机制,优化性能。

新的配置项目: rest-delay。
时间相关皆可设置随机时间。
优化游戏内聊天泡泡的编辑体验。
无破坏性修改。
This commit is contained in:
2024-11-06 23:02:11 +08:00
parent f763c8d53c
commit 03137e6115
9 changed files with 347 additions and 116 deletions

View File

@ -1,5 +1,7 @@
# AdyBubbles
版本: 2.5.0-SNAPSHOT
## 指令
- `bubbles popup <NPC_ID> <TEXT> [LIFE]` - 用于弹出泡泡
@ -7,13 +9,36 @@
- `bubbles-chat edit <NPC_ID>` - 用于编辑NPC顺序弹出的泡泡
- `bubbles-chat play <NPC_UUID>` - 用于播放NPC模式为ONCE弹出的泡泡
## 编辑NPC顺序弹出的泡泡
## 游戏内编辑NPC的对话泡泡 (推荐)
使用指令 `bubbles-chat edit <NPC_ID>`
使用指令 bubbles-chat edit <NPC_ID> 并根据提示操作。
根据提示操作
## 通过文件编辑NPC的对话泡泡 (不推荐)
## 配置
本插件的对话泡泡以 Adyeshach 的 Trait 形式存在,详见 特征。
Adyeshach 的特征保存为 yaml 存在于 `~/Adyeshach/npc/traits` 下。
本插件的对话泡泡特征文件名为 bubbles-chat。
则需要编辑 `~/Adyeshach/npc/traits/bubbles-chat.yml` 内的内容。
Example:
```yaml
44cb049b-c385-4654-b52f-cdc5a09dfb66: # NPC UUID
mode: loop # 弹出模式。
items: # 对话内容队列,每一个元素为一条。
- 你好
- 再见
period: 60 # 泡泡弹出间隔时间,可以是随机区间(单位:Tick) 可选参数,不填则跟随全局设置
rest-delay: 0 # 泡泡弹出每轮后的等待时长(区间同理) 可选参数,不填则跟随全局设置
# 模式:
# loop 只要NPC在玩家视野内就循环队列播放
# random 只要NPC在玩家视野内就一直随机队列播放
# once 仅当指令触发时播放一次
```
## 全局配置
Example:
@ -21,9 +46,12 @@ Example:
offset: 0.5 # 泡泡的偏移量(向上)
line-height: 0.5 # 泡泡的间距(向上)
chat:
period: 60 # 泡泡弹出间隔时间
period: 60 # 泡泡弹出间隔时间,可以是随机区间(单位:Tick)
# period: [60, 100] # 三秒到五秒内随机时长
rest-delay: 0 # 泡泡弹出每轮后的等待时长(区间同理)
# rest-delay: [0, 100] # 泡泡弹出一轮后等待随机时长后再开启新一轮
limit: 2 # 泡泡弹出数量限制(超出会自动清楚最早的泡泡)
lifetime: 20 # 泡泡存在的时间限制(超出会自动清除泡泡)
lifetime: 20 # 泡泡时间限制(超出会自动清除泡泡)
```
## 构建发行版本