StorageBusInventoryHandler(appeng.me.storage.StorageBusInventoryHandler)

基本信息

属性 值
源码 appeng/me/storage/StorageBusInventoryHandler.java
类声明行号 15
继承 extends MEInventoryHandler<T>(me/storage/MEInventoryHandler.java:37)
泛型约束 T extends IAEStack<T>
构造器 :17,两个参数 (IMEInventory<T> i, IAEStackType<T> type)

职责

存储总线专用的 handler。它的存在意义是优先级可见性: 存储总线在 ME 端要显示「按优先级排序的内容」,这与 cell 的排序规则不同。

覆写了什么

方法 行号 与父类的差异
getAvailableItems(IItemList<T>, int) 22 覆写
getAvailableItems(IItemList<T>, int, Optional<Predicate<T>>) 27 覆写
getAvailableItemsWithPriority(int iteration) 63 新增 —— 返回 PrioritizedNetworkItemList

⚠️ 注意:本类没有覆写 getAvailableItemsFilter(父类的 protected 扩展点, me/storage/MEInventoryHandler.java:156),而是直接覆写两个公开的 getAvailableItems 重载。这与 CellInventoryHandler 的做法不同 —— 两条路都有效,但风格不统一。

getAvailableItemsWithPriority 的归属

该方法也出现在 NetworkMonitor(:147)与 NetworkInventoryHandler(:403)上,返回类型统一为 PrioritizedNetworkItemList。

三者的分工:

类 角色
StorageBusInventoryHandler 单条总线自己的优先级视图
NetworkInventoryHandler 全网聚合后的优先级视图
NetworkMonitor IMEMonitor 层面的只读封装

生命周期钩子

无。不是 IGridCache。handler 随存储总线 part 的挂载 / 卸载 由 GridStorageCache.addNode / removeNode (me/cache/GridStorageCache.java:165 / :143)驱动。

与既有维度的关系

相关条目