Beyond Dimensions
Beyond Dimensions 是一个提供存储解决方案的模组。它引入了可在原版游戏后期获得的虚拟存储系统。
截图
介绍
Beyond Dimensions
Beyond Dimensions 是一个专注于存储与实用功能的模组。它引入了一种“维度网络”——一个多功能的存储系统,支持物品、流体、FE 能量、经验、通用机械的化学品、新生魔艺的源质、植物魔法的魔力以及工业先锋的灵魂。它将卓越的存储容量和性能与用户友好的界面相结合,轻松满足大多数场景下的存储需求。
入门指南
你需要击败凋灵,或通过其他任何方式获得下界之星。将其制作成不稳定的时空碎片。将此碎片放在你的物品栏中一小时,它会转化为稳定的时空碎片。使用它来制作维度网络生成器并激活它以创建你的维度网络。然后,只需按下快捷键(默认:’O‘)即可打开存储界面。
存储系统
- 容量:默认存储容量即为最大值。它可以存储 21 亿种不同的物品或资源类型,每种类型可容纳 2^63^-1 个单位(Java
long的最大值)。最大存储类型数量、每种类型的容量以及扩展存储的方法均可通过 KubeJS 自定义。 - 性能:存储系统经过了大量优化。性能测试表明,无论是连接 AE2 还是仅使用本模组,都能获得出色的结果。具体测试结果请参阅性能测试部分。
- 多人游戏:存储系统通过玩家权限绑定网络。单个网络可以与多名玩家共享。或者,也可以通过物品形式的终端实现共享。
UI 界面
直观的存储界面:本模组提供的界面遵循与 AE2 和 RS 等热门存储模组一致的交互逻辑。
- 内置合成网格。
- 多种搜索模式:直接输入文本可搜索名称、工具提示或模组 ID。前缀
#可严格匹配工具提示。前缀@可严格匹配模组 ID。 - 可自定义显示物品行数。
- 多种排序选项:按存储时间、按数量、按名称、按模组 ID。
通用槽位系统:本模组任何 GUI 中的任何槽位都可以存储所有支持的资源类型,并支持快速交互机制。
快速容器操作:手持对应容器右键点击槽位,可快速从容器中存入/取出资源。例如:手持潜影盒、精妙背包或任何容器右键点击槽位,可快速将物品存入容器;右键点击空槽位,可快速从容器中取出物品并放入槽位。此操作支持流体、通用机械的化学品,甚至 FE 能量。
自动化支持与实用工具
本模组提供了用于自动化的方块和实用物品。这些方块需要绑定到网络,且大多支持红石控制,从而能够通过存储与其他模组进行交互。
- 维度网络通道:显示维度网络中的全部存储内容。支持通过管道、漏斗、AE2/RS存储总线和精妙背包卸货升级进行输入/输出。
- 维度网络能量通道:功能与网络通道几乎相同,但专用于FE能量传输。界面会显示当前FE能量流量。支持“弹出模式”,可向相邻方块输出FE,速率最高为21亿FE/刻。
- 网络接口:类似ME接口。设有“样板槽”和“存储槽”。会尝试将已存储资源输入网络,并从网络中提取样板槽标记的资源。支持弹出模式。
- 网络抽取器:主动从相邻容器中抽取资源,并将其存入维度网络。设有过滤槽,支持黑名单/白名单模式。
- 网络漏斗:吸收附近的物品实体,甚至流动液体,并将其直接存入网络。工作范围可调(从2格到整个区块)。范围越大,工作间隔越长。设有过滤槽,支持黑名单/白名单模式。
- 网络熔炉:可标记配方(输入物品和燃料)。会自动从网络中提取标记的资源进行冶炼。支持使用FE或熔岩作为燃料。成品可弹出到相邻容器,或存回网络。
- 网络喂食器:当玩家饥饿值低于设定阈值时,会从网络中取出标记的食物喂给玩家。不会消耗Neverending Bacon或Eternal Steak等“无限”食物。可装备在Curios护符槽中。
- 网络磁铁:类似网络漏斗,但可以随身携带。吸收物品实体的频率高于网络漏斗。可通过快捷键切换。可装备在Curios护符槽中。
- 主手物品快速转移:中键点击方块,可立即从网络中取出一组与手持物品类型相同的物品。潜行+中键点击,可将手持物品放回网络。此按键绑定可配置。
模组联动与支持
- 支持在JEI/EMI中拖放幽灵物品以标记配方材料,并快速传输配方。
- JEI/EMI的幽灵物品标记功能可识别存储在AE2 Generic Stack中的物品。
- 添加了一个AE2维度ME存储元件,用于读取已绑定网络的内容。其性能比使用存储总线高出10倍以上。
- 支持存储Mekanism的化学品。
- 合成网格支持Polymorph模组。
- 便携式网络终端可装备在Curios护符槽中。安装Curios后再安装Beyond Dimensions,会额外增加一个护符槽。
- KubeJS支持:提供多个类,可用于自定义网络创建逻辑、初始容量、扩容方式以及直接操作存储。
- 由于Inventory Profiles Next (IPN)模组对界面进行了大量修改,导致两者不兼容,因此本模组的界面中会禁用IPN。快速转移物品请改用Mouse Tweaks。
附属模组开发与KubeJS自定义帮助
附属模组开发
通过代码添加新的可存储资源类型十分简单。实现以下接口,并注册资源类型及相应的处理器:
IStackType– 使模组能够识别并存储此资源类型。IStackHandlerWrapper– 使模组能够以编程方式与持有此资源的容器/模组方块进行交互。CapabilityHelper.BlockCapabilityMap– 允许其他模组的管道/存储总线从方块中访问此资源类型。CapabilityHelper.ItemCapabilityMap– 为持有此资源的物品启用快速容器槽位交互(中键点击)。UnifiedStorage.typedHandlerMap– 允许维度网络核心存储操作此资源。StackTypedHandler.typedHandlerMap– 允许外围方块(如网络接口)在其内部槽位中操作此资源。
AE2 的特殊兼容性,即使跳过也不妨碍使用存储总线进行读取:
AEHelper.ISTACK_TO_AEKEY_MAP– 将 Beyond Dimensions 资源对象映射到 AE2 键(用于读取维度 ME 存储元件)。AEHelper.AEKEY_TO_STACK_TYPE_MAP– 将 AE2 键映射回 Beyond Dimensions 资源类型(用于维度 ME 存储元件操作)。
有关实现示例,请参阅模组的主注册文件(BeyondDimensions.java)。注意:注册细节可能会在未来版本中发生变化。
KubeJS 自定义帮助
要自定义网络容量:
- 禁用默认的维度网络生成器配方。
- 使用提供的 KubeJS 暴露的类/方法来实现你自己的网络创建和扩展逻辑。
| 类名 | 方法签名 | 返回类型 | 静态 | 用途 |
| :——————- | :——————————————————————————- | :————— | :—– | :——————————————————————————————————————————————————————- |
| DimensionsNet | createNewNetForPlayer(Player player, long defaultSlotCapability, int defaultSlotMaxSize) | DimensionsNet | 是 | 为指定玩家创建一个维度网络。defaultSlotCapability:每种资源类型的最大单位数。defaultSlotMaxSize:资源类型的最大数量。 |
| | getNetFromId(int id, MinecraftServer dataProvider) | DimensionsNet | 是 | 根据数字 ID 获取 DimensionsNet 对象。 |
| | getNetFromPlayer(Player player) | DimensionsNet | 是 | 获取与指定玩家绑定的 DimensionsNet。 |
| | getUnifiedStorage() | UnifiedStorage | 否 | 获取代表此网络存储内容的 UnifiedStorage 对象。 |
| UnifiedStorage | setSlotCapacity(long capacity) | void | 否 | 设置此网络中每种资源类型的最大存储容量(单位数)。 |
| | setSlotMaxSize(int maxSize) | void | 否 | 设置此网络可存储的不同资源类型的最大数量。 |
此外,该模组还向 KubeJS 暴露了其他一些类。详情请见此处。
UnifiedStorage 类还包含许多其他方法,可直接修改玩家的存储内容。
该模组的 API 附有完整的中文注释。请点击此处查看。
其他信息
性能测试
测试在同一台机器、相同的后台条件下,使用 Spark 模组进行了三种场景的测试。所有测试均使用了 1319 个随机生成的不同物品。
- 独立使用 Beyond Dimensions:通过 Beyond Dimensions 存储/修改物品。使用 Mekanism 管道输入/输出。
- 通过 AE2 存储元件使用 Beyond Dimensions:通过 Dimensional ME Storage Cell 将网络连接到 AE2。使用 Mekanism 管道输入/输出。
- 原生 AE2 存储:将物品存储在标准 AE2 驱动器中(21 个 64k 存储元件)。使用 Mekanism 管道输入/输出。
注意:场景 1 使用 Beyond Dimensions 方块(Dimensional Network Pathway、Network Interface),体现该模组的核心性能。场景 2 和 3 使用完全相同的 AE2 设置(导出总线、ME 接口、无限频道),仅存储来源不同,因此可以直接比较。
结果:
| 测试环境 | TPS | MSPT(中位数) | MSPT(第 95 百分位) | 已加载区块 | 实体数量 |
| :—————————- | –: | ———–: | ———–: | ———–: | ———–: |
| 独立使用 Beyond Dimensions | 20 | 3.67 | 4.86 | 2601 | 13 |
| AE2 + Dimensional ME Cell | 20 | 2.97 | 3.37 | 2601 | 13 |
| AE2 原生存储 | 20 | 2.70 | 3.08 | 2601 | 13 |
详细的 Spark 性能分析和测试设置信息请见此处。
路线图(即将推出的功能)
- 将原版物品/流体存储的最大容量改为 64 位整数(已完成)。
- 经验值(XP)存储及实用工具。
- Ars Nouveau Source 存储及实用工具。
- 精致存储(RS)专用存储组件。
- 添加进度机制(初始仅提供有限存储空间,需要扩展)。
- 更多自动化实用功能和工具。
- 更多实用物品和装备。
支持的版本
| MC 版本 | 加载器 | 模组版本 | 状态 |
| :——— | :——– | :———- | :—————– |
| 1.21.1 | Neoforge | 0.3.0+ | 持续更新中 |
| 1.20.1 | Forge / Neoforge | 0.3.0+ | 持续更新中 |
| 1.12.2 | Forge | 0.1.7.4 | 仅维护(只修复严重问题) |
在当前支持版本的路线图基本完成之前,暂不计划支持其他 Minecraft 版本。
常见问题
Beyond Dimensions 支持哪些 Minecraft 版本?
Beyond Dimensions 支持 Minecraft Java 版 1.12.2–26.3,共 8 个版本,可用的加载器:Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。
Beyond Dimensions 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。
FrostbiteTime 的其他作品
查看全部 →
Applied Pneumatics
An add-on connects AE2 and Pneumatic Craft.
OMNI Cells
A Mod provider AE2 Omni Cells
AE2 Crystal Science
An addon for AE2 that brings back the Purified Crystal concept and builds a full progression around it.
AE2 OMNI Cells
A Mod provider AE2 Omni Cells.
评论
登录后评论和评分