BigSpender

允许玩家在命令中使用数字缩写,例如“15k”和“1.25M”。 简单、轻量级且可配置。

资源图片
![](https://raw.githubusercontent.com/hjk321/BigSpender/main/contrived-scenario.png) # BigSpender BigSpender 是一个适用于 Paper 和 Spigot 的简单插件,允许玩家在与经济相关的命令中输入数字缩写。这消除了在命令中输入大量零的需求,从而节省时间和减少打字错误。对于经济规模非常大的服务器(余额达到数万亿甚至更高)来说,这尤其有用。换句话说,如果一名玩家需要支付 3 万亿美元(通常显示为“3T”),他们只需要输入“/pay Steve 3t”而不是输入九个零。 **v1.1 新特性:使用 PlaceholderAPI 支持格式化大数字!** 详情请参阅“占位符”部分。 ## 特性 - **简单:** 它只做它所设定的事情;不多也不少。 这种简单性使其能够与任何插件的任何命令配合使用。 - **轻量级:** 使用 OG Bukkit API 并且仅注册一个事件。 运行流畅且与所有游戏版本兼容。 - **可配置:** 您可以精确定义 BigSpender 应处理哪些命令(以及哪些子命令!),以及针对哪些参数。 还可以自定义数字后缀和 *非常大* 的数字。 请参阅 [config.yml](https://hangar.papermc.io/hjk321/BigSpender/pages/ExampleConfig) 了解更多详情。 ## 使用方法 将 jar 文件放入您的插件文件夹并运行您的服务器。 BigSpender 将在配置中启动一些默认设置,但您应该进入并定义自己的缩写和命令。 截至目前,您需要重新加载插件才能应用配置更改。 ## 权限 玩家需要 **bigspender.use** 权限才能处理他们的命令。 如果未安装权限插件,则默认情况下会授予所有玩家此权限。 ## 占位符 BigSpender 可选地支持 PlaceholderAPI,允许您使用配置文件中定义的缩写来格式化和解析数字。 无需额外下载——占位符包含在插件中。 `%bigspender_%` - 格式化给定的数字。 例如:`12300` -> `12.3k`。 默认为小数点后最多三位小数。 `%bigspender__%` - 允许您定义小数点后的最大位数。 0 表示您将获得整数(`12300` -> `12k`)。 `%bigspender_format_%` 和 `%bigspender_format__%` - 与上述相同,只是明确指定了格式化操作。 `%bigspender_parse_%` - 反向工作,接收格式化的数字并返回原始数字。 例如:`12.3k` -> `12300` 所有参数都支持括号占位符,例如,如果您有 rng 模块,则可以执行 `%bigspender_{rng_random}%`。这的主要用例将是格式化玩家的余额。 ## 示例配置 如果您想更好地了解如何使用该插件,请查看 [默认配置文件](https://hangar.papermc.io/hjk321/BigSpender/pages/ExampleConfig)。 ## 支持 如果您遇到问题,一个好的开始是在配置中启用“详细模式”并尝试运行一个有问题的命令。 这将在控制台中打印额外的信息,以帮助您找出问题所在。 如果这不起作用,请随时在 [Github Issues](https://github.com/hjk321/BigSpender/issues) 上联系。 请务必发布您的完整配置以及详细模式的输出,我将尽力提供帮助。 ## 常见问题解答 **Q:它是如何工作的?** **A:** 它通过在命令到达处理命令的插件之前读取和修改命令文本来工作。 这通过一个很少使用的事件“PlayerCommandPreprocessEvent”完成。 这种方法的优点是,该插件无需了解实际命令的任何详细信息,只需要扩展数字缩写的哪些部分即可。 **Q:我如何替换每个命令中的所有缩写?** **A:** 你不能。 这将导致许多 sneaky 问题,例如外观像可扩展数字,但实际上不是的参数——也许它们是玩家名称或消息的一部分。 更糟糕的是,玩家甚至不知道他们的命令出现问题的原因。 通过明确定义 BigSpender 处理哪些命令的哪些参数,您可以防止发生这些问题。 **Q:这适用于控制台吗?** **A:** 不,原因与上述原因类似。 一些插件以控制台运行命令,你绝对不想以这种方式干扰其他插件。 这也可能构成安全风险。 ## 需要改进的地方 如果我有时间,这些可能是需要改进的地方: - 在运行时重新加载配置的命令 - 使用缩写前缀而不是后缀的选项 - 自动解析命令别名和命名空间命令 - 可配置事件优先级 - 更好地处理使用参数自动完成的命令