面板数据
CommandPanels提供两种数据存储方式,用于构建动态响应式的交互界面:会话数据与面板数据。理解二者的区别能让你更好地掌控玩家交互数据在面板与命令间的存储与调用。
会话数据
会话数据是临时存储的数据类型,仅当玩家在线时存在。这类数据可在不同面板间持续传递。一旦玩家离开了服务器,此类数据就会被清空。
会话数据非常适用于:
- 在不同面板间传递输入值。
- 创建需要分多个阶段完成的任务。
- 临时存储用户的决定或选择。
当玩家进行以下交互时,系统会自动处理此类数据:
- 在对话框面板中的输入框输入内容。
- 通过基岩面板提交表单。
- 执行带参数的自定义命令。
- 进行临时状态变更。
你也可以通过命令标签与占位符直接调用会话数据。
面板数据
面板数据是永久存储的数据类型,数据存储在data.yml文件内。该文件位于插件文件夹的根目录下,与config.yml及panels/文件夹同级。
面板数据适用于:
- 长期记录用户的偏好设置。
- 在服务器重启后保留功能的开关状态。
- 进度追踪或永久性记录。
由于其具有永久性,此类数据在服务器重启后或玩家离线时依然有效。请注意,除非服务器处于关闭状态,否则直接修改数据文件是无效的,在服务器运行期间变更的数据只会被之前的数据覆盖。
提示
在执行操作时,可在面板数据命令中添加-s参数来屏蔽操作的反馈消息。
在面板中使用数据
两种数据类型均可通过命令标签和占位符进行操作。你可以使用它们来设置、获取或删除会话数据和面板数据中的值。关于二者的具体用法,请参阅命令标签和占位符页面。
数据作用域摘要
| 特性 | 会话数据 | 面板数据 |
|---|---|---|
| 生命周期 | 玩家在线期间(离开服务器时失效) | 持久化存储(直至手动移除或覆盖) |
| 磁盘存储 | 否 | 是,储存在data.yml中 |
| 适用场景 | 存储临时数据 | 存储永久数据 |
| 设置方式 | 输入框、基岩表单、对话框都可自动设置,也可手动设置 | 仅支持手动设置 |