NoFullBright

一个当检测到玩家使用全亮度材质包时执行命令的Paper插件。

资源图片
# NoFullBright NoFullBright 是一个小型 Paper/Spigot 插件,用于检测配置世界中可能的客户端“透视(fullbright)”使用,并在玩家超过警告阈值时运行可配置的命令。 ## 功能 - 定期在服务器端检查光照条件较低的情况,在这种情况下,玩家不应该能够看得清楚。 - 可配置的世界列表,其中检查处于活动状态。 - 当玩家反复处于可疑条件下时,执行配置的命令(支持占位符)。 - 轻量级和最小化:默认情况下没有命令或额外的侦听器。 ## 工作原理 每个预定间隔(默认:200 滴初始延迟和 200 滴运行间隔)插件会扫描配置世界中的所有玩家并评估每个玩家: - 如果玩家脚下附近的方块亮度水平低于 2 且玩家的 Y 坐标低于 40,则认为玩家“在黑暗中”。 - 如果玩家没有夜视或荧光药水效果,并且手中没有拿火把,插件会递增每个玩家的内部警告计数器。 注意:仅当玩家处于生存游戏模式时才会进行检查。在创造或旁观模式下的玩家将被检查忽略。 - 当警告计数器达到配置的阈值(默认 5)时,插件将执行配置的 `report-command`(带有 `%player%` 和 `%world%` 占位符),并重置该玩家的计数器。 - 如果玩家返回到安全状态,则警告计数器会随着时间推移而递减,直到达到 0。 这种方法试图通过在采取行动之前要求反复检测来减少误报。 ## 配置 (`config.yml`) 插件创建的默认 `config.yml`: ```yaml # NoFullBright configuration # worlds: list of world names where the anti-fullbright check runs # report-command: command executed on violation. You can use %player% and %world% placeholders. worlds: - hardcore report-command: 'report %player% utilizzo della fullbright in %world%' ``` - `worlds` (列表) — 检查将运行的确切世界名称。修改此列表以包含您希望启用透视反作弊检查的所有世界。 - `report-command` (字符串) — 当玩家达到警告阈值时,服务器控制台执行的命令。插件将 `%player%` 和 `%world%` 替换为玩家的名称和世界名称。确保您的服务器上存在该命令(例如,一个模组/举报插件)。如果命令不可用,则不会发生任何致命事件,但不会采取任何有用的操作。 ## 占位符 - `%player%` — 替换为玩家的名称。 - `%world%` — 替换为世界名称。 ## 建议 & 调优 - 如果您的世界名称各不相同(例如 `hardcore_1`、`hardcore_2`),请相应地更新 `worlds`。 - 如果您想要不同的灵敏度,我可以添加可配置的选项: - `light-threshold` (默认 2) - `y-limit` (默认 40) - `warning-count` (默认 5) - `tick-interval` (调度器延迟/周期) ## 故障排除 - 在违规时未执行任何操作:确保在 `report-command` 中设置的命令实际存在并且服务器控制台可以执行该命令(例如,另一个插件提供的 `report` 命令)。 - 误报过多:在问题页面上告诉我 - 插件在 `/plugins` 中未显示:确认 JAR 文件名是否正确,服务器日志显示它已加载;检查 `server.log` 以查找启动错误。 ## 许可证 随意使用。不提供任何保证。