问题描述
我是 Fabric mod 开发的新手,我遇到了一个有趣的问题。我需要一个 World 实例来执行我的 mod 中的某些操作,但我不知道如何获得它。我尝试了 Forge 的解决方案,但类名不同,我在 Fabric 中找不到合适的解决方案。我还查看了 wiki,但他们只写了关于创建自定义世界的内容。
有没有办法通过世界名称获取世界实例?还是只是为了获取世界列表?
解决方法
没有办法在客户端获得任何世界实例。这有两个非常明显的原因:
- 出于内存、CPU 和网络使用的原因,并非所有世界都不会在客户端加载/存在。
- 安全。客户端不需要知道哪些维度可用,那么服务器为什么要告诉它呢?如果您知道哪些维度可用,您或许可以找到游戏内限制的解决方法,尤其是在这些是自定义维度的情况下。
然而,您可以获得某个世界实例:客户端当前加载的维度。您可以通过指向 MinecraftClient.getInstance().world
实例的 ClientWorld
访问它。