Beyond Dimensions 0.8.5 for 1.20.1 forge
Curse Maven Snippet
What's new
English
0.8.5 rebuilds every screen on CompixelUI and adds custom category tabs, a work area in the storage screen, side configuration for machines, the Machine Configuration Talisman and the Stock Emitter. It requires CompixelUI and Kotlin; read the breaking changes at the end before updating.
Interface
- Every screen is rebuilt on CompixelUI: a window with a tab rail on the left and main and settings pages, in the Beyond Dimensions Casing style.
- Screens open and close with short animations.
- Four color schemes: Beyond Dimensions Casing (default), Glass (translucent), Vanilla and Brass. The palette button on each window opens an editor for every color, and resource packs can add schemes.
- Text uses CompixelUI's pixel font. Fluid and chemical amounts under one bucket show as
<1instead of a decimal. - The Energy Network screen shows the average flow and bar charts of the stored energy and of input and output over the last half minute. The server records them for every network, so they are complete as soon as the screen opens.
Storage
- Create your own category tabs with an icon, a name, a search rule and hand-picked resources. Right-click a tab, or its row in the tab list, to edit, move or delete it, or drag it to reorder. Categories are saved per player and work in every network.
- New search syntax:
~matches resource types (for example~fluid),%matches durability (for example%<50) and&matches extra data (for example&enchant).*matches the ID of every resource, not only items, and\makes any following character literal, including@,#,-and|. - Right-click a stored resource with an empty hand to take one, take a chosen amount or add it to a category. Turn off "Right-click menu" on the settings page to take half instead, as in vanilla.
- Space + left-click moves everything at once: on your inventory or hotbar, every item in that part; on a stored resource, as much of it as possible; on a machine's slots, its whole storage. Shift + double-click moves every identical item from your inventory or the machine's slots.
- While holding a container (bucket, tank, battery, backpack and others), left-click a stored resource to fill the container and right-click to empty it into the network. Hold Shift to transfer as much as possible.
- While Shift is held the grid doesn't rearrange; resources you empty stay in place showing 0 until you release it.
- The grid can be wider than nine columns: set its columns and maximum rows on the settings page, and it narrows to fit the screen.
- A work area below the grid replaces the crafting screen and shows one workbench at a time: Crafting Table, Anvil, Smithing Table or Stonecutter, chosen from the dropdown at its top left. When the grid is wide enough, the work area sits beside your inventory so the grid keeps more rows. The rail button expands or collapses it, and both choices are remembered.
- The Anvil, Smithing Table and Stonecutter follow vanilla's rules. The Smithing Table shows vanilla's outlines in its empty slots, and the Stonecutter's list has a scrollbar and scrolls one row per wheel notch.
- Each player has their own workbenches, saved on the server and shared by the network screen (O key), the Network Terminal and the Portable Network Terminal. With "Keep items on close" on the settings page their items stay for next time; otherwise they are returned when you close the screen.
- The buttons at the top right of the work area return a workbench's items to the storage or your inventory, and the arrow beside them chooses where items go first when a workbench is cleared.
- Like the Crafting Table, the Stonecutter refills its input from the storage, then your inventory, so the selected recipe stays.
- Space + left-click the product of the Crafting Table or Stonecutter to keep crafting until your inventory is full, Shift + left-click it to make a stack, or Space + left-click an input slot to clear the inputs.
- Tab only moves the focus into and out of the search box.
- Switching between the storage and the Primary Network Switcher no longer moves the mouse pointer to the center.
Machines
- New Machine Configuration Talisman, crafted from paper, redstone and a Space-Time Ingot. Right-click a machine to copy its settings, Shift + right-click to paste, and Ctrl + right-click to paste to it and every connected machine of the same kind (up to 256). For item machines, hold the talisman in the off hand and the machine in the main hand.
- Side configuration for the Network Interface, the Network Furnace, Blast Furnace and Smoker, the Dimensional Network Energy Pathway and the Network Pump: set each face, relative to the machine's front, to input, output, both or disabled. The Network Pump's faces are input or disabled, and it only pulls through input faces.
- The Network Interface, Dimensional Network Energy Pathway and Network Pump face the player when placed.
- Fuzzy match switches for the filter slots of the Network Pump, Network Hopper and Network Magnet.
- Network Magnet: its settings are grouped into collecting, filtering and destination. Choose where picked-up items go (network only, network first, inventory first or inventory only), and mark exceptions that go to the other place instead.
- Network Feeder: new "No waste" mode, which feeds only when none of the food is wasted.
- New block: Stock Emitter. It emits a redstone signal while the network holds at least, or less than, a set amount of a marked resource, with optional fuzzy matching.
- A Network Terminal placed on a floor or ceiling faces the player.
- The Schematic Interface has a front, its blueprint face, which faces the player when placed.
Compatibility
- Jade shows what Network Interfaces and Network Furnaces hold, one line per resource, instead of listing their empty slots and tanks. Dimensional Network Pathways no longer list the whole network's storage.
- KubeJS server scripts can add storage rules with
UnifiedStorageRules,InsertPlanandExtractPlan. - JEI and EMI fill stonecutting, smithing and anvil recipes into their own workbench and switch the work area to it; the Stonecutter also selects the recipe.
- With Polymorph installed, the Crafting Table's recipe choice is at the top right of the work area.
- Create 0.5.1 is supported as well as Create 6. With 0.5.1, a Network Interface on a contraption moves as an ordinary block instead of serving as the contraption's storage.
Fixes
- Resources that can't be read for now are no longer discarded, for example items and fluids from a mod you've temporarily removed. They are kept as Error Data items and restored once the mod is back.
- Block updates send only the data the client needs.
- Deleted networks no longer accept resources. Storage screens close when their network is deleted or, for screens opened with a key, when you are no longer a member.
- Fixed duplicating items by filling or emptying containers on machine slots, and an exploit that took items out of virtual slots through vanilla click packets.
- When the network can't hold all the experience deposited with the XP Rod, the rest is refunded at the correct rate.
- Fixed Ars Nouveau setting a network's source to its full capacity instead of the requested amount.
- Taking resources out of the network checks what the destination accepts first, instead of taking them and putting the rest back.
- A recipe that would create an oversized Compressed Matter Orb is refused with a message, and orbs nest at most 16 levels deep.
- Fixed stretched textures on the edges of the Network Pump.
- The Unstable Space-Time Fragment uses the configured transfer time instead of always taking an hour.
- Translations completed and corrected for all ten languages.
- Fuzzy extraction is more efficient and takes the variant the network holds the most of, and networks no longer mark themselves for saving every tick.
For modpack makers and developers
- New guides in English and Chinese, for modpacks and servers (KubeJS, storage rules, color schemes, commands and configuration) and for add-on developers (networks and storage, resource types, machine settings, screens). See the README.
- Published to the wintercogs Maven repository together with its sources.
- New APIs: storage rules (
UnifiedStorageRules,InsertPlan,ExtractPlan); data attached to networks, saved with them or kept in memory (NetDataType,BDRegistries.NET_DATA_TYPE_KEY); tasks run in every network's tick (NetTickTasks); machine settings (MachineSetting,MachineType,Machine,MachineItem,SettingEditor,BDMachineSettings); pages and server actions on Beyond Dimensions' screens (BdPages,BdPage,BdMenuActions); workbenches in the storage work area, with an availability check when the storage opens (StorageWorkbenchTypes,StorageWorkbenches,ClearableWidget,RecipeFillWidget,BatchCraftWidget,PlayerWorkbenches); slot interactions (SlotInteractions,SlotClick);UnifiedStorage.extractInto;IStackHandler.getFuzzyMatches;IStackKey.getSourceId.
Breaking changes
For players, modpacks and servers:
- CompixelUI and Kotlin are now required: install Kotlin for Forge, or use the CompixelUI file whose name ends in
-with-kotlin. - Forge 47.2.18 or newer is required.
- Every screen is new. The built-in resource type tabs are gone; create category tabs instead.
- The configuration was reorganized, and moved or renamed options return to their defaults:
- the storage screen settings moved from the common config to the client config,
beyonddimensions-client.toml; - the Network Interface options moved from the common config to the server config, under
interface, andinterfaceBlockedInputStackTypesbecameinterface.blocked_input_types; fragmentTransferTimeandcrystalGenerateTimebecamespace_time.fragment_transfer_timeandspace_time.crystal_generate_time.
- the storage screen settings moved from the common config to the client config,
- The Network Terminal no longer has one crafting grid shared by all players; each player has their own. Items left in an old Network Terminal or Portable Network Terminal go to the storage, then to the inventory of the player who opens it, and the rest drops at their feet. An old Network Terminal broken before being opened drops them.
- By default the workbenches empty when you close the screen; turn on "Keep items on close" to keep their items.
- While holding a container, left-click now fills it and right-click empties it.
- Middle-click no longer stores or takes resources in Beyond Dimensions' screens. The XP Rod retrieves experience with a left-click on liquid experience instead.
- The Shift + Z key was removed; recipe viewer search sync is a setting on the storage screen.
- Network Interfaces, Dimensional Network Energy Pathways and Network Pumps placed before this version face north.
- Resource packs: full blocks now use one texture per face (
textures/block/<block>/<face>.png, withonandofffolders for lit or powered states), the Network Terminal uses a JSON model instead of OBJ, and the old screen textures are gone. - KubeJS:
UnifiedStorageBeforeInsertHandlerandUnifiedStorageBeforeExtractHandlerwere removed; useUnifiedStorageRules,InsertPlanandExtractPlanin server scripts. - KubeJS: the bindings take the classes' own names.
IStackTypedHandler,StackTypedHandler,IStackType,ItemStackType,FluidStackTypeandEnergyStackTypeare nowIStackHandler,StackHandler,IStackKey,ItemStackKey,FluidStackKeyandEnergyStackKey, andKeyAmountis new.
For developers:
- Removed
ButtonState,UnifiedStorageBeforeInsertHandlerandUnifiedStorageBeforeExtractHandler; storage hooks are now rules inUnifiedStorageRules. IStackKey.deserializeNBTCommonis lenient: keys that cannot be read become Error Data instead of failing.IStackKey.deserializeNBTStrictkeeps the old behavior.DimensionsNet.getNetFromPlayeris deprecated for removal; usegetPrimaryNetFromPlayer.NetedBlockEntitysyncs only client data:getUpdateTag,getUpdatePacket,handleUpdateTagandonDataPacketare final. OverridesaveClientDataandloadClientData, and callsyncToClientwhen that data changes.- Machines keep their settings as registered
MachineSettings instead of separate fields. - The old screens, packets and widgets were removed. Screens use CompixelUI and menus sync through its menu sync; extend them with
BdPages,BdMenuActionsandSlotInteractions. - The storage menus include the work area, so
DimensionsCraftMenuandDimensionsCraftMenuTerminalwere removed; useDimensionsNetMenuorDimensionsNetTerminalMenuandmenu.crafting(). The menu typesdimensions_craft_menuanddimensions_craft_menu_terminalwere replaced bydimensions_net_terminal_menu, andNetMenuTypenow hasNET_MENUandNET_TERMINAL. - Open storage menus with
DimensionsNetMenu.open(player, provider). A storage menu opened another way offers every workbench without checking availability. AbstractUnorderedStackHandler.unzipMatterBallwas removed; Compressed Matter Orbs unpack through the built-in storage rulebeyonddimensions:uncompress_matter_ball.
中文
0.8.5 将所有界面改用 CompixelUI 重做,并新增自定义分类标签、存储界面的工作区、机器面配置、机器配置符和存量发信器。本版需要 CompixelUI 和 Kotlin,更新前请先阅读文末的破坏性改动。
界面
- 所有界面改用 CompixelUI 重做:窗口左侧为页签栏,右侧为主页面和设置页,采用超维机壳风格。
- 界面打开和关闭时有简短的动画。
- 提供超维机壳(默认)、玻璃(半透明)、原版、黄铜四种配色。点击窗口上的调色板按钮可以修改任意颜色,资源包可以添加配色。
- 文字改用 CompixelUI 的像素字体。不足一桶的流体和化学品显示为
<1,不再显示小数。 - 能量网络界面以柱状图显示近半分钟的存量与收支,并显示平均收支。柱状图的数据由服务端为每个网络记录,打开界面时就是完整的。
存储界面
- 支持自定义分类标签,可设置图标、名称、搜索式和手动挑选的资源。右键标签或标签列表中对应的一行可以编辑、移动或删除,也可以拖动排序。分类按玩家保存,在所有网络中通用。
- 新增搜索写法:
~匹配资源类型(如~fluid),%匹配耐久(如%<50),&匹配额外数据(如&enchant)。*可以匹配所有资源的 ID,不再只限于物品;\后的任意字符都按原样搜索,包括@、#、-和|。 - 空手右键存储中的资源,可以取出一个、取出指定数量或加入分类。在设置页关闭“右键打开菜单”后,改为像原版一样取出一半。
- 空格 + 左键整批转移:点背包或快捷栏时转移该部分的全部物品,点存储中的资源时转移尽可能多的数量,点机器槽位时转移该机器存储的全部资源。Shift + 双击转移背包或机器槽位中所有完全相同的物品。
- 手持容器(桶、储罐、电池、背包等)时,左键存储中的资源装入容器,右键将容器中的内容排入网络;按住 Shift 尽可能多地转移。
- 按住 Shift 时存储格不重新排列,取空的资源留在原位显示为 0,松开后再整理。
- 存储格可以超过 9 列:在设置页设置列数和最多行数,屏幕较小时自动收窄。
- 存储格下方新增工作区,取代原来的合成界面,一次显示一个工作台:合成台、铁砧、锻造台或切石机,在工作区左上角的下拉框中选择。存储格足够宽时,工作区与背包并排,存储格能多显示几行。侧栏按钮可以展开或收起工作区,选择与展开状态都会记住。
- 铁砧、锻造台与切石机的规则与原版相同。锻造台的空槽像原版一样显示底纹;切石机的产物列表带滚动条,滚轮一格滚动一行。
- 工作台改为每个玩家各一份,保存在服务器上,由 O 键打开的网络界面、网络终端和便携网络终端共用。开启设置页的“关闭后保留工作台里的物品”后物品会留到下次;未开启时物品在关闭界面时退回。
- 工作区右上角的按钮可以把工作台里的物品退回存储或背包,旁边的箭头决定工作台清空时物品优先退回哪里。
- 切石机像合成台一样先从存储、再从背包补充原料,选中的配方不会丢失。
- 空格 + 左键点合成台或切石机的产物连续制作,直到背包放满;Shift + 左键点产物制作一组;空格 + 左键点原料槽清空原料。
- Tab 键只用于进入和退出搜索框。
- 在存储和主网络切换器之间切换时,鼠标指针不再跳到屏幕中央。
机器
- 新增机器配置符,由纸、红石和时空锭合成。右键机器复制设置,Shift + 右键粘贴,Ctrl + 右键粘贴到该机器及所有相连的同类机器(最多 256 台)。物品形式的机器需副手持配置符、主手持机器操作。
- 网络接口、网络熔炉、网络高炉、网络烟熏炉、维度网络能量通道和网络泵新增面配置:以机器正面为基准,每个面可设为输入、输出、双向或禁用。网络泵的面只能设为输入或禁用,且只从输入面抽取。
- 网络接口、维度网络能量通道和网络泵放置时正面朝向玩家。
- 网络泵、网络漏斗和网络磁铁的过滤槽新增模糊匹配开关。
- 网络磁铁的设置分为收集、过滤和去向三组;可以选择物品去向(仅网络、优先网络、优先背包、仅背包),并标记例外物品,改送另一处。
- 网络喂食器新增“不浪费”模式,食物恢复的饱食度能全部吃下时才喂食。
- 新增方块存量发信器:网络中标记资源的数量不少于或少于设定值时发出红石信号,可开启模糊匹配。
- 网络终端放在地面或天花板上时朝向玩家。
- 蓝图接口新增正面(图纸面),放置时朝向玩家。
模组联动
- Jade 显示网络接口和网络熔炉中存放的资源,同种资源合并为一项,不再列出空槽位和空储罐;维度网络通道不再列出整个网络的资源。
- KubeJS 服务端脚本可以通过
UnifiedStorageRules、InsertPlan和ExtractPlan添加存储规则。 - JEI 与 EMI 会把切石、锻造与铁砧配方填进对应的工作台,并把工作区切换到该工作台;切石机同时选中该配方。
- 装有 Polymorph 时,合成台的配方选择位于工作区右上角。
- 支持机械动力 0.5.1 与 6。使用 0.5.1 时,动态结构上的网络接口作为普通方块随结构移动,不作为动态结构的存储。
修复
- 现在不会丢弃暂时无法解析的资源,例如暂时移除的模组中的物品和流体。它们会保存为“错误数据”物品,模组装回后自动还原。
- 方块更新只发送客户端需要的数据。
- 已删除的网络不再接收资源。网络被删除时,或通过快捷键打开存储的玩家已不是成员时,存储界面会关闭。
- 修复在机器槽位上用容器装入或排出时复制物品的问题,以及通过原版点击数据包从虚拟槽位凭空取出物品的漏洞。
- 用经验棒存入经验而网络存不下时,剩余部分按正确的比例退还。
- 修复新生魔艺设置网络魔源时,数量被设为容量上限而非请求数量的问题。
- 从网络取出资源时先确认目标能接收的数量,不再取出后再把剩余部分放回。
- 合成会生成数据量过大的压缩物质球时拒绝并提示;压缩物质球最多嵌套 16 层。
- 修复网络泵边缘的贴图拉伸。
- 不稳定时空碎片改为按配置的转化时间计时,不再固定为一小时。
- 补全并修正十种语言的翻译。
- 模糊取出性能更佳,并优先取网络中数量最多的变体;网络不再每刻标记为需要保存。
整合包作者与开发者
- 新增中英文指南,面向整合包和服务器(KubeJS、存储规则、配色、命令与配置)和附属开发(网络与存储、资源类型、机器设置、界面),见 README。
- 发布到 wintercogs Maven 仓库,附带源码包。
- 新增 API:存储规则(
UnifiedStorageRules、InsertPlan、ExtractPlan);网络挂接数据,可随网络保存或只在内存中(NetDataType、BDRegistries.NET_DATA_TYPE_KEY);在每个网络每刻运行的任务(NetTickTasks);机器设置(MachineSetting、MachineType、Machine、MachineItem、SettingEditor、BDMachineSettings);超越维度界面的附属页面与服务器动作(BdPages、BdPage、BdMenuActions);存储工作区的工作台,可以在打开存储界面时判断玩家能否使用(StorageWorkbenchTypes、StorageWorkbenches、ClearableWidget、RecipeFillWidget、BatchCraftWidget、PlayerWorkbenches);槽位交互(SlotInteractions、SlotClick);UnifiedStorage.extractInto;IStackHandler.getFuzzyMatches;IStackKey.getSourceId。
破坏性改动
玩家、整合包与服务器:
- 现在需要 CompixelUI 和 Kotlin:安装 Kotlin for Forge,或使用文件名以
-with-kotlin结尾的 CompixelUI。 - 需要 Forge 47.2.18 或更新版本。
- 所有界面均已重做。内置的资源类型标签已移除,可改用自定义分类标签。
- 配置已重新整理,移动或更名的选项会恢复默认值:
- 存储界面的设置从通用配置移到客户端配置
beyonddimensions-client.toml; - 网络接口的选项从通用配置移到服务端配置的
interface下,interfaceBlockedInputStackTypes改为interface.blocked_input_types; fragmentTransferTime和crystalGenerateTime改为space_time.fragment_transfer_time和space_time.crystal_generate_time。
- 存储界面的设置从通用配置移到客户端配置
- 网络终端不再有所有玩家共用的合成格,改为每个玩家各一份。旧版网络终端和便携网络终端中留下的物品,在打开时依次送回存储和打开者的背包,放不下的掉落在其脚下;未打开就被拆除的旧网络终端会掉出这些物品。
- 工作台默认在关闭界面时清空,开启“关闭后保留工作台里的物品”即可保留。
- 手持容器时,改为左键装入、右键排出。
- 在超越维度的界面中,中键不再存入或取出资源;经验棒改为左键点击经验流体取出经验。
- 移除 Shift + Z 快捷键,配方查看器搜索同步改为存储界面中的设置。
- 此前放置的网络接口、维度网络能量通道和网络泵正面朝北。
- 资源包:完整方块的贴图改为每个面一个文件(
textures/block/<方块>/<面>.png,点亮或通电的状态分on和off文件夹),网络终端改用 JSON 模型,旧的界面贴图已删除。 - KubeJS:移除
UnifiedStorageBeforeInsertHandler和UnifiedStorageBeforeExtractHandler,请在服务端脚本中改用UnifiedStorageRules、InsertPlan和ExtractPlan。 - KubeJS:绑定改用类本身的名称,
IStackTypedHandler、StackTypedHandler、IStackType、ItemStackType、FluidStackType和EnergyStackType改为IStackHandler、StackHandler、IStackKey、ItemStackKey、FluidStackKey和EnergyStackKey,并新增KeyAmount。
开发者:
- 移除
ButtonState、UnifiedStorageBeforeInsertHandler和UnifiedStorageBeforeExtractHandler,存储钩子改为UnifiedStorageRules中的规则。 IStackKey.deserializeNBTCommon改为宽松解析:无法解析的资源键变为错误数据,不再报错;IStackKey.deserializeNBTStrict保留原有行为。DimensionsNet.getNetFromPlayer标记为将要移除,请改用getPrimaryNetFromPlayer。NetedBlockEntity只向客户端同步客户端数据:getUpdateTag、getUpdatePacket、handleUpdateTag和onDataPacket改为 final。请重写saveClientData和loadClientData,并在这些数据变化时调用syncToClient。- 机器设置改为注册的
MachineSetting,不再使用各自的字段。 - 移除旧的界面、数据包和控件。界面基于 CompixelUI,菜单通过它的菜单同步;扩展界面请使用
BdPages、BdMenuActions和SlotInteractions。 - 存储菜单包含了工作区,因此移除了
DimensionsCraftMenu与DimensionsCraftMenuTerminal,请改用DimensionsNetMenu或DimensionsNetTerminalMenu与menu.crafting()。菜单类型dimensions_craft_menu与dimensions_craft_menu_terminal由dimensions_net_terminal_menu取代,NetMenuType现在只有NET_MENU与NET_TERMINAL。 - 存储菜单需要用
DimensionsNetMenu.open(player, provider)打开;以其他方式打开时不判断工作台能否使用,所有工作台都会出现。 - 移除
AbstractUnorderedStackHandler.unzipMatterBall;压缩物质球改由内置存储规则beyonddimensions:uncompress_matter_ball拆开。
This mod has no additional files

