重要提示
请勿使用 OP 权限测试此插件,存在一些可绕过的权限!
许多玩家不阅读服务器规则,导致无法遵守。AcceptTheRules 为此提供了一个解决方案,并且它是免费的!玩家必须一次性接受服务器规则,然后才能与其他玩家一同游戏。规则会分页显示,确保没有规则会被遗漏。最后,系统会询问玩家是否接受这些规则。
通过简单的配置,您可以决定玩家接受或拒绝规则后会发生什么。例如,接受规则后可以授予玩家特定权限组或给予特殊物品。这一切都由服务器所有者决定。
---
核心功能
- 欢迎消息:向尚未接受规则的玩家显示欢迎信息。
- 冻结玩家:可冻结玩家,强制其阅读规则。
- 交互式阅读:通过点击按钮交互式地浏览规则。
- 规则更新通知:当规则变更时,能简单有效地通知玩家。
- 色彩支持:为您的规则或消息使用颜色代码。
- 自定义命令:可配置玩家接受或拒绝规则时执行的命令。
- 玩家信息查询:获取玩家是否接受规则以及接受版本的信息。
- 高度可配置:所有功能均可配置。
- 行为限制:在阅读并接受规则前,可阻止玩家发送聊天消息、执行命令(有例外)、在服务器上移动或与物体交互。
- Markdown 支持:规则支持使用 Markdown 格式。
- 基岩版支持:为 GeyserMC / 基岩版玩家提供新的
/rulesGUI(需要 Floodgate)。
---
安装指南
- 停止您的服务器。
- 将
AcceptTheRules.jar文件拖放到服务器的plugins文件夹中。 - (可选)如需基岩版 GUI 支持,请安装 Floodgate。
- 启动服务器。
- 启动后,插件会自动生成
AcceptTheRules文件夹及所有配置文件。您现在可以进行个性化设置并使用插件了。别忘了重载配置(使用/atr reload)。
---
命令列表
玩家命令
/rules或/rule- 显示规则。/rules [数字]或/rule [数字]- 显示特定的一条规则。
管理员命令
/atr- 显示包含所有命令的管理员菜单。/atr [玩家名]- 显示指定玩家的信息。/atr report- 生成一个用于快速寻求支持的 zip 文件。/atr reload- 重载所有配置。/atr info- 显示插件信息。/atr reset [玩家名]- 重置指定玩家的“已接受状态”。/atraccept [玩家名]- 为指定玩家接受规则。/atr stats- 显示一些用户统计信息。/atr player [玩家名]- 显示指定玩家的信息(与/atr [玩家名]功能相同)。
---
权限节点
管理员权限
atr.admin.atr- 默认:OP(允许使用/atr命令)。atr.admin.*- 所有管理员权限。atr.admin.reload- 允许使用/atr reload。atr.admin.help- 允许使用/atr help。atr.admin.playerInfo- 允许使用/atr [玩家名]。atr.admin.info- 允许使用/atr info。atr.admin.acceptOthers- 允许为其他玩家接受规则。atr.admin.updateCheck- 允许使用更新检查器。atr.admin.reset- 允许重置单个玩家的“已接受状态”。
玩家权限(默认均为 `true`)
atr.user.rules- 允许查看规则。atr.user.atrnext- 允许翻到下一页。atr.user.atrback- 允许翻到上一页。atr.user.atraccept- 允许点击“接受”按钮。atr.user.atrdeny- 允许点击“拒绝”按钮。atr.user.atrgui- 允许使用 GUI 界面。atr.user.bypass- 允许忽略定期的重新接受规则要求。
---
占位符
%player%- 玩家名称。%page%- 当前规则页码。%maxPage%- 最大规则页码。%asPlayer%- 以该玩家的身份(及其权限)执行命令。
---
配置简介 (`settings.yml`)
主要配置文件为 settings.yml,以下为关键部分说明:
菜单按钮
可自定义导航按钮的文本和颜色(使用 Minecraft 颜色代码)。Space 用于设置按钮间的间距。
分页设置
RulesPerPage:每页显示的规则数量。RulesCooldown:玩家点击“下一页”前需要等待的秒数,防止快速跳过规则。
标题与页脚
可自定义各页面(规则页、接受页、玩家信息页)的页眉和页脚文本及颜色。
命令执行
AcceptedExecutes:玩家点击“接受”后,由控制台执行的命令列表。DenyExecutes:玩家点击“拒绝”后,由控制台执行的命令列表。- 可在命令中使用
%player%和%asPlayer%占位符。
允许的命令
当 Prevent -> Commands 启用时,玩家在未接受规则前仍可执行的命令白名单。
启动消息
可设置是否在玩家加入时发送欢迎消息,以及发送的延迟时间。
冻结玩家
启用后,玩家在接受规则前将被冻结。MessageCooldown 可防止玩家移动时被消息刷屏。
行为限制
可分别设置是否阻止玩家:聊天 (Chat)、使用命令 (Commands)、与方块交互 (Interact)。MessageCooldown 为触发限制时的消息冷却时间。
定期重新接受
启用后,玩家在设定的天数(现实天数)后必须重新接受规则。
---
支持与反馈
如果您遇到问题或有建议,可以通过以下方式联系
- Discord:https://discord.gg/5zuC36R
- SpigotMC:讨论帖或私信
为了能快速提供帮助,请在反馈时提供以下信息
- 在服务器后台执行
/atr report命令。 - 将生成的
Report.zip文件(位于plugins/AcceptTheRules/目录下)发送给我。 - 简要描述您遇到的问题。
支持使用德语和英语进行交流。
---
关于开发者
这是来自同一开发者的其他插件
- StreamingModule:观看 Twitch.tv 上的 Minecraft 直播,从您喜爱的主播那里获得游戏内掉落物。
如果您喜欢这个插件,一个好评比捐赠对我帮助更大,因为好评能让其他玩家更好地了解这个插件。当然,如果您仍想支持,我也非常感谢。
AcceptTheRules 插件简介
AcceptTheRules 是一款用于管理服务器规则的 Minecraft 插件。它要求玩家在加入服务器前阅读并接受规则,确保每位玩家都了解并同意遵守服务器守则,从而维护良好的游戏环境。
如何修改规则?
要修改服务器规则,请按以下步骤操作
编辑规则文件
- 在服务器上安装插件并启动服务器。
- 进入服务器文件目录下的
/plugins/AcceptTheRules/文件夹。 - 打开
rules.yml文件进行编辑。
规则格式说明
- 每个以
-开头的条目代表一条规则。 - 如果规则内容以特殊字符开头,请在整个规则文本的首尾使用双引号。
- 你可以使用
\n来强制换行。包含一个或多个换行的规则仍被视为一条规则。
应用更改
- 保存
rules.yml文件。 - 在游戏内输入命令
/atr reload或直接重启你的服务器。新的规则就会生效。
教程与扩展
西班牙语教程
如需西班牙语的使用教程,请查阅相关资源。
PlaceholderAPI 支持(含离线支持)
该插件支持 PlaceholderAPI,你可以使用以下占位符:
%atr_accepted%- 当前玩家是否已接受规则。%atr_accepted_<playername>%- 指定玩家是否已接受规则。%atr_accepteddate%- 当前玩家接受规则的日期。%atr_accepteddate_<playername>%- 指定玩家接受规则的日期。%atr_version%- 当前玩家接受的规则版本。%atr_version_<playername>%- 指定玩家接受的规则版本。%atr_currentversion%- 服务器当前的规则版本。%atr_rulesamount%- 规则总条数。
开发者 API (v8.0 及以上版本)
获取当前 API 版本
AcceptTheRulesAPI atrAPI = new AcceptTheRulesAPI();
String atrAPIVersion = atrAPI.getAPIVersion();检查玩家是否已接受规则
AcceptTheRulesAPI atrAPI = new AcceptTheRulesAPI();
boolean hasAccepted = atrAPI.hasAcceptedTheRules(player.getUniqueId());获取玩家接受规则的日期与时间
AcceptTheRulesAPI atrAPI = new AcceptTheRulesAPI();
Date acceptedDate = atrAPI.getAcceptedDate(player.getUniqueId());获取玩家已接受的规则版本
AcceptTheRulesAPI atrAPI = new AcceptTheRulesAPI();
String playerRulesVersion = atrAPI.getAcceptedRulesVersion(player.getUniqueId());获取服务器当前的规则版本
AcceptTheRulesAPI atrAPI = new AcceptTheRulesAPI();
String currentRulesVersion = atrAPI.getCurrentRulesVersion();根据 UUID 获取玩家名称
AcceptTheRulesAPI atrAPI = new AcceptTheRulesAPI();
String playerName = atrAPI.getPlayerName(player.getUniqueId());获取所有规则列表
AcceptTheRulesAPI atrAPI = new AcceptTheRulesAPI();
List<String> rulesFromATR = atrAPI.getRules();如何将 AcceptTheRules 集成到你的项目
请按以下步骤在你的插件中使用 AcceptTheRules API:
项目配置
- 将版本 8.0 或更高的
AcceptTheRules插件添加到你的项目库中。 - 在你的
plugin.yml文件中,在depend: [AcceptTheRules]下指定依赖,以便后续在服务器上使用相关功能。 - 利用提供的 API 可能性构建你自己的功能。
服务器部署
- 将 AcceptTheRules(至少 v8.0 或更高版本)放入服务器的
plugins文件夹。 - 将你使用了 AcceptTheRules API 的自定义插件也放入
plugins文件夹。