坐标偏移
================
**一个可配置地模糊化玩家坐标的 Minecraft Spigot/Paper 插件。**
Minecraft 提供了有用的调试菜单 (F3),允许任何人轻松查看他们在世界中的坐标。
这使得保存兴趣点和与朋友(或敌人)分享位置变得容易。
然而,并非所有多人游戏服务器都希望坐标如此容易获取。 `/gamerule reducedDebugInfo` 可以
从 F3 菜单中管理地隐藏坐标,但玩家很容易添加客户端侧模组来
显示它们。

**坐标偏移** 是一个为 Spigot 和 Paper 服务器设计的插件,它修改服务器和客户端之间数据包中的所有坐标。玩家仍然看到他们通常会看到的完全相同世界。但无论他们
安装了哪些模组,他们都无法看到他们的真实坐标。
为什么?
----
此插件并非适用于所有服务器。这里有一些想法可能使坐标偏移很有用:
* **防止元游戏**: 如果您认为坐标的使用和共享是元游戏,这可以防止它。
* **增强游戏内物品**: 指南针、锚石、恢复指南针和地图不再被坐标所超越
当这些坐标不一致时。
* **防止坐标泄露**: 如果每个人都看到不同的坐标,玩家就无法从屏幕截图中的意外泄露中推断出彼此的坐标。
* **保护世界种子**: 任何未知的偏移都会使种子破解策略更困难。
* **中心坐标原点**: 将 (0, 0) 坐标放在您喜欢的任何位置。
特性
--------
* 完全可配置,灵活确定应用偏移的方法
* 当玩家加入、死亡或更改世界时,随机化偏移
* 将偏移量匹配玩家的位置,以便他们看到自己靠近世界的原点
* 每次玩家加入时都保留相同的偏移量,以便他们不会注意到坐标发生变化
* 按玩家、世界和权限配置不同的偏移量
* 可扩展 API 灵活地获取和设置偏移量
* (测试版) 与 ViaVersion、ViaBackwards、BungeeCord、Waterfall 和 Velocity 兼容
要求和安装
-----------------------------
* Spigot、[Paper (推荐)](https://papermc.io/) 或 Minecraft 1.17.x、1.18.x、1.19.x、1.20.x,1.21-1.21.8 的派生版本
* 对[安装此
插件的含义](https://github.com/joshuaprince/CoordinateOffset/wiki/Implications-and-Limitations)的理解。
确保您满足要求后,只需获取[最新
版本](https://github.com/joshuaprince/CoordinateOffset/releases/latest) 并将其放入服务器的 `plugins`
文件夹中即可。
配置
-------------
*主要文章:[配置指南](https://github.com/joshuaprince/CoordinateOffset/wiki/Configuration-Guide)*
主配置文件将在第一次运行后在 `plugins/CoordinateOffset/config.yml` 中自动生成。
```yaml
defaultOffsetProvider: random
```
默认配置包含四个预定义的“偏移提供者”。“偏移”是指玩家的坐标应该相对于其真实位置移动的程度。选择一种匹配
您尝试实现的目标类型的策略开始:
* `constant` - 指定您希望玩家拥有的确切偏移量。
* `disabled` - 玩家将看到他们的真实坐标。
* `random` - 每次玩家加入服务器时,都会单独随机化每个玩家的偏移量。
* `zeroAtLocation` - 基于玩家的起始位置使用偏移,以便他们看到自己靠近 (0, 0)。
您可以进一步自定义这些提供者,使用不同的提供者针对不同的玩家/世界/组,并定义您自己的提供者。查看完整的
[**配置指南**](https://github.com/joshuaprince/CoordinateOffset/wiki/Configuration-Guide)。
命令
--------
```
/offset [玩家]
```
获取您或任何其他玩家的当前偏移量和真实坐标。
```
/offsetreload
```
从 `config.yml` 重新加载配置。
权限
-----------
* `coordinateoffset.bypass`
具有此权限的玩家将不会有其坐标被偏移。
这是一个好主意,将其授予所有需要使用坐标执行命令或管理的人员。
* `coordinateoffset.query`
允许您使用 `/offset` 命令,该命令会告诉您当前的偏移量。
* `coordinateoffset.query.others`
允许您使用 `/offset <名称>` 查询其他玩家的偏移量。
* `coordinateoffset.reload`
允许您使用 `/offsetreload` 重新加载插件配置。
API
---
您可以使用 API 在您自己的插件中使用或扩展坐标偏移。请参阅
[API 指南](https://github.com/joshuaprince/CoordinateOffset/wiki/API)。
支持
-------
* 在[GitHub 上打开一个问题](https://github.com/joshuaprince/CoordinateOffset/issues) 以报告错误或请求功能。
* 加入[Chips's Mods](https://discord.gg/V3xYtqU9JU) Discord 以获得帮助。
鸣谢
-------
特别感谢 [Cavallium](https://github.com/cavallium) 开发
[**CoordinatesObfuscator**](https://github.com/cavallium/CoordinatesObfuscator),CoordinateOffset 是它的一个分支。
CoordinateOffset 的数据包翻译逻辑很大程度上借鉴了 CoordinatesObfuscator 的工作成果。
使用的库:
* [bStats](https://bstats.org/) ([此插件的统计数据](https://bstats.org/plugin/bukkit/CoordinateOffset/19988))
* [PacketEvents](https://github.com/retrooper/packetevents)
* [MorePersistentDataTypes](https://github.com/JEFF-Media-GbR/MorePersistentDataTypes)