隐藏坐标

隐藏坐标

通过偏移发送到客户端的所有位置,对玩家隐藏坐标

冒险

隐藏坐标

服务端 Fabric 模组,用于阻止向客户端发送真实坐标。基于 Spigot 版本的 CoordinateOffset(作者 Joshua Prince)并部分复制自该模组。 同时感谢 Patbox,我从中使用了一小段来自 Polymer 的代码!

功能

  • 玩家的坐标会被偏移,使玩家进入当前世界时的位置(加入、传送、传送门或重生)对他们显示为 0, 0。
  • 管理员可以使用 /coordoffset get 查看自己的偏移量。
  • 管理员可以使用 /coordoffset set [pos] 修改自己的偏移量,使指定位置对他们来说位于 0,0 区块,或使用 /coordoffset set none 禁用偏移。
  • 任何世界边界墙只会发送给能够看到它的玩家。这是为了防止客户端模组通过世界边界中心信息立即推断出偏移量。

为什么?

游戏规则 reducedDebugInfo 会从调试屏幕中隐藏坐标,但这可以通过客户端模组轻松绕过。此模组通过偏移所有发送到客户端的坐标来真正隐藏坐标。 一个想要在没有诚信制度的情况下真正强制执行游戏规则 reducedDebugInfo 的服务器,将需要像这样的模组。这是我尝试实现的一个版本 :)

免责声明

我是一名新手模组开发者。我正在开发的一个服务器需要这个功能,于是把它作为一个学习机会做了出来。因此,这个模组并不具备所有功能,代码也相当混乱,而且可能存在 bug 或崩溃问题。但我仍然觉得它可能对其他人有用。请随意使用这些代码,也欢迎提出改进建议! 已知问题:

  • 与 CoordinateOffset 相比,这里缺少的主要功能是大量配置选项。偏移量始终设置为让你在 0,0 区块中生成,并且这会在死亡和切换维度时重置。
  • 世界边界扩大或缩小时看起来非常奇怪。
  • 我有可能漏掉了一些需要偏移的封包,请告诉我!