LetsPlaytest

让玩家在短时间内测试你的服务器!

资源图片
## LetsPlaytest 插件允许服务器所有者轻松地为指定时限白名单玩家,从而实现独家的测试游戏。可以选择全局访问,所有玩家无需单独白名单即可加入,或针对性的测试采用每位玩家的白名单。 非常适合收集反馈并改进您的服务器! **依赖项:** - **Java 版本:** 17+ - **服务器版本:** 1.19.4+ ## 特性 - **测试模式:** 轻松切换专用的服务器测试模式。 - **全局白名单:** 允许所有玩家在指定时限内无需单独白名单即可加入。 - **每位玩家的白名单:** 为特定的玩家添加白名单,并设置自定义的到期时间和加入次数限制。 - **数据库支持:** 在 SQLite 和 MySQL 之间进行选择,以存储玩家和工作人员的数据,并改进了评分和加入的结构。 - **评分系统:** 允许玩家使用星级系统对服务器进行评分,并通过友好的 GUI 提供反馈。 此外,还可以奖励您的玩家对您的服务器进行评分! - **重置请求系统:** 允许管理员请求重置测试玩家的评分,并具有确认和到期功能。 - **HEX 颜色支持:** 为消息使用 HEX 颜色代码,增强视觉自定义,同时保留旧的颜色代码。 - **通知:** 通知玩家加入状态和测试模式活动的详细信息,包括平均评分。 - **命令管理:** 直观的命令结构,用于管理测试游戏,包括添加/删除玩家和工作人员以及查看玩家列表。 ## 命令 **测试游戏管理** - /playtest toggle - 切换测试模式 - /playtest global - 启用全局测试游戏 - /playtest disableglobal - 禁用全局测试游戏 - /playtest status - 查看测试游戏的状态 **玩家管理** - /playtest addplayer - 添加玩家 - /playtest removeplayer - 移除玩家 - /playtest playerslist - 测试游戏玩家列表 **工作人员管理** - /playtest addstaff - 添加工作人员 - /playtest removestaff - 移除工作人员 - /playtest stafflist - 工作人员列表 **评论管理** - /playtest reviews - 查看所有测试玩家的评论 - /playtest requestreset - 请求重置评论 - /playtest confirmreset - 接受重置请求 - /playtest denyreset - 拒绝重置请求 - /letsrateit - 评分您的服务器 - 别名: /rate, /lri **配置** - /playtest reload - 重新加载插件配置 ### 权限: - playtest.admin - 默认:Op - playtest.rate - 默认:True - playtest.reviews - 默认:Op ### 时长格式: - **d:** 天 // 7d - **h:** 小时 // 7h - **m:** 分钟 // 7m - **(t):** 次数 // 玩家将在 X 次 (/playtest addplayer steve 5) 之后允许加入 ## 文件
默认: config.yml ``` # LetsPlaytest 插件配置 # 感谢您安装我的插件! <3 # 数据库配置 database: # 支持类型: sqlite, mysql type: sqlite # MySQL 配置 (仅在类型为 'mysql' 时使用) mysql: host: localhost port: 3306 database: minecraft username: root password: '' notifications: join-alerts: true rewards: enabled: true star-rewards: 5: - "give %player% diamond 3" - "eco give %player% 1000" 4: - "give %player% diamond 1" - "eco give %player% 500" 3: - "give %player% gold 32" 2: - "give %player% iron 3" 1: - "give %player% coal 1" # 没有恶意 :) rating: # 评分后是否需要反馈 feedback-required: true feedback-min-length: 10 # 最小字符数 (0 以禁用) feedback-max-length: 200 # 最大字符数 (0 以禁用) # 评分项目配置 # 支持 HEX 代码 # 格式: &#FFFFFF rating-items: 1: material: "RED_STAINED_GLASS_PANE" custom-model-data: 1001 name: "&f差评" # 请勿添加任何非白色颜色,它将被自动删除。 lore: - "&7点击评 1 星" - "&e最低评价" 2: material: "ORANGE_STAINED_GLASS_PANE" custom-model-data: 1002 name: "&f尚可" # 请勿添加任何非白色颜色,它将被自动删除。 lore: - "&7点击评 2 星" - "&e低于平均水平" 3: material: "YELLOW_STAINED_GLASS_PANE" custom-model-data: 1003 name: "&f还可以" # 请勿添加任何非白色颜色,它将被自动删除。 lore: - "&7点击评 3 星" - "&e平均体验" 4: material: "LIME_STAINED_GLASS_PANE" custom-model-data: 1004 name: "&f好评" # 请勿添加任何非白色颜色,它将被自动删除。 lore: - "&7点击评 4 星" - "&e高于平均水平" 5: material: "BLUE_STAINED_GLASS_PANE" custom-model-data: 1005 name: "&f极好" # 请勿添加任何非白色颜色,它将被自动删除。 lore: - "&7点击评 5 星" - "&e完美的体验" 确认按钮: material: "LIME_DYE" custom-model-data: 1010 name: "&a确认评分" # 颜色可以更改 lore: - "&7点击确认您的评分" - "&e您稍后无法编辑您的评论" 关闭按钮: material: "BARRIER" custom-model-data: 0 name: "&c关闭" # 颜色可以更改 lore: - "&7点击取消评分" - "&7将不会保存评分" # 要更改 GUI 标题,请检查 messages.yml # 找到 "rating-gui-title" 一路往下。 ```
默认: messages.yml ``` # LetsPlaytest 插件消息配置 # 支持 HEX 代码 # 格式: &#FFFFFF # 玩家相关消息 player-add-success: '&6[LetsPlaytest] &a已将 {0} 添加到测试游戏列表。' player-remove-success: '&6[LetsPlaytest] &a已将 {0} 从测试游戏列表移除。' player-not-found: '&6[LetsPlaytest] &c未找到玩家。' player-already-in-list: '&6[LetsPlaytest] &c玩家已经在测试游戏列表中。' player-not-in-list: '&6[LetsPlaytest] &c玩家不在测试游戏列表中。' # 工作人员相关消息 staff-add-success: '&6[LetsPlaytest] &a已将 {0} 添加到工作人员列表。' staff-remove-success: '&6[LetsPlaytest] &a已将 {0} 从工作人员列表移除。' staff-not-found: '&6[LetsPlaytest] &c未找到工作人员。' staff-already-in-list: '&6[LetsPlaytest] &c玩家已经是工作人员。' staff-not-in-list: '&6[LetsPlaytest] &c玩家不是工作人员。' # 测试模式消息 playtest-mode-enabled: '&6[LetsPlaytest] &e测试模式 &a已启用' playtest-mode-disabled: '&6[LetsPlaytest] &e测试模式 &c已禁用' # 新的通知消息,包含状态占位符 playtest-mode-active-notification: '&6[LetsPlaytest] 测试模式当前处于 &6{status}!' playtest-mode-inactive-notification: '&6[LetsPlaytest] 测试模式当前处于 &c{status}。' playtest-join-notification: "&6[LetsPlaytest] 此服务器处于测试模式,整体评分为 &e{average}&6/&e5" playtest-join-staff-notification: "&6[LetsPlaytest] &e测试模式当前为 &6活跃" # 全局测试游戏消息 global-playtest-notification: "&6[LetsPlaytest] &a已启用全局测试游戏,持续时间为 {duration}。" global-playtest-disabled-notification: "&6[LetsPlaytest] &c已禁用全局测试游戏。" global-playtest-enabled: '&6[LetsPlaytest] &e全局测试游戏 &a已启用 &e持续时间 {duration}' global-playtest-disabled: '&6[LetsPlaytest] &e全局测试游戏 &c已禁用 &epermanently.' global-playtest-error: '&6[LetsPlaytest] &c设置全局测试游戏时出错。' # 命令用法消息 command-usage-addplayer: '&6[LetsPlaytest] &c用法: /playtest addplayer <玩家> <时长>' command-usage-removeplayer: '&6[LetsPlaytest] &c用法: /playtest removeplayer <玩家>' command-usage-addstaff: '&6[LetsPlaytest] &c用法: /playtest addstaff <玩家>' command-usage-removestaff: '&6[LetsPlaytest] &c用法: /playtest removestaff <玩家>' command-usage-global: '&6[LetsPlaytest] &c用法: /playtest global <时长>' command-usage-invalid-duration: '&6[LetsPlaytest] &c无效的时长格式。 使用 5d、3h、30m 或仅为数字。' command-usage-invalid: '&6[LetsPlaytest] &c未知子命令。 使用 /playtest 获取帮助。' command-no-permissions: '&6[LetsPlaytest] &c您没有执行此操作的权限。' # 踢出消息 playtest-kick-message: '&6此服务器目前处于测试模式。 您尚未获得加入权限。' playtest-expired-message: '6您的测试访问权限已到期。' playtest-join-limit-message: '&6您已达到最大加入次数。' # 数据库错误消息 database-error-general: '&6[LetsPlaytest] &c发生数据库错误。 请联系管理员。' database-error-connection: '&6[LetsPlaytest] &c无法建立数据库连接。' # 帮助命令消息 help-header: '&6[LetsPlaytest] &f命令:' help-toggle: '&6/playtest toggle &7- 切换测试模式' help-addplayer: '&6/playtest addplayer &7- 添加玩家' help-removeplayer: '&6/playtest removeplayer &7- 移除玩家' help-addstaff: '&6/playtest addstaff &7- 添加工作人员' help-removestaff: '&6/playtest removestaff &7- 移除工作人员' help-global: '&6/playtest global &7- 启用全局测试游戏' help-disableglobal: '&6/playtest disableglobal &7- 禁用全局测试游戏' help-status: '&6/playtest status &7- 查看测试游戏的状态' help-reviews: '&6/playtest reviews &7- 查看所有测试玩家的评论' help-requestreset: "&6/playtest requestreset &7- 请求重置评论" help-confirmreset: "&6/playtest confirmreset &7- 接受重置请求" help-denyreset: "&6/playtest denyreset &7- 拒绝重置请求" help-playerslist: '&6/playtest playerslist &7- 测试游戏玩家列表' help-stafflist: '&6/playtest stafflist &7- 工作人员列表' help-reload: '&6/playtest reload &7- 重新加载插件配置' # 重新加载消息 reload-message: '&6[LetsPlaytest] 测试游戏插件配置已成功重新加载。' # 列表标题 playtest-players-header: '&6--- 测试游戏玩家 ---' playtest-status-header: "&#FFAA00--- 测试游戏状态 ---" staff-members-header: '&6--- 工作人员 ---' player-list-format: "&7{player} - {expiration_info}" staff-list-format: "&7{staff_member}" # 状态消息 playtest-mode-status: "&e测试模式: &f{0}" global-playtest-active: "&e全局测试游戏: &6Active for {time}" global-playtest-expired: "&e全局测试游戏: &f已到期" global-playtest-not-active: "&e全局测试游戏: &f未激活" active-player-count: "&e活跃测试游戏玩家: &f{0}" staff-count: "&e工作人员: &f{0}" playtest-expiration: "&e您的访问权限将在: &f{time} 到期" # 评分摘要消息 overall-rating: "&6整体评级: &#FFFFFF{average}/5 (来自 {count} 条评论)" rating-distribution: "&6评级分布:" rating-stars: "&6{stars} &f{count} 条评论" # 评论命令消息 reviews-header: "&6--- 玩家评论 ---" review-format: "&6{player}: {rating}/5 - &7{feedback}" no-reviews: "&6未找到评论。" reviews-usage: "&6Usage: /playtest reviews [page]" review-page: "&6Page {current}/{total}" # 评分和反馈消息 rating-gui-title: "&8对本服务器进行评级" # <- 它就在这里 rating-message: "&6[LetsPlaytest] 通过 /letsrateit 体验您的体验。" rating-overall-message: "&6[LetsPlaytest] 此服务器处于测试模式,整体评分为 {rating}/5" rating-success: "&6[LetsPlaytest] 感谢您评分为 {0}/5 的评分!" rating-error: "&6[LetsPlaytest] &c保存评论时出错! 请联系管理员。" reward-message: "&6[LetsPlaytest] 您因您的 {rating} 星评级而获得了奖励! ({rewards_count} 个物品)" feedback-prompt: "&6[LetsPlaytest] 请在聊天中键入您的反馈(或键入“cancel”以跳过):" feedback-success: "&6[LetsPlaytest] 感谢您的反馈!" feedback-cancelled: "&6[LetsPlaytest] 取消了反馈提交。" rating-already-given: "&6[LetsPlaytest] 您已经对本服务器进行了评分。" rating-no-permission: "&6[LetsPlaytest] 您没有权限对本服务器进行评分。" feedback-too-short: "&6[LetsPlaytest] 您的反馈必须至少长 {0} 个字符。" feedback-too-long: "&6[LetsPlaytest] 您的反馈不能超过 {0} 个字符。" 重置请求: reset-request-sent: "&6[LetsPlaytest] &e已将重置评论请求发送给 &6{player}" reset-request-received: "&6[LetsPlaytest] 管理员想要重置您的评论。 输入 &6/playtest confirmreset &e或 &6/playtest denyreset" reset-success: "&6[LetsPlaytest] 您的评论已重置! 您现在可以提交一个新的评论了。" reset-denied: "&6[LetsPlaytest] 评论重置请求被拒绝。" reset-expired: "&6[LetsPlaytest] 重置请求已到期或不存在。" admin-reset-cancelled: "&6[LetsPlaytest] 玩家 {player} 已 &c拒绝 &6了评论重置。" admin-reset-confirmed: "&6[LetsPlaytest] 玩家 {player} 已 &a接受 &6了评论重置!" ```
## 计划 1. ~~**HEX 颜色支持**~~ _(在版本 1.1.0+ 中可用)_ 2. ~~**玩家反馈**~~ _(在版本 1.1.0+ 中可用)_