ATHENA

一个全面且强大的 Paper 事件调试器。

资源图片
# 概述 ATHENA 是一个易于使用且信息丰富的事件调试器,适用于服务器所有者和插件开发者,旨在成为用户友好且健壮的工具。 ### 需求 - Java 16 - Minecraft 1.17 或更高版本 - Paper,或其任何分支。 ## 指令 - `/athena listen <事件名称>` - 开始监听特定事件。如果失败,则需要包含完整的包。 - `/athena listeners <事件名称|插件>` - 列出所有监听给定事件的插件,或给定插件中的所有活动监听器。 - `/athena stop [事件名称]` - 停止监听特定事件,或如果未指定任何内容则停止所有事件。 - `/athena lookup <命令>` - 找到命令的来源及其运行权限。 ## 权限 - `athena.command.stop` - 访问 `/athena stop`。 - `athena.command.lookup` - 访问 `/athena lookup`。 - `athena.command.listen` - 访问 `/athena listen`。 - `athena.command.listeners` - 访问 `/athena listeners`。 ## 重要提示和免责声明 ATHENA 的设计宗旨是易用性、稳定性和详细性。但是,性能不一定是该插件的优先事项。虽然我已经尽我所能使插件尽可能地优化,但不建议在不需要时运行 ATHENA。该插件使用大量的反射来从事件中收集数据并执行操作,这本身会对性能产生影响。此外,虽然 ATHENA 不会(或至少试图不会)干扰单个插件的监听器,但它可能会影响它们在 Paper 的 Timings 中出现的优化程度。如果您使用 Timings 测量事件性能并且启用 ATHENA,建议单独进行测量(例如,首先使用 `/timings paste`,然后使用 ATHENA 查看一次的完成时间)。 如果您是服务器所有者,并测量监听器持续时间,您只需当单个监听器的完成时间超过 40 毫秒时才应该担心性能。Minecraft 中的单个滴答需要 50 毫秒的时间,因此 20 TPS 是服务器需要努力达到的重要数字。请不要因为插件的监听器时间只是最长而催促插件开发者;一些插件需要执行比其他插件更多的任务。此外,spark/profiling 报告以及 timings 可能比 ATHENA 的单个片段更有帮助。 如果 ATHENA 无法监听特定事件或在您尝试这样做时崩溃,请提交 issue 并附带该事件。如果是来自插件的事件,请尽可能发送事件类。 如果 ATHENA 出现错误,它仍然可以让它控制的监听器运行,因此它不应影响其他插件的功能。 异步执行的事件可能无法拾取插件来源。 对改进插件的建议 - 包括其性能 - 欢迎提供 PR 和建议。