Yarn: “世界”与“维度”与“级别”以及在哪里使用它们?

创建于 2016-09-21  ·  13评论  ·  资料来源: FabricMC/yarn

目前, World用于任何有关World类的单个实例的内容,这不太可能改变。 Level被用作单次保存的术语 - 在游戏中也被混淆地称为“世界”(例如“创建新世界”),尽管有时代码中的“级别”(例如“准备级别”)……”)。

以前我们的一些类使用“维度”来描述一个世界的实例(通常是哪个 ID - dimensionId )或其类型(主世界 / 下界 / 末地 - DimensionType ),尽管我'已经做了一些更改以完全摆脱对“维度”的提及。

我不确定这是解决问题的正确方法。 我们应该为某些东西保留名称“Dimension”,尽管我不完全确定_什么_要使用它。

discussion

最有用的评论

我的偏好是 WorldSave + World,其中 WorldSave 是 Worlds 的集合。

“Dimension” afaik 从英语 POV 来看是错误的,描述了可能是一些原始意图而不是这些天的实际含义/实现。 不同的世界在数学意义上没有特定的维度含义,而模组增加了更多的“维度”,甚至更接近于增加更多的世界。

Level 通常用于描述一个连续的区域/地图,相当于 Minecraft 中的一个世界。 提议的用途与此正交。

我不只是去保存,因为这相当模糊,所以 WorldSave 似乎是一个不错的选择。 Mojang 自己的选择很差,不太可能复制。

所有13条评论

我得到的印象是“Level”是早期版本中使用的名称,在多个维度实现之前。 我记得看到它的主要地方是闪烁的“保存级别...”文本,该文本在 Beta 的某个时候被删除,这是一些早期 Alpha 版本的残余,尽管在 SMP 中什么也没做,它还是出现了。 (IIRC,Classic 也使用 .mclevel 扩展名来保存游戏。)

服务器上保存游戏的默认名称是world (并且已经有 _long_ 时间了),这似乎暗示 World 是一个顶级容器。 子目录被称为DIM ,暗示 Dimension 是下一级。这些看起来是最“正确”的名称,并且更接近人们最习惯的名称。

WorldDimensionLevelWorld ,会遵循这个,但这有点奇怪。

但另一方面,net.minecraft.world.Dimension 会很尴尬。

我的偏好是 WorldSave + World,其中 WorldSave 是 Worlds 的集合。

“Dimension” afaik 从英语 POV 来看是错误的,描述了可能是一些原始意图而不是这些天的实际含义/实现。 不同的世界在数学意义上没有特定的维度含义,而模组增加了更多的“维度”,甚至更接近于增加更多的世界。

Level 通常用于描述一个连续的区域/地图,相当于 Minecraft 中的一个世界。 提议的用途与此正交。

我不只是去保存,因为这相当模糊,所以 WorldSave 似乎是一个不错的选择。 Mojang 自己的选择很差,不太可能复制。

世界拯救

唯一的问题是它与WorldSaveHandler冲突。

作为世界的集合

世界收藏? :P

或者,重命名WorldSaveHandlerWorldSerializer ? WorldPersistenceManagerEngineFactory

世界集合的其他选项:Universe、WorldStore

我并不讨厌Universe但这个名字只是微弱地暗示它是一个世界的集合,尽管它没有作为存储处理程序的功能,处理相对于世界目录的保存和加载。

我认为最简单的事情是将与特定世界相关的保存标记为 Dimension,并使用 GameSave 进行涉及多个世界的保存。

编辑:格式化

我们现在有更多的人参与这个项目,老人们可能有一些时间思考。 您的(当前)看法是什么?

我在使用 Dimension 时没有问题。 虽然这个词有多种含义,但在这种情况下也是正确的。 可能比宇宙更正确一点。

我想还值得一提的是,“Dimension”是社区用于 Vanilla 中不同世界/维度类型的名称: Minecraft Wiki - Dimensions

不过,我觉得将所有内容World更改Dimension非常奇怪。 好像不对。 我认为这可能是一种情况,我习惯的东西比……_可能_是一个更好的主意? 我们的依据是什么? Minecraft 在其 GUI 中将保存文件夹称为“世界”,而社区决定选择“维度”作为区分的方式这一事实?

社区选择了“维度”,因为维度 0 在“世界/地区”中,维度 1 在“世界/DIM1/地区”中。

我亲自为WorldSaveWorld ,和重命名WorldSaveHandler ,为类似WorldSerializer

现在我认为这是相当清楚的:
关卡 - 一个存档游戏(可能包括多个世界,如主世界、下界、末端、一些自定义维度)
World - 一个世界(客户正在观察的基本单位)。 每个世界都相互绑定到一种且只有一种维度类型。
维度 - 维度类型。 它由具有一些属性的数据包定义,例如超温、高度等。
至少这就是它们现在出现在纱线中的方式。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

ChloeDawn picture ChloeDawn  ·  5评论

copygirl picture copygirl  ·  6评论

Awakened-Redstone picture Awakened-Redstone  ·  4评论

Bixilon picture Bixilon  ·  5评论

haykam821 picture haykam821  ·  4评论