在客户端按名称获取 World 实例

Getting World instance by name on client

我是 Fabric mod 开发的新手,我遇到了一个有趣的问题。我的 mod 中的某些操作需要一个 World 实例,但我不知道如何获取它。我尝试了 Forge 的解决方案,但 class 名称不同,我无法在 Fabric 中找到合适的解决方案。我还查看了 wiki,但他们只写关于创建自定义世界的内容。

有没有办法通过世界名称获取世界实例?或者只是为了获取世界列表?

无法在客户端上获取 any 世界实例。这有两个非常明显的原因:

  1. 出于内存、cpu 和网络使用的考虑,并非所有世界都loaded/present 在客户端。
  2. 安全。客户端不需要知道哪些维度可用,那么服务器为什么要告诉它呢?如果您知道哪些尺寸可用,您也许能够找到游戏内限制的解决方法,尤其是当这些尺寸是自定义尺寸时。

但是您可以获得某个世界实例:客户端当前加载的维度。您可以通过 MinecraftClient.getInstance().world 访问它,它指向一个 ClientWorld 实例。