服务器使用量
22
服务玩家数
256
下载量
6,861
插件详细介绍
当玩家破坏方块时,如果被破坏的方块位于配置文件中定义的列表中,插件将遍历每个奖励。奖励的触发机制是:如果随机数落在某个百分比范围内,则执行一系列命令。
核心特性
- 无限奖励:从 1.2 版本起,你可以在配置中定义任意数量的奖励,并随意命名。你还可以定义多个奖励组,从而拥有多个方块触发列表。
- 全局倍率:倍率(整数或小数)会乘以每个奖励的触发几率。例如,如果配置中奖励几率为 25%,倍率为 3,则实际几率为 75%。默认倍率为 1(即不影响几率)。
- 重要提示:请勿将倍率设为 0 来禁用奖励,这会使所有奖励的触发几率变为 0%。要禁用倍率效果,只需将其设为 1。
- 玩家名占位符:在任何待执行的命令中,
%player%会被替换为破坏方块的玩家名。 - 游戏内配置:大多数配置选项都可以在游戏内修改,无需编辑配置文件!你可以选择命令方式或 GUI 方式。
快速入门指南
使用 GUI 配置
- 在游戏中执行
/cmr gui打开 CMR 配置菜单。你可以在此查看每个奖励“组”以及一些全局设置(如全局奖励几率修改器和世界限制)。 - 点击一个现有的奖励“组”,或点击绿宝石块创建新组。同一组内的奖励共享一个可触发它们的方块列表,也可以共享其他设置(如世界限制)。
- 点击草方块来修改触发奖励的方块列表。点击你物品栏中的方块可将其加入列表,点击列表中的方块可将其删除。完成后点击返回。
- 点击一个现有的“奖励”(命令列表),或点击绿宝石块创建新奖励。每个奖励都有一系列触发时执行的命令,并有一个特定的触发几率。
- 在此菜单中,左击现有命令可在其后添加新命令,右击命令可将其从列表中删除。命令总是按顺序触发。使用 `%player%` 来指代触发奖励的玩家。完成配置后,请务必删除示例奖励(如果不需要)。
重要命令
/cmr:显示插件信息。/cmr help:显示/cmr命令的子命令列表。/cmr reload:重新加载倍率、触发奖励的方块列表、奖励本身及其属性(触发几率和触发时执行的命令)。/cmr gui [玩家名]:打开 CMR 配置 GUI。如果指定了玩家名,你可以附加到他们的编辑会话,在 GUI 中拥有与他们相同的权限,并可以替他们点击操作。/cmr debug:启用调试模式和调试日志。控制台将输出大量 CMR 工作时的信息,有助于故障排除。调试日志位于<服务器根目录>/plugins/CommandMineRewards/debug.log。服务器重启后调试模式会自动关闭。
配置命令
/cmr multiplier [倍率值]:读取或更新倍率值。倍率可以是整数或小数。/cmr block add <奖励组名> [方块]:向触发列表中添加方块。可以指定方块名称,或手持方块执行命令。/cmr block remove <奖励组名> [方块]:以同样方式从列表中移除方块。/cmr block list <奖励组名>:以清晰格式列出奖励组中所有触发方块。请确保列表中没有重复方块,否则插件可能行为异常。/cmr reward add <奖励组名> [奖励名]:创建新奖励。如果未指定奖励名,则创建新的奖励组。/cmr reward remove <奖励组名> [奖励名]:删除奖励或奖励组。注意:未指定奖励名时将删除整个奖励组。/cmr reward list [奖励组名]:列出所有已定义的奖励组。如果指定了奖励组名,则列出该组内的所有奖励。/cmr command add <奖励组名> <奖励名> <命令>:向指定奖励添加命令。命令可包含参数空格和%player%占位符。/cmr command insert <奖励组名> <奖励名> <插入位置> <命令>:在指定位置插入命令,该位置之后的命令 ID 会顺延。/cmr command replace <奖励组名> <奖励名> <索引> <命令>:替换指定索引处的命令。/cmr command remove <奖励组名> <奖励名> <命令ID>:从奖励中移除命令。可以使用命令 ID 或精确的命令内容(区分大小写)。/cmr command list <奖励组名> <奖励名>:显示奖励的所有命令及其 ID。/cmr world add [世界名] [奖励组名]:将世界添加到奖励组的允许世界列表中。若未指定奖励组,则添加到全局列表。若未指定世界名,则使用当前所在世界。/cmr world remove [世界名] [奖励组名]:从列表中移除世界。/cmr world list [奖励组名]:列出允许的世界。/cmr region add <区域名> [奖励组名]:类似/cmr world add,但针对 WorldGuard 区域。/cmr region remove <区域名> [奖励组名]:类似/cmr world remove,但针对区域。/cmr region list [奖励组名]:列出允许的区域。/cmr reward chance <奖励组名> <奖励名> [几率值]:修改或查看奖励的触发几率。
权限节点
基础权限
cmr.use.<奖励组名>.<奖励名>:允许玩家接收指定奖励组中特定奖励。cmr.use.*:允许玩家接收配置中定义的所有奖励。cmr.reload:允许用户重载 CMR 配置。cmr.debug:允许用户启用 CMR 调试模式。cmr.gui:允许用户为自己打开新的 CMR GUI 会话。cmr.gui.assist:允许用户附加到其他玩家的 GUI 会话。
配置权限
以下权限默认仅 OP 可用
cmr.block:允许查看方块列表。cmr.block.modify:允许使用/cmr block add和/cmr block remove添加/移除方块。cmr.reward:允许查看奖励名称列表。cmr.reward.modify:允许使用/cmr reward add、/cmr reward remove和/cmr reward chance添加/删除/修改奖励。cmr.command:允许查看奖励触发时执行的命令。cmr.command.modify:允许添加、插入和删除奖励中的命令。cmr.multiplier:允许查看当前倍率值。cmr.multiplier.modify:允许修改倍率设置。cmr.world:允许查看世界列表(包括奖励组和全局)。cmr.world.modify:允许修改世界列表。cmr.region:允许查看区域列表。cmr.region.modify:允许修改区域列表。cmr.silktouchpolicy:允许查看精准采集策略。cmr.silktouchpolicy.modify:允许修改精准采集策略。
配置详解
config.yml 主要选项
globalAllowedWorlds:字符串列表。所有奖励生效的世界列表。默认为["*"](所有世界)。globalAllowedRegions:字符串列表。类似globalAllowedWorlds,但针对 WorldGuard 区域。globalSilkTouch:字符串。可选REQUIRED、IGNORED或DISALLOWED。全局精准采集策略,默认为IGNORED。removeInvalidValues:布尔值。启动时是否自动删除方块列表中的无效方块。默认为false。survivalOnly:布尔值。是否仅允许生存模式玩家获得奖励。默认为true。validateWorldsAndRegions:布尔值。是否在使用相关命令时验证世界和区域是否存在。默认为true。verbosity:数字 (0, 1, 2)。控制台信息详细程度。0=仅错误,1=错误及执行的命令,2=全部详细信息。默认为 1。autopickupCompat:布尔值。是否启用与自动拾取插件的兼容模式。除非必要,否则应保持false。默认为false。randomizeRewardOrder:布尔值。是否随机化奖励的评估顺序,以避免偏向列表中的第一个奖励。默认为false。mcMMOHookEnabled:布尔值。是否启用 mcMMO 挂钩,仅对非玩家放置的方块发放奖励(需要安装 mcMMO)。默认为false。multiplier:数字。奖励几率倍率,与游戏内命令功能相同。默认为 1。
rewards.yml 奖励组结构示例
奖励组名:
blocks:
- 方块1
- 方块2
allowedWorlds:
- world
- world_nether
allowedRegions:
- 区域1
silkTouch: DISALLOWED
rewardLimit: 1
rewards:
奖励A:
chance: 5
commands:
- eco give %player% 200
- broadcast %player% 收到了奖励!
奖励B:
chance: 20
commands:
- give %player% diamond 1
- !msg %player% &a干得漂亮!字段说明
blocks:字符串列表。触发奖励的方块列表。例如,"wheat:true"检测完全成熟的作物,"wheat:false"检测未成熟的,仅"wheat"则检测所有生长阶段。allowedWorlds:字符串列表。该组奖励生效的世界列表。设为["*"]允许所有世界。若未设置或为空,则回退到globalAllowedWorlds。allowedRegions:字符串列表。类似allowedWorlds,但针对 WorldGuard 区域。silkTouch:字符串。可选REQUIRED、IGNORED或DISALLOWED。若未设置,回退到globalSilkTouch。rewardLimit:数字。单次破坏方块可获得的奖励数量上限。这会影响奖励的实际触发几率。rewards:该组下的奖励列表。每个奖励包含:chance:数字。奖励触发百分比 (1-100)。commands:字符串列表。触发时执行的命令,可使用%player%占位符。silkTouch:(可选)字符串。覆盖奖励组的精准采集策略。
特殊命令
你可以在命令列表中使用以下特殊命令
!msg <消息>!title <标题> <副标题> [<淡入时间> <停留时间> <淡出时间>]!sound <音效> [音量] [音高]
更多信息请使用 /cmr help special 查看。
常见问题与解答
Q:自动拾取插件导致 CMR 失效!
- 确保已在
config.yml中启用autoPickupCompat。 - 如果问题依旧,将
verbosity设为 2,重载插件并破坏方块,然后查看控制台输出。 - 如果显示事件被取消,可能是自动拾取插件不兼容。已知某些插件与 CMR 兼容。
- 如果仍无法解决,请联系开发者。
Q:CMR 不工作!
- 执行
/cmr debug并破坏方块。控制台应显示有用的错误信息。 - 如果无法解决,请联系开发者,并提供控制台输出、
config.yml和rewards.yml文件。
Q:如何寻求帮助或报告问题?
- 通过私信联系开发者。
- 前往 GitHub 仓库的讨论区。
- 提交 GitHub Issue。
- 加入 CMR Discord 服务器。
- 请注意:请勿在评论中发布错误或问题,开发者无法在那里提供帮助。
Q:CMR 包含统计功能吗?
- 是的,CMR 包含 metrics(统计),用于了解使用情况。你可以在
<服务器根目录>/plugins/bStats/config.yml中禁用它。
Q:寻求帮助时需要提供哪些信息?
- 请提供你的 CMR
config.yml和rewards.yml文件,以及调试模式下的日志。使用/cmr debug启用调试模式,在游戏中复现问题几次,然后发送相关文件和debug.log。
Q:CMR 支持 1.12.2 及以下版本吗?
- 近期 CMR 版本均针对 MC 1.13 或更高版本编译。大部分功能在旧版本上仍可工作,CMR 通常具有良好的向后兼容性。
- 从 CMR 7.1 开始,不再需要 CMRLegacyWG,所有功能均通过反射处理。
- 注意:GUI 功能在旧版本上无法使用,原因包括 1.12.2 到 1.13 的更改以及 PersistentDataContainer 在 1.14 之前不可用。
- 如果你希望在旧版本上获得 GUI 支持,请在讨论区提出,并确保你至少运行 CMR 7.0 并启用统计,以便开发者了解使用情况。
开发与反馈
- GitHub 仓库:你可以在 https://github.com/datatags/CommandMineRewards 报告问题。
- 功能请求:如果你是开发者,欢迎提交 Pull Request 来帮助实现新功能。
测试支持版本
版本分布
基本信息
插件名称
CommandMineRewards
作者
Datatags
平台
Bukkit / Spigot
支持版本
1.8 - 1.19
点赞数
3
最近版本
7.2.1
20
7.1.1
1